Exemplo n.º 1
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     $rules = ['password' => 'confirmed|min:6'];
     if (Auth::user()->admin) {
         $rules['username'] = '******';
         $rules['institution_id'] = 'integer';
     }
     $this->validate($request, $rules);
     if (Auth::user()->admin) {
         $data = Input::only(['username', 'institution_id', 'admin']);
         $data['admin'] = Input::has('admin') ? true : false;
         if (empty($data['institution_id'])) {
             $data['institution_id'] = null;
         }
     }
     $data['password'] = Input::get('password');
     if (!empty($data['password'])) {
         $data['password'] = bcrypt($data['password']);
     } else {
         unset($data['password']);
     }
     User::find($id)->update($data);
     return Redirect::route(Auth::user()->admin ? 'users.index' : 'home');
 }