diff --git a/app/Actions/Invite/CreateInvite.php b/app/Actions/Invite/CreateInvite.php index 7ee264ef..e3640aee 100644 --- a/app/Actions/Invite/CreateInvite.php +++ b/app/Actions/Invite/CreateInvite.php @@ -14,14 +14,11 @@ class CreateInvite { public static function execute(Workspace $workspace, array $data): Invite { - $role = WorkspaceRole::tryFrom((string) data_get($data, 'role', WorkspaceRole::Member->value)) - ?? WorkspaceRole::Member; - $invite = Invite::create([ 'account_id' => $workspace->account_id, 'invited_by' => auth()->id(), 'email' => data_get($data, 'email'), - 'role' => $role, + 'role' => WorkspaceRole::from((string) data_get($data, 'role')), 'workspaces' => [$workspace->id], ]); diff --git a/app/Http/Controllers/Auth/AcceptInviteController.php b/app/Http/Controllers/Auth/AcceptInviteController.php index fa7454e9..ea0db7f7 100644 --- a/app/Http/Controllers/Auth/AcceptInviteController.php +++ b/app/Http/Controllers/Auth/AcceptInviteController.php @@ -4,7 +4,6 @@ namespace App\Http\Controllers\Auth; -use App\Enums\UserWorkspace\Role; use App\Http\Controllers\Controller; use App\Models\Invite; use App\Models\Workspace; @@ -25,7 +24,7 @@ public function show(Invite $invite): Response $firstWorkspaceId = collect($invite->workspaces ?? [])->first(); $workspace = $firstWorkspaceId ? Workspace::find($firstWorkspaceId) : null; - $role = $invite->role ?? Role::Member; + $role = $invite->role; return Inertia::render('auth/AcceptInvite', [ 'invite' => [ @@ -82,7 +81,7 @@ public function accept(Request $request, Invite $invite): RedirectResponse if ($workspace && $workspace->account_id === $invite->account_id) { $workspace->members()->syncWithoutDetaching([ - $user->id => ['role' => Role::Member->value], + $user->id => ['role' => $invite->role->value], ]); // Set first workspace as current diff --git a/app/Http/Requests/App/Invite/StoreWorkspaceInviteRequest.php b/app/Http/Requests/App/Invite/StoreWorkspaceInviteRequest.php index 5ec895be..4c27759a 100644 --- a/app/Http/Requests/App/Invite/StoreWorkspaceInviteRequest.php +++ b/app/Http/Requests/App/Invite/StoreWorkspaceInviteRequest.php @@ -28,7 +28,7 @@ public function rules(): array { return [ 'email' => ['required', 'email', 'max:255'], - 'role' => ['nullable', Rule::in(array_column(WorkspaceRole::cases(), 'value'))], + 'role' => ['required', Rule::in(array_column(WorkspaceRole::cases(), 'value'))], ]; } diff --git a/lang/en/settings.php b/lang/en/settings.php index 08c621d1..66e184fd 100644 --- a/lang/en/settings.php +++ b/lang/en/settings.php @@ -225,8 +225,7 @@ 'cancel' => 'Cancel', 'remove' => 'Remove', - 'make_admin' => 'Make admin', - 'make_member' => 'Make member', + 'make_role' => 'Make :role', 'invite' => [ 'title' => 'Invite Member', diff --git a/lang/es/settings.php b/lang/es/settings.php index 43182aea..5225bd0c 100644 --- a/lang/es/settings.php +++ b/lang/es/settings.php @@ -225,8 +225,7 @@ 'cancel' => 'Cancelar', 'remove' => 'Eliminar', - 'make_admin' => 'Hacer administrador', - 'make_member' => 'Hacer miembro', + 'make_role' => 'Hacer :role', 'invite' => [ 'title' => 'Invitar miembro', diff --git a/lang/pt-BR/settings.php b/lang/pt-BR/settings.php index be6da392..00594e70 100644 --- a/lang/pt-BR/settings.php +++ b/lang/pt-BR/settings.php @@ -225,8 +225,7 @@ 'cancel' => 'Cancelar', 'remove' => 'Remover', - 'make_admin' => 'Tornar administrador', - 'make_member' => 'Tornar membro', + 'make_role' => 'Tornar :role', 'invite' => [ 'title' => 'Convidar Membro', diff --git a/resources/js/components/settings/UsersTab.vue b/resources/js/components/settings/UsersTab.vue index 240ad5f0..5463726e 100644 --- a/resources/js/components/settings/UsersTab.vue +++ b/resources/js/components/settings/UsersTab.vue @@ -1,7 +1,7 @@