1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-09 20:52:56 +01:00
invoiceninja/app/Services/BaseService.php
2016-04-27 19:13:29 +03:00

51 lines
1.1 KiB
PHP

<?php namespace App\Services;
use Auth;
use Illuminate\Foundation\Bus\DispatchesJobs;
use App\Services\DatatableService;
class BaseService
{
use DispatchesJobs;
protected function getRepo()
{
return null;
}
public function bulk($ids, $action)
{
if ( ! $ids ) {
return 0;
}
$entities = $this->getRepo()->findByPublicIdsWithTrashed($ids);
foreach ($entities as $entity) {
if(Auth::user()->can('edit', $entity)){
$this->getRepo()->$action($entity);
}
}
return count($entities);
}
public function createDatatable($entityType, $query, $showCheckbox = true, $hideClient = false)
{
$columns = $this->getDatatableColumns($entityType, !$showCheckbox);
$actions = $this->getDatatableActions($entityType);
return $this->datatableService->createDatatable($entityType, $query, $columns, $actions, $showCheckbox);
}
protected function getDatatableColumns($entityType, $hideClient)
{
return [];
}
protected function getDatatableActions($entityType)
{
return [];
}
}