public function jsonData() { // get parameters from url route $parameters = $this->request->route()->parameters(); $actionsAcl = Action::get(); $acl = AclLibrary::getProfileAcl($parameters['profile']); $parameters = Miscellaneous::dataTablePaginate($this->request, $parameters); $parameters = Miscellaneous::dataTableSorting($this->request, $parameters, $this->indexColumns); $parameters = Miscellaneous::dataTableFiltering($this->request, $parameters); // set columns in parameters array $parameters['indexColumns'] = $this->indexColumns; $parametersCount = $parameters; $parametersCount['count'] = true; // get data to table $objects = call_user_func($this->model . '::getIndexRecords', $this->request, $parameters); $iFilteredTotal = call_user_func($this->model . '::getIndexRecords', $this->request, $parametersCount); $iTotal = call_user_func($this->model . '::countRecords', $this->request, $parameters); // get properties of model class $class = new \ReflectionClass($this->model); $response = ["sEcho" => intval($this->request->input('sEcho')), "iTotalRecords" => $iTotal, "iTotalDisplayRecords" => $iFilteredTotal, "aaData" => []]; // instance model to get primary key $instance = new $this->model(); $aObjects = $objects->toArray(); $i = 0; foreach ($aObjects as $aObject) { $row = []; foreach ($this->indexColumns as $indexColumn) { $row[] = $aObject[$indexColumn]; } $actions = '<div><select id="re' . $aObject[$instance->getKeyName()] . '" data-resource="' . $aObject[$instance->getKeyName()] . '" data-nresource="' . $aObject['name_007'] . '" multiple style="width: 100%;">'; foreach ($actionsAcl as $actionAcl) { $selected = $acl->allows($aObject['id_007'], $actionAcl->id_008, $parameters['profile']) ? ' selected' : null; $actions .= '<option value="' . $actionAcl->id_008 . '"' . $selected . '>' . $actionAcl->name_008 . '</option>'; } $actions .= '</select></div>'; $row[] = $actions; $response['aaData'][] = $row; $i++; } return response()->json($response); }
public function setAllPermissions() { // get parameters from url route $parameters = $this->request->route()->parameters(); $profile = Profile::find($parameters['id']); $resources = Resource::all(); $actions = Action::all(); $permissions = []; foreach ($resources as $resource) { foreach ($actions as $action) { $permissions[] = ['profile_id_009' => $parameters['id'], 'resource_id_009' => $resource->id_007, 'action_id_009' => $action->id_008]; } } Permission::deleteRecordsProfile($parameters['id']); Permission::insert($permissions); // if profile it's same that our profile, overwrite ours permissions if ($profile->id_006 == auth('pulsar')->user()->profile_id_010) { session(['userAcl' => AclLibrary::getProfileAcl(auth('pulsar')->user()->profile_id_010)]); } return redirect()->route($this->routeSuffix, $parameters)->with(['msg' => 1, 'txtMsg' => trans('pulsar::pulsar.message_create_all_permissions', ['profile' => $profile->name_006])]); }
public function updateCustomRecord($parameters) { Action::where('id_008', $parameters['id'])->update(['id_008' => $this->request->input('id'), 'name_008' => $this->request->input('name')]); }
public function run() { Action::insert([['id_008' => 'access', 'name_008' => 'Access'], ['id_008' => 'create', 'name_008' => 'Create'], ['id_008' => 'delete', 'name_008' => 'Delete'], ['id_008' => 'edit', 'name_008' => 'Edit'], ['id_008' => 'show', 'name_008' => 'Show']]); }