Browse Source

User can change issue status

pull/37/head
Nafies Luthfi 7 years ago
parent
commit
bf52f5b3af
  1. 4
      app/Http/Controllers/Issues/PicController.php
  2. 4
      app/Http/Controllers/Projects/IssueController.php
  3. 6
      resources/lang/de/issue.php
  4. 6
      resources/lang/en/issue.php
  5. 6
      resources/lang/id/issue.php
  6. 1
      resources/views/projects/issues/show.blade.php
  7. 22
      tests/Feature/Projects/ProjectIssuesTest.php

4
app/Http/Controllers/Issues/PicController.php

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

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

@ -7,6 +7,7 @@ use Illuminate\Http\Request;
use App\Entities\Projects\Issue;
use App\Entities\Projects\Project;
use App\Http\Controllers\Controller;
use App\Entities\Projects\IssueStatus;
class IssueController extends Controller
{
@ -45,9 +46,10 @@ class IssueController extends Controller
public function show(Project $project, Issue $issue)
{
$statuses = IssueStatus::toArray();
$users = User::pluck('name', 'id');
return view('projects.issues.show', compact('project', 'issue', 'users'));
return view('projects.issues.show', compact('project', 'issue', 'users', 'statuses'));
}
public function edit(Project $project, Issue $issue)

6
resources/lang/de/issue.php

@ -42,5 +42,9 @@ return [
'creator' => 'Issue Creator',
// Statuses
'open' => 'Open',
'open' => 'Open',
'resolved' => 'Resolved',
'closed' => 'Closed',
'on_hold' => 'On Hold',
'invalid' => 'Invalid',
];

6
resources/lang/en/issue.php

@ -42,5 +42,9 @@ return [
'creator' => 'Issue Creator',
// Statuses
'open' => 'Open',
'open' => 'Open',
'resolved' => 'Resolved',
'closed' => 'Closed',
'on_hold' => 'On Hold',
'invalid' => 'Invalid',
];

6
resources/lang/id/issue.php

@ -42,5 +42,9 @@ return [
'creator' => 'Pembuat Issue',
// Statuses
'open' => 'Open',
'open' => 'Open',
'resolved' => 'Selesai',
'closed' => 'Ditutup',
'on_hold' => 'Ditunda',
'invalid' => 'Tidak Valid',
];

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

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

22
tests/Feature/Projects/ProjectIssuesTest.php

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