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()
{
}
/**
* 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()
{
return '$NAMESPACE$\$STUDLY_NAME$';
return 'Modules\$STUDLY_NAME$\Models\$STUDLY_NAME$';
}
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::resource('$LOWER_NAME$', '$STUDLY_NAME$Controller');
Route::post('$LOWER_NAME$/bulk', '$STUDLY_NAME$Controller@bulk');
Route::get('api/$LOWER_NAME$', '$STUDLY_NAME$Controller@datatable');
});

View File

@ -1,5 +1,6 @@
<?php namespace App\Ninja\Repositories;
use Auth;
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
* @return mixed