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);
}
public function getPriorityLabelAttribute()
{
$classColor = Priority::getColorById($this->priority_id);
return '<span class="label label-'.$classColor.'">'.$this->priority.'</span>';
}
public function getStatusAttribute()
{
return IssueStatus::getNameById($this->status_id);

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

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

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

@ -22,6 +22,7 @@
<tbody>
<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.priority') }}</th><td>{!! $issue->priority_label !!}</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>
</tbody>

10
tests/Unit/Models/IssueTest.php

@ -6,6 +6,7 @@ use Tests\TestCase;
use App\Entities\Users\User;
use App\Entities\Projects\Issue;
use App\Entities\Projects\Project;
use App\Entities\Projects\Priority;
use Illuminate\Foundation\Testing\RefreshDatabase;
class IssueTest extends TestCase
@ -71,4 +72,13 @@ class IssueTest extends TestCase
$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