Inheritance: extends Illuminate\Database\Eloquent\Model, implements Cartalyst\Sentinel\Roles\RoleInterface, implements Cartalyst\Sentinel\Permissions\PermissibleInterface, use trait Cartalyst\Sentinel\Permissions\PermissibleTrait
Example #1
0
 /**
  * Processes the form.
  *
  * @param  string  $mode
  * @param  int     $id
  * @return \Illuminate\Http\RedirectResponse
  */
 protected function processForm($mode, $id = null)
 {
     $input = Input::all();
     //dd ($input);
     if ($input['permissions'] === 'true') {
         $input['permissions'] = ['admin' => true];
     } else {
         $input['permissions'] = ['admin' => false];
     }
     $rules = ['name' => 'required', 'slug' => 'required|unique:roles'];
     if ($id) {
         $role = $this->roles->find($id);
         $rules['slug'] .= ",slug,{$role->slug},slug";
         $messages = $this->validateRole($input, $rules);
         if ($messages->isEmpty()) {
             $role->fill($input);
             $role->save();
         }
     } else {
         $messages = $this->validateRole($input, $rules);
         if ($messages->isEmpty()) {
             $role = $this->roles->create($input);
         }
     }
     if ($messages->isEmpty()) {
         return Redirect::to(route('admin.roles.index'))->with('success', 'Role Updated!');
     }
     return Redirect::back()->withInput()->withErrors($messages);
 }
Example #2
0
 public function rules($id = '')
 {
     switch (Request::method()) {
         case 'GET':
         case 'DELETE':
             return [];
         case 'POST':
             return $rules = ['name' => 'required|unique:roles', 'slug' => 'required|unique:roles', 'permissions_list' => 'required|array'];
         case 'PUT':
         case 'PATCH':
             $role = $this->roles->find($id);
             return $rules = ['name' => 'required|unique:roles,id,' . $role->id, 'slug' => 'required|unique:roles,id,' . $role->id, 'permissions_list' => 'required|array'];
         default:
             break;
     }
 }
Example #3
0
 /**
  * Delete a Role.
  *
  * @param  RoleRequest  $request
  * @param  int  $rid
  * @return Response
  */
 public function destroy(RoleRequest $request, $rid)
 {
     try {
         if ($rid == 1) {
             return response()->error(403, 'System Administrator cannot be deleted!');
         }
         $role = Role::find($rid);
         if (!$role) {
             return response()->error(404, 'Role Not Found');
         }
         if ($role->users()->count()) {
             return response()->error(409, 'There are still users assigned to this role!');
         }
         $role->delete();
         return response()->success();
     } catch (Exception $e) {
         return response()->error();
     }
 }
 /**
  * Processes the form.
  *
  * @param  string  $mode
  * @param  int     $id
  * @return \Illuminate\Http\RedirectResponse
  */
 protected function processForm($mode, $id = null)
 {
     $input = Input::all();
     $rules = ['name' => 'required', 'slug' => 'required|unique:roles'];
     if ($id) {
         $role = $this->roles->find($id);
         $rules['slug'] .= ",slug,{$role->slug},slug";
         $messages = $this->validateRole($input, $rules);
         if ($messages->isEmpty()) {
             $role->fill($input);
             $role->save();
         }
     } else {
         $messages = $this->validateRole($input, $rules);
         if ($messages->isEmpty()) {
             $role = $this->roles->create($input);
         }
     }
     if ($messages->isEmpty()) {
         return Redirect::to('roles');
     }
     return Redirect::back()->withInput()->withErrors($messages);
 }
Example #5
0
 public function testUsersModelGetterAndSetter()
 {
     EloquentRole::setUsersModel('Cartalyst\\Sentinel\\Users\\EloquentUser');
     $this->assertEquals('Cartalyst\\Sentinel\\Users\\EloquentUser', EloquentRole::getUsersModel());
 }
Example #6
0
 /**
  * {@inheritDoc}
  */
 public function getAll()
 {
     return $this->role->all();
 }
Example #7
0
 /**
  * Delete a role
  * @param $id
  * @return mixed
  */
 public function delete($id)
 {
     $role = $this->role->find($id);
     return $role->delete();
 }
Example #8
0
 /**
  * @param      $permission
  * @param bool $value
  *
  * @return $this
  */
 public function addPermission($permission, $value = true)
 {
     $permission = strtolower($permission);
     return parent::addPermission($permission, $value);
 }