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/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..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', @@ -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..383a6bf 100755 --- a/resources/views/projects/issues/index.blade.php +++ b/resources/views/projects/issues/index.blade.php @@ -1,8 +1,18 @@ +@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', $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']) !!} @endcan @@ -49,7 +59,7 @@ @empty -