From 6e54e38f345be712561d4d7d88a109c1c1033855 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Tue, 26 Mar 2019 17:30:19 +0800 Subject: [PATCH 1/4] Prepare project issue filter --- resources/lang/de/issue.php | 18 ++++++++++-------- resources/lang/en/issue.php | 20 +++++++++++--------- resources/lang/id/issue.php | 18 ++++++++++-------- resources/views/projects/issues/index.blade.php | 5 +++++ 4 files changed, 36 insertions(+), 25 deletions(-) diff --git a/resources/lang/de/issue.php b/resources/lang/de/issue.php index 2d81052..2841cb4 100644 --- a/resources/lang/de/issue.php +++ b/resources/lang/de/issue.php @@ -42,14 +42,16 @@ return [ 'creator' => 'Issue Creator', // Priority - 'minor' => 'Minor', - 'major' => 'Major', - 'critical' => 'Critical', + 'minor' => 'Minor', + 'major' => 'Major', + 'critical' => 'Critical', + 'all_priority' => 'All Priority', // Statuses - 'open' => 'Open', - 'resolved' => 'Resolved', - 'closed' => 'Closed', - 'on_hold' => 'On Hold', - 'invalid' => 'Invalid', + 'open' => 'Open', + 'resolved' => 'Resolved', + 'closed' => 'Closed', + 'on_hold' => 'On Hold', + 'invalid' => 'Invalid', + 'all_status' => 'All Status', ]; diff --git a/resources/lang/en/issue.php b/resources/lang/en/issue.php index 1be2737..4c68a2a 100644 --- a/resources/lang/en/issue.php +++ b/resources/lang/en/issue.php @@ -42,15 +42,17 @@ return [ 'creator' => 'Issue Creator', // Priority - 'priority' => 'Priority', - 'minor' => 'Minor', - 'major' => 'Major', - 'critical' => 'Critical', + 'priority' => 'Priority', + 'minor' => 'Minor', + 'major' => 'Major', + 'critical' => 'Critical', + 'all_priority' => 'All Priority', // Statuses - 'open' => 'Open', - 'resolved' => 'Resolved', - 'closed' => 'Closed', - 'on_hold' => 'On Hold', - 'invalid' => 'Invalid', + 'open' => 'Open', + 'resolved' => 'Resolved', + 'closed' => 'Closed', + 'on_hold' => 'On Hold', + 'invalid' => 'Invalid', + 'all_status' => 'All Status', ]; diff --git a/resources/lang/id/issue.php b/resources/lang/id/issue.php index 3946ac5..873be9e 100644 --- a/resources/lang/id/issue.php +++ b/resources/lang/id/issue.php @@ -42,14 +42,16 @@ return [ 'creator' => 'Pembuat Issue', // Priority - 'minor' => 'Minor', - 'major' => 'Major', - 'critical' => 'Critical', + 'minor' => 'Minor', + 'major' => 'Major', + 'critical' => 'Critical', + 'all_priority' => 'Semua Priority', // Statuses - 'open' => 'Open', - 'resolved' => 'Selesai', - 'closed' => 'Ditutup', - 'on_hold' => 'Ditunda', - 'invalid' => 'Tidak Valid', + 'open' => 'Open', + 'resolved' => 'Selesai', + 'closed' => 'Ditutup', + 'on_hold' => 'Ditunda', + 'invalid' => 'Tidak Valid', + 'all_status' => 'Semua Status', ]; diff --git a/resources/views/projects/issues/index.blade.php b/resources/views/projects/issues/index.blade.php index cfcfbde..00e070a 100755 --- a/resources/views/projects/issues/index.blade.php +++ b/resources/views/projects/issues/index.blade.php @@ -3,6 +3,11 @@ @section('subtitle', __('project.issues')) @section('action-buttons') +{{ Form::open(['method' => 'get', 'class' => 'form-inline', 'style' => 'display:inline']) }} +{!! FormField::select('priority_id', [], ['label' => false, 'placeholder' => __('issue.all_priority')]) !!} +{!! FormField::select('status_id', [], ['label' => false, 'placeholder' => __('issue.all_status')]) !!} +{{ Form::submit(__('app.filter'), ['class' => 'btn btn-info']) }} +{{ Form::close() }} @can('create', new App\Entities\Projects\Issue) {!! html_link_to_route('projects.issues.create', __('issue.create'), $project, ['class' => 'btn btn-success', 'icon' => 'plus']) !!} @endcan From 54f3389df10112f7f85b4eb6a220af9616a40104 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Tue, 26 Mar 2019 17:33:47 +0800 Subject: [PATCH 2/4] Add priority and issue status dropdown --- resources/views/projects/issues/index.blade.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/resources/views/projects/issues/index.blade.php b/resources/views/projects/issues/index.blade.php index 00e070a..7c4f020 100755 --- a/resources/views/projects/issues/index.blade.php +++ b/resources/views/projects/issues/index.blade.php @@ -1,11 +1,13 @@ +@inject('priorities', 'App\Entities\Projects\Priority') +@inject('issueStatuses', 'App\Entities\Projects\IssueStatus') @extends('layouts.project') @section('subtitle', __('project.issues')) @section('action-buttons') {{ Form::open(['method' => 'get', 'class' => 'form-inline', 'style' => 'display:inline']) }} -{!! FormField::select('priority_id', [], ['label' => false, 'placeholder' => __('issue.all_priority')]) !!} -{!! FormField::select('status_id', [], ['label' => false, 'placeholder' => __('issue.all_status')]) !!} +{!! FormField::select('priority_id', $priorities::toArray(), ['label' => false, 'placeholder' => __('issue.all_priority'), 'value' => request('priority_id')]) !!} +{!! FormField::select('status_id', $issueStatuses::toArray(), ['label' => false, 'placeholder' => __('issue.all_status'), 'value' => request('status_id')]) !!} {{ Form::submit(__('app.filter'), ['class' => 'btn btn-info']) }} {{ Form::close() }} @can('create', new App\Entities\Projects\Issue) From 456f5a2446541810abfaf11f578c259d554ac74b Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Tue, 26 Mar 2019 17:37:40 +0800 Subject: [PATCH 3/4] Apply filter issue by priority and and status --- app/Http/Controllers/Projects/IssueController.php | 15 ++++++++++++--- resources/lang/id/issue.php | 2 +- resources/views/projects/issues/index.blade.php | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Projects/IssueController.php b/app/Http/Controllers/Projects/IssueController.php index 99e4463..97c46e2 100644 --- a/app/Http/Controllers/Projects/IssueController.php +++ b/app/Http/Controllers/Projects/IssueController.php @@ -15,11 +15,20 @@ class IssueController extends Controller { public function index(Project $project) { - $issues = $project->issues() + $issueQuery = $project->issues() ->orderBy('updated_at', 'desc') ->with(['pic', 'creator']) - ->withCount(['comments']) - ->get(); + ->withCount(['comments']); + + if ($priorityId = request('priority_id')) { + $issueQuery->where('priority_id', $priorityId); + } + + if ($statusId = request('status_id')) { + $issueQuery->where('status_id', $priorityId); + } + + $issues = $issueQuery->get(); return view('projects.issues.index', compact('project', 'issues')); } diff --git a/resources/lang/id/issue.php b/resources/lang/id/issue.php index 873be9e..120fd46 100644 --- a/resources/lang/id/issue.php +++ b/resources/lang/id/issue.php @@ -9,7 +9,7 @@ return [ 'all' => 'Semua Issue', 'select' => 'Pilih Issue', 'detail' => 'Detail Issue', - 'not_found' => 'Issue tidak ditemukan', + 'not_found' => 'Issue tidak ditemukan.', 'empty' => 'Belum ada Issue', 'back_to_show' => 'Kembali ke detail Issue', 'back_to_index' => 'Kembali ke daftar Issue', diff --git a/resources/views/projects/issues/index.blade.php b/resources/views/projects/issues/index.blade.php index 7c4f020..629b524 100755 --- a/resources/views/projects/issues/index.blade.php +++ b/resources/views/projects/issues/index.blade.php @@ -56,7 +56,7 @@ @empty - {{ __('issue.empty') }} + {{ __('issue.not_found') }} @endforelse From a42292c6c9a83e74d9b753de4fbd697eb45960b1 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Tue, 26 Mar 2019 17:41:16 +0800 Subject: [PATCH 4/4] Add reset button on filtered issue listing page --- resources/views/projects/issues/index.blade.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/resources/views/projects/issues/index.blade.php b/resources/views/projects/issues/index.blade.php index 629b524..383a6bf 100755 --- a/resources/views/projects/issues/index.blade.php +++ b/resources/views/projects/issues/index.blade.php @@ -9,6 +9,9 @@ {!! FormField::select('priority_id', $priorities::toArray(), ['label' => false, 'placeholder' => __('issue.all_priority'), 'value' => request('priority_id')]) !!} {!! FormField::select('status_id', $issueStatuses::toArray(), ['label' => false, 'placeholder' => __('issue.all_status'), 'value' => request('status_id')]) !!} {{ Form::submit(__('app.filter'), ['class' => 'btn btn-info']) }} +@if (request(['priority_id', 'status_id'])) + {{ link_to_route('projects.issues.index', __('app.reset'), $project, ['class' => 'btn btn-default']) }} +@endif {{ Form::close() }} @can('create', new App\Entities\Projects\Issue) {!! html_link_to_route('projects.issues.create', __('issue.create'), $project, ['class' => 'btn btn-success', 'icon' => 'plus']) !!}