/**
  * 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);
 }
Beispiel #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;
     }
 }
Beispiel #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);
 }
Beispiel #5
0
 /**
  * Delete a role
  * @param $id
  * @return mixed
  */
 public function delete($id)
 {
     $role = $this->role->find($id);
     return $role->delete();
 }