Ejemplo n.º 1
0
 /**
  *  Function instance the acl of a particular profile
  *
  * @access	public
  * @param   integer     $profile
  * @return	\Zend\Permissions\Acl\Acl
  */
 public static function getProfileAcl($profile)
 {
     $acl = new AclLibrary();
     // get all resources in application
     $resources = Resource::all();
     // get all permissions fron this profile
     $permissions = Permission::getRecord($profile);
     // set profile id
     $acl->addRole(new Role($profile));
     // add resources to acl element
     foreach ($resources as $resource) {
         $acl->addResource(new AclResource($resource->id_007));
     }
     // add resources to acl element
     foreach ($permissions as $permission) {
         $acl->allow($profile, $permission->resource_id_009, $permission->action_id_009);
     }
     return $acl;
 }
Ejemplo 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])]);
 }