diff --git a/app/Actions/Projects/DeleteProject.php b/app/Actions/Projects/DeleteProject.php index aa4e53d..ba4bd81 100644 --- a/app/Actions/Projects/DeleteProject.php +++ b/app/Actions/Projects/DeleteProject.php @@ -17,12 +17,16 @@ public function delete(User $user, Project $project): void } if ($user->current_project_id == $project->id) { - /** @var Project $randomProject */ - $randomProject = $user->projects()->where('id', '!=', $project->id)->first(); - $user->current_project_id = $randomProject->id; - $user->save(); + throw ValidationException::withMessages([ + 'project' => __('Cannot delete your current project.'), + ]); } + /** @var Project $randomProject */ + $randomProject = $user->projects()->where('project_id', '!=', $project->id)->first(); + $user->current_project_id = $randomProject->id; + $user->save(); + $project->delete(); } } diff --git a/app/Http/Controllers/Settings/ProjectController.php b/app/Http/Controllers/Settings/ProjectController.php index 712beaa..4f15b2e 100644 --- a/app/Http/Controllers/Settings/ProjectController.php +++ b/app/Http/Controllers/Settings/ProjectController.php @@ -55,9 +55,6 @@ public function delete(Project $project): RedirectResponse /** @var User $user */ $user = auth()->user(); - /** @var Project $project */ - $project = $user->projects()->findOrFail($project->id); - try { app(DeleteProject::class)->delete($user, $project); } catch (ValidationException $e) {