Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 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])]);
 }
Exemplo n.º 3
0
 public function updateCustomRecord($parameters)
 {
     Action::where('id_008', $parameters['id'])->update(['id_008' => $this->request->input('id'), 'name_008' => $this->request->input('name')]);
 }
Exemplo n.º 4
0
 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']]);
 }