From 7b30caff8eaec92770c7e856660c2ff4089fa010 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Tue, 19 Mar 2019 22:23:11 +0800 Subject: [PATCH] User can create issue with selected priority --- app/Entities/Projects/Issue.php | 4 +++- app/Entities/Projects/Priority.php | 1 - app/Http/Controllers/Projects/IssueController.php | 22 +++++++++++++--------- resources/lang/en/issue.php | 1 + resources/views/projects/issues/create.blade.php | 1 + tests/Feature/Projects/ProjectIssuesTest.php | 18 ++++++++++-------- 6 files changed, 28 insertions(+), 19 deletions(-) diff --git a/app/Entities/Projects/Issue.php b/app/Entities/Projects/Issue.php index 535276f..1e69c8b 100644 --- a/app/Entities/Projects/Issue.php +++ b/app/Entities/Projects/Issue.php @@ -8,7 +8,9 @@ use Illuminate\Database\Eloquent\Model; class Issue extends Model { - protected $fillable = ['project_id', 'title', 'body', 'pic_id', 'creator_id']; + protected $fillable = [ + 'project_id', 'title', 'body', 'priority_id', 'pic_id', 'creator_id', + ]; public function project() { diff --git a/app/Entities/Projects/Priority.php b/app/Entities/Projects/Priority.php index 2e61f52..da953f1 100644 --- a/app/Entities/Projects/Priority.php +++ b/app/Entities/Projects/Priority.php @@ -13,7 +13,6 @@ class Priority extends ReferenceAbstract ]; protected static $colors = [ - 0 => 'yellow', 1 => 'info', 2 => 'warning', 3 => 'danger', diff --git a/app/Http/Controllers/Projects/IssueController.php b/app/Http/Controllers/Projects/IssueController.php index 86fb337..09ea564 100644 --- a/app/Http/Controllers/Projects/IssueController.php +++ b/app/Http/Controllers/Projects/IssueController.php @@ -6,6 +6,7 @@ use App\Entities\Users\User; use Illuminate\Http\Request; use App\Entities\Projects\Issue; use App\Entities\Projects\Project; +use App\Entities\Projects\Priority; use App\Http\Controllers\Controller; use App\Entities\Projects\IssueStatus; @@ -21,23 +22,26 @@ class IssueController extends Controller public function create(Project $project) { $users = User::pluck('name', 'id'); + $priorities = Priority::toArray(); - return view('projects.issues.create', compact('project', 'users')); + return view('projects.issues.create', compact('project', 'users', 'priorities')); } public function store(Request $request, Project $project) { $issueData = $request->validate([ - 'title' => 'required|max:60', - 'body' => 'required|max:255', - 'pic_id' => 'nullable|exists:users,id', + 'title' => 'required|max:60', + 'body' => 'required|max:255', + 'priority_id' => 'required|in:1,2,3', + 'pic_id' => 'nullable|exists:users,id', ]); Issue::create([ - 'project_id' => $project->id, - 'creator_id' => auth()->id(), - 'title' => $issueData['title'], - 'body' => $issueData['body'], - 'pic_id' => $issueData['pic_id'], + 'project_id' => $project->id, + 'creator_id' => auth()->id(), + 'title' => $issueData['title'], + 'body' => $issueData['body'], + 'priority_id' => $issueData['priority_id'], + 'pic_id' => $issueData['pic_id'], ]); flash(__('issue.created'), 'success'); diff --git a/resources/lang/en/issue.php b/resources/lang/en/issue.php index 2d81052..1be2737 100644 --- a/resources/lang/en/issue.php +++ b/resources/lang/en/issue.php @@ -42,6 +42,7 @@ return [ 'creator' => 'Issue Creator', // Priority + 'priority' => 'Priority', 'minor' => 'Minor', 'major' => 'Major', 'critical' => 'Critical', diff --git a/resources/views/projects/issues/create.blade.php b/resources/views/projects/issues/create.blade.php index c7a7da7..1422715 100755 --- a/resources/views/projects/issues/create.blade.php +++ b/resources/views/projects/issues/create.blade.php @@ -18,6 +18,7 @@
{!! FormField::text('title', ['label' => __('issue.title')]) !!} {!! FormField::textarea('body', ['label' => __('issue.body')]) !!} + {!! FormField::radios('priority_id', $priorities, ['label' => __('issue.priority'), 'placeholder' => false]) !!} {!! FormField::select('pic_id', $users, ['label' => __('issue.pic')]) !!}