permissions() public method

A role may be given various permissions.
public permissions ( ) : Illuminate\Database\Eloquent\Relations\BelongsToMany
return Illuminate\Database\Eloquent\Relations\BelongsToMany
Esempio n. 1
0
 /**
  * Assign permissions to role
  */
 public function updatePermissions(Request $request, Role $role)
 {
     $permissions = $request->checkedPermissions ?: [];
     // $permissions = array of submitted permissions OR if all checkboxes were unchecked, make it an empty array
     $role->permissions()->sync($permissions);
     logThis('Permissions for ' . $role->label . ' changed to ' . $role->permissions()->lists('label'));
     return $role->load('permissions');
 }
Esempio n. 2
0
 /**
  * Method for stroring a new role in the database.
  *
  * @param RoleRequest $request
  * @return mixed
  */
 public function store(RoleRequest $request)
 {
     $role = new Role($request->all());
     $role->save();
     if (is_null($request->get('permissions'))) {
         $role->permissions()->sync([]);
     } else {
         $role->permissions()->sync($request->get('permissions'));
     }
     return redirect(route('rbac.roles.index'))->withSuccess('You have successfully created a new role.');
 }
 /**
  * Seed Data Source
  *
  * @author EB
  * @return void
  */
 protected function seedDataSource()
 {
     Model::unguard();
     $role = new \App\Role();
     $role->name = 'rosu';
     $role->display_name = 'Read Only Super User';
     $role->description = 'Read only user who can see everything';
     $role->save();
     $permissions = ['merchants-view', 'users-view', 'roles-view', 'locations-view', 'applications-view', 'reports-view'];
     foreach ($permissions as $permission) {
         try {
             $perm = \App\Permission::where('name', '=', $permission)->first();
             $role->permissions()->sync([$perm->id], false);
         } catch (Exception $e) {
         }
     }
     Model::reguard();
 }
 /**
  * Sync up the list of permissions
  * @param  User $user
  * @param  array   $permissions
  * @return void
  */
 private function syncPermissions(Role $role, array $permissions)
 {
     $role->permissions()->sync($permissions);
 }