Browse Source

User can change issue priority

pull/37/head
Nafies Luthfi 7 years ago
parent
commit
7746ca7f2f
  1. 6
      app/Http/Controllers/Issues/OptionController.php
  2. 5
      app/Http/Controllers/Projects/IssueController.php
  3. 1
      resources/views/projects/issues/show.blade.php
  4. 24
      tests/Feature/Projects/ProjectIssuesTest.php

6
app/Http/Controllers/Issues/OptionController.php

@ -11,9 +11,11 @@ class OptionController extends Controller
public function update(Request $request, Issue $issue)
{
$issueData = $request->validate([
'status_id' => 'required|in:0,1,2,3,4',
'pic_id' => 'nullable|exists:users,id',
'priority_id' => 'required|in:1,2,3',
'status_id' => 'required|in:0,1,2,3,4',
'pic_id' => 'nullable|exists:users,id',
]);
$issue->priority_id = $issueData['priority_id'];
$issue->status_id = $issueData['status_id'];
$issue->pic_id = $issueData['pic_id'];
$issue->save();

5
app/Http/Controllers/Projects/IssueController.php

@ -50,10 +50,13 @@ class IssueController extends Controller
public function show(Project $project, Issue $issue)
{
$priorities = Priority::toArray();
$statuses = IssueStatus::toArray();
$users = User::pluck('name', 'id');
return view('projects.issues.show', compact('project', 'issue', 'users', 'statuses'));
return view('projects.issues.show', compact(
'project', 'issue', 'users', 'statuses', 'priorities'
));
}
public function edit(Project $project, Issue $issue)

1
resources/views/projects/issues/show.blade.php

@ -37,6 +37,7 @@
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">{{ __('app.action') }}</h3></div>
<div class="panel-body">
{!! FormField::radios('priority_id', $priorities, ['label' => __('issue.priority')]) !!}
{!! FormField::radios('status_id', $statuses, ['label' => __('app.status')]) !!}
{!! FormField::select('pic_id', $users, ['label' => __('issue.assign_pic'), 'placeholder' => __('issue.select_pic')]) !!}
</div>

24
tests/Feature/Projects/ProjectIssuesTest.php

@ -192,4 +192,28 @@ class ProjectIssuesTest extends TestCase
'status_id' => 2, // resolved
]);
}
/** @test */
public function user_can_change_issue_priority()
{
$this->adminUserSigningIn();
$worker = $this->createUser('worker');
$issue = factory(Issue::class)->create();
$this->visitRoute('projects.issues.show', [$issue->project, $issue]);
$this->submitForm(__('issue.update'), [
'priority_id' => 2, // major
'status_id' => 2, // resolved
'pic_id' => $worker->id,
]);
$this->seeRouteIs('projects.issues.show', [$issue->project, $issue]);
$this->seeText(__('issue.updated'));
$this->seeInDatabase('issues', [
'id' => $issue->id,
'pic_id' => $worker->id,
'priority_id' => 2, // major
'status_id' => 2, // resolved
]);
}
}
Loading…
Cancel
Save