use Illuminate\Support\Facades\Hash;
use Oxbow\Http\Requests;
+use Oxbow\Repos\UserRepo;
use Oxbow\Services\SocialAuthService;
use Oxbow\User;
{
protected $user;
+ protected $userRepo;
/**
* UserController constructor.
* @param $user
*/
- public function __construct(User $user)
+ public function __construct(User $user, UserRepo $userRepo)
{
$this->user = $user;
+ $this->userRepo = $userRepo;
parent::__construct();
}
$this->checkPermissionOr('user-delete', function () use ($id) {
return $this->currentUser->id == $id;
});
- $user = $this->user->findOrFail($id);
+ $user = $this->userRepo->getById($id);
// Delete social accounts
+ if($this->userRepo->isOnlyAdmin($user)) {
+ session()->flash('error', 'You cannot delete the only admin');
+ return redirect($user->getEditUrl());
+ }
$user->socialAccounts()->delete();
$user->delete();
return redirect('/users');