diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 03f9f0584d8a..574596fa3b9c 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -196,7 +196,7 @@ class UserController extends BaseController */ public function destroy(DestroyUserRequest $request, User $user) { - if ($user->isOwner()) { + if ($user->hasOwnerFlag()) { return response()->json(['message', 'Cannot detach owner.'], 401); } diff --git a/app/Models/User.php b/app/Models/User.php index d6c023b61269..ca37b13755d5 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -372,9 +372,12 @@ class User extends Authenticatable implements MustVerifyEmail public function isOwner() : bool { return $this->token()->cu->is_owner; - } + public function hasOwnerFlag(): bool + { + return $this->company_users()->where('is_owner',true)->exists(); + } /** * Returns true is user is an admin _or_ owner * diff --git a/app/Repositories/UserRepository.php b/app/Repositories/UserRepository.php index 287d2d156a16..8a4996e04506 100644 --- a/app/Repositories/UserRepository.php +++ b/app/Repositories/UserRepository.php @@ -120,7 +120,7 @@ class UserRepository extends BaseRepository public function destroy(array $data, User $user) { - if ($user->isOwner()) { + if ($user->hasOwnerFlag()) { return $user; }