/**
  * @uses edita dados dos usuários e permissões do mesmo
  *
  * @param $id
  * @param UserRequest $request
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function update($id, UserRequest $request)
 {
     try {
         $usuario = User::findOrFail($id);
         $inputs = $request->all();
         if (strlen(trim($request->get('password'))) < 5) {
             $inputs = $request->except('password');
         } else {
             $inputs['password'] = \Hash::make($inputs['password']);
         }
         $usuario->update($inputs);
         $usuario->roles()->sync($request->get('roles', array()));
         $usuario->save();
         flash()->success('Usuário ' . $request->get('name') . ' editado com sucesso!');
         return redirect()->route('usuarios.index');
     } catch (ModelNotFoundException $e) {
         flash()->error('Desculpe, erro ao editar usuário.');
         return redirect()->route('usuarios.index');
     }
 }