From a3329973dfa8f94fd46f5f1156ed02152d095f2b Mon Sep 17 00:00:00 2001 From: Lupu Gheorghe Date: Mon, 9 Oct 2023 11:26:24 +0300 Subject: [PATCH] wip --- .../Controllers/Dashboard/ProjectController.php | 5 +++-- app/Traits/HasProjectStatus.php | 13 +++++++++++++ resources/js/Layouts/DashboardLayout.vue | 9 ++------- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Dashboard/ProjectController.php b/app/Http/Controllers/Dashboard/ProjectController.php index 7c0e2243..b77803f8 100644 --- a/app/Http/Controllers/Dashboard/ProjectController.php +++ b/app/Http/Controllers/Dashboard/ProjectController.php @@ -22,13 +22,14 @@ public function index(Request $request) { // TODO: fix issue with approved projects not being displayed $projectStatus = $request->get('project_status'); +// dd($projectStatus); return Inertia::render('AdminOng/Projects/Projects', [ 'query' => ProjectCardResource::collection( Project::query() ->where('organization_id', auth()->user()->organization_id) - ->when($projectStatus, function (Builder $query, $projectStatus) { - return $query->status($projectStatus); + ->when($projectStatus, function (Builder $query) use ($projectStatus) { + return $query->statusIs($projectStatus); }) ->paginate(16) ->withQueryString() diff --git a/app/Traits/HasProjectStatus.php b/app/Traits/HasProjectStatus.php index e7eecb14..67311f66 100644 --- a/app/Traits/HasProjectStatus.php +++ b/app/Traits/HasProjectStatus.php @@ -63,4 +63,17 @@ public function scopeWhereStartsSoon(): Builder ->whereDate('start', '>=', now()) ->orderBy('start'); } + public function scopeStatusIs($status): Builder + { +// dd($status); + return match ($status){ + 'pending' => $this->whereIsPending(), + 'approved' => $this->whereIsApproved(), + 'rejected' => $this->whereIsRejected(), + 'published' => $this->whereIsPublished(), + 'open' => $this->whereIsOpen(), + 'starts_soon' => $this->whereStartsSoon(), + default => $this->newQuery(), + }; + } } diff --git a/resources/js/Layouts/DashboardLayout.vue b/resources/js/Layouts/DashboardLayout.vue index 822c3ffc..f29aa710 100644 --- a/resources/js/Layouts/DashboardLayout.vue +++ b/resources/js/Layouts/DashboardLayout.vue @@ -102,7 +102,7 @@ icon: OfficeBuildingIcon, }, { - name: 'Proiectele mele', + name: 'Proiecte', route: route('dashboard.projects.index'), icon: FolderIcon, subMenu: [ @@ -118,15 +118,10 @@ route: route('dashboard.projects.index', { project_status: 'draft' }), icon: FolderRemoveIcon, }, - { - name: 'regional_projects', - route: route('dashboard.projects.regional.create'), - icon: FolderRemoveIcon, - }, ], }, { - name: 'Proiectele mele regionale', + name: 'Proiectele regionale', route: route('dashboard.projects.regional.index'), icon: FolderIcon, subMenu: [