This commit is contained in:
Hillel Coren 2016-12-09 00:34:24 +02:00
parent 07f76067e0
commit e11a04f30f
4 changed files with 38 additions and 1 deletions

View File

@ -126,4 +126,17 @@ class $CLASS$ extends BaseController
public function destroy() public function destroy()
{ {
} }
/**
* Update multiple resources
*/
public function bulk()
{
$action = request()->input('action');
$ids = request()->input('public_id') ?: request()->input('ids');
$count = $this->$LOWER_NAME$Repo->bulk($ids, $action);
return redirect()->to('$LOWER_NAME$')
->with('message', trans('texts.' . $action . '_$LOWER_NAME$_complete'));
}
} }

View File

@ -12,7 +12,7 @@ class $STUDLY_NAME$Repository extends BaseRepository
{ {
public function getClassName() public function getClassName()
{ {
return '$NAMESPACE$\$STUDLY_NAME$'; return 'Modules\$STUDLY_NAME$\Models\$STUDLY_NAME$';
} }
public function find($filter = null, $userId = false) public function find($filter = null, $userId = false)

View File

@ -3,5 +3,6 @@
Route::group(['middleware' => 'auth', 'namespace' => '$MODULE_NAMESPACE$\$STUDLY_NAME$\Http\Controllers'], function() Route::group(['middleware' => 'auth', 'namespace' => '$MODULE_NAMESPACE$\$STUDLY_NAME$\Http\Controllers'], function()
{ {
Route::resource('$LOWER_NAME$', '$STUDLY_NAME$Controller'); Route::resource('$LOWER_NAME$', '$STUDLY_NAME$Controller');
Route::post('$LOWER_NAME$/bulk', '$STUDLY_NAME$Controller@bulk');
Route::get('api/$LOWER_NAME$', '$STUDLY_NAME$Controller@datatable'); Route::get('api/$LOWER_NAME$', '$STUDLY_NAME$Controller@datatable');
}); });

View File

@ -1,5 +1,6 @@
<?php namespace App\Ninja\Repositories; <?php namespace App\Ninja\Repositories;
use Auth;
use Utils; use Utils;
/** /**
@ -98,6 +99,28 @@ class BaseRepository
} }
} }
/**
* @param $ids
* @param $action
* @return int
*/
public function bulk($ids, $action)
{
if ( ! $ids ) {
return 0;
}
$entities = $this->findByPublicIdsWithTrashed($ids);
foreach ($entities as $entity) {
if (Auth::user()->can('edit', $entity)) {
$this->$action($entity);
}
}
return count($entities);
}
/** /**
* @param $ids * @param $ids
* @return mixed * @return mixed