Browse Source

Add issue priority label on issue list and detail page

pull/37/head
Nafies Luthfi 7 years ago
parent
commit
449a0ac45e
  1. 7
      app/Entities/Projects/Issue.php
  2. 2
      resources/views/projects/issues.blade.php
  3. 1
      resources/views/projects/issues/show.blade.php
  4. 10
      tests/Unit/Models/IssueTest.php

7
app/Entities/Projects/Issue.php

@ -32,6 +32,13 @@ class Issue extends Model
return Priority::getNameById($this->priority_id); return Priority::getNameById($this->priority_id);
} }
public function getPriorityLabelAttribute()
{
$classColor = Priority::getColorById($this->priority_id);
return '<span class="label label-'.$classColor.'">'.$this->priority.'</span>';
}
public function getStatusAttribute() public function getStatusAttribute()
{ {
return IssueStatus::getNameById($this->status_id); return IssueStatus::getNameById($this->status_id);

2
resources/views/projects/issues.blade.php

@ -17,6 +17,7 @@
<thead> <thead>
<th>{{ __('app.table_no') }}</th> <th>{{ __('app.table_no') }}</th>
<th>{{ __('issue.title') }}</th> <th>{{ __('issue.title') }}</th>
<th>{{ __('issue.priority') }}</th>
<th>{{ __('app.status') }}</th> <th>{{ __('app.status') }}</th>
<th>{{ __('issue.pic') }}</th> <th>{{ __('issue.pic') }}</th>
<th>{{ __('issue.creator') }}</th> <th>{{ __('issue.creator') }}</th>
@ -30,6 +31,7 @@
<tr id="{{ $issue->id }}"> <tr id="{{ $issue->id }}">
<td>{{ $no }}</td> <td>{{ $no }}</td>
<td>{{ $issue->title }}</td> <td>{{ $issue->title }}</td>
<td>{!! $issue->priority_label !!}</td>
<td>{!! $issue->status_label !!}</td> <td>{!! $issue->status_label !!}</td>
<td>{{ $issue->pic->name }}</td> <td>{{ $issue->pic->name }}</td>
<td>{{ $issue->creator->name }}</td> <td>{{ $issue->creator->name }}</td>

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

@ -22,6 +22,7 @@
<tbody> <tbody>
<tr><th class="col-md-4">{{ __('issue.title') }}</th><td class="col-md-8">{{ $issue->title }}</td></tr> <tr><th class="col-md-4">{{ __('issue.title') }}</th><td class="col-md-8">{{ $issue->title }}</td></tr>
<tr><th>{{ __('issue.body') }}</th><td>{{ $issue->body }}</td></tr> <tr><th>{{ __('issue.body') }}</th><td>{{ $issue->body }}</td></tr>
<tr><th>{{ __('issue.priority') }}</th><td>{!! $issue->priority_label !!}</td></tr>
<tr><th>{{ __('issue.pic') }}</th><td>{{ $issue->pic->name }}</td></tr> <tr><th>{{ __('issue.pic') }}</th><td>{{ $issue->pic->name }}</td></tr>
<tr><th>{{ __('app.created_by') }}</th><td>{{ $issue->creator->name }}</td></tr> <tr><th>{{ __('app.created_by') }}</th><td>{{ $issue->creator->name }}</td></tr>
</tbody> </tbody>

10
tests/Unit/Models/IssueTest.php

@ -6,6 +6,7 @@ use Tests\TestCase;
use App\Entities\Users\User; use App\Entities\Users\User;
use App\Entities\Projects\Issue; use App\Entities\Projects\Issue;
use App\Entities\Projects\Project; use App\Entities\Projects\Project;
use App\Entities\Projects\Priority;
use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\RefreshDatabase;
class IssueTest extends TestCase class IssueTest extends TestCase
@ -71,4 +72,13 @@ class IssueTest extends TestCase
$this->assertEquals(__('issue.minor'), $issue->priority); $this->assertEquals(__('issue.minor'), $issue->priority);
} }
/** @test */
public function an_issue_has_priority_label_attribute()
{
$issue = factory(Issue::class)->make();
$colorClass = Priority::getColorById($issue->priority_id);
$this->assertEquals('<span class="label label-'.$colorClass.'">'.$issue->priority.'</span>', $issue->priority_label);
}
} }
Loading…
Cancel
Save