/**
  * @param UpdateUserRequest $request
  * @param UserEntity $entity
  * @return $this|\Illuminate\Http\RedirectResponse
  */
 public function update(UpdateUserRequest $request, UserEntity $entity)
 {
     if ($this->user->email !== $request->get('email')) {
         $this->validate($request, ['email' => 'unique:app_users,email']);
     }
     DB::beginTransaction();
     try {
         $this->user->name = $request->get('name');
         $this->user->email = $request->get('email');
         if ($request->has('password')) {
             $this->validate($request, ['password' => 'required|confirmed|min:6']);
             $this->user->password = bcrypt($request->get('password'));
         }
         $this->user->save();
         $this->updateEntry($entity->getEntity()->id, $this->user->id, ['input' => $request->all()]);
         DB::commit();
         SweetAlert::success('Se ha editado su perfil', 'Excelente!')->autoclose(3500);
     } catch (EntryValidationException $e) {
         DB::rollBack();
         return back()->withInput($request->all())->withErrors($e->getErrors());
     }
     return redirect()->route('me.edit');
 }
 /**
  * Update a user
  * @param UpdateUserRequest $request
  * @param $uuid
  * @return $this|\Illuminate\Http\RedirectResponse
  */
 public function update(UpdateUserRequest $request, UserEntity $entity, $uuid)
 {
     $user = User::byUuid($uuid)->firstOrFail();
     if ($user->email !== $request->get('email')) {
         $this->validate($request, ['email' => 'unique:app_users,email']);
     }
     DB::beginTransaction();
     try {
         $user->name = $request->get('name');
         $user->email = $request->get('email');
         if ($request->has('active')) {
             $user->active = $request->get('active');
         }
         if ($request->has('password')) {
             $this->validate($request, ['password' => 'required|confirmed|min:6']);
             $user->password = bcrypt($request->get('password'));
         }
         $user->save();
         if ($request->has('roles')) {
             $user->roles()->sync($request->get('roles'));
         } else {
             $user->roles()->sync([]);
         }
         $this->updateEntry($entity->getEntity()->id, $user->id, ['input' => $request->all()]);
         DB::commit();
         SweetAlert::success('Se ha editado el Usuario', 'Excelente!')->autoclose(3500);
     } catch (EntryValidationException $e) {
         DB::rollBack();
         return back()->withInput($request->all())->withErrors($e->getErrors());
     }
     return redirect()->route('users.index');
 }