コード例 #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, Request $request)
 {
     $permissions = Module::with('permissions')->get();
     // find role by id
     $role = Sentinel::findRoleById($id);
     // inputs
     $data = $request->get('data');
     $value = $request->get('value');
     if (isset($role->permissions[$value])) {
         $role->updatePermission($value, $data == 'true' ? true : false);
         $role->save();
         return "update";
     } else {
         $role->addPermission($value, $data == 'true' ? true : false);
         $role->save();
         return "add";
     }
 }
コード例 #2
0
ファイル: RolesController.php プロジェクト: ernestodgr/miapp
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, Request $request)
 {
     /**
      * consulto el rol para actualizar
      */
     $role = Sentinel::findRoleById($id);
     /**
      * Obtengo los valores correspondiente al formulario
      */
     $name = $request->input('name');
     $create = $request->input('user_create');
     $delete = $request->input('user_delete');
     $view = $request->input('user_view');
     $update = $request->input('user_update');
     /**
      * creo el formato correspondiente para los permiso segun lo seleccionado
      */
     /*$permissions="{";
     		$permissions.= $create!=null?'"'.$create.'":true,':'"user.create":false,';
     		$permissions.= $delete!=null?'"'.$delete.'":true,':'"user.delete":false,';
     		$permissions.= $view  !=null?'"'.$view.  '":true,':'"user.view":false,';
     		$permissions.= $update!=null?'"'.$update.'":true' :'"user.update":false';
     		$permissions.="}";*/
     $permissions = array('user.create' => $create != null ? true : false, 'user.delete' => $delete != null ? true : false, 'user.view' => $view != null ? true : false, 'user.update' => $update != null ? true : false);
     try {
         $role->name = $name;
         $role->permissions = $permissions;
         $role->save();
     } catch (QueryException $e) {
         flash()->overlay("Ocurrió un error en el registro, consulte con el administrador <br/>Error:{$e}", 'Aviso');
         return redirect()->back()->withInput($request->all());
     }
     flash()->overlay('Tu registro ha sido modificado!', 'Aviso');
     return redirect("admin/roles");
 }
コード例 #3
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, Request $request)
 {
     //
     $fields = $request->except('optionsRadios', 'email');
     $fields['icon'] = "fa-envelope-o";
     $user_id = $request->get('user_id');
     $role_id = $request->get('role_id');
     $notification = Notification::find($id);
     if ($request->has('user_id')) {
         $notification->addUser($request->get('user_id'));
     }
     if ($request->has('role_id')) {
         $notification->addRole($request->get('role_id'));
     }
     if ($request->get('email') == 1) {
         if (strcmp($request->get('optionsRadios'), "users") == 0) {
             $user = User::findOrFail($user_id);
             // send email
             $notification->smail($user, $fields);
         } else {
             $role = Sentinel::findRoleById($role_id);
             $users = $role->users()->with('roles')->get();
             //send email
             foreach ($users as $user) {
                 $notification->smail($user, $fields);
             }
         }
     }
     $notification->fill($fields);
     $notification->save();
     flash()->success('La notificación ha sido actualizada.');
     return redirect()->to('notifications');
 }
コード例 #4
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     if (Sentinel::hasAccess('role.delete')) {
         $affectedRows = DB::table('role_users')->where('role_id', '=', $id)->get();
         if (empty($affectedRows)) {
             if ($role = Sentinel::findRoleById($id)) {
                 $role->delete();
             }
             return \Redirect::to('roles')->withErrors('No se pudo eliminar el rol.');
         }
     } else {
         return response()->json(['error' => 'No tiene permisos para acceder a esta area.'], 401);
     }
 }
コード例 #5
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $affectedRows = DB::table('role_users')->where('role_id', '=', $id)->get();
     if (empty($affectedRows)) {
         if ($role = Sentinel::findRoleById($id)) {
             $role->delete();
             $affectedRows = 1;
             return $affectedRows;
         }
         return \Redirect::to('roles')->withErrors('No se pudo eliminar el rol.');
     } else {
         $affectedRows = 0;
         return $affectedRows;
     }
 }
コード例 #6
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, Request $request, NotificationRequest $notificationRequest)
 {
     //
     $fields = $request->except('optionsRadios', 'email');
     $notification = Notification::find($id);
     if (!isset($fields['user_id'])) {
         $fields['user_id'] = NULL;
     }
     if (!isset($fields['role_id'])) {
         $fields['role_id'] = NULL;
     }
     if ($request->get('email') == 1) {
         if (strcmp($request->get('optionsRadios'), "users") == 0) {
             $user_id = $request->get('user_id');
             $user = User::findOrFail($user_id);
             Mail::send('emails.notification', ['user' => $user, 'fields' => $fields], function ($m) use($user, $fields) {
                 $m->to($user->email)->subject('Usted tiene una nueva notificación ' . $fields['title']);
             });
         } else {
             $role_id = $request->get('role_id');
             $role = Sentinel::findRoleById($role_id);
             $users = $role->users()->with('roles')->get();
             foreach ($users as $user) {
                 Mail::send('emails.notification', ['user' => $user, 'fields' => $fields], function ($m) use($user, $fields) {
                     $m->to($user->email)->subject('Usted tiene una nueva notificación ' . $fields['title']);
                 });
             }
         }
     }
     $notification->fill($fields);
     $notification->save();
     return \Redirect::to('notifications')->withSuccess('La notificación se ha sido actualizado.');
 }