Browse Source

User can add pic on issue creation

pull/37/head
Nafies Luthfi 7 years ago
parent
commit
72786f04d9
  1. 2
      app/Entities/Projects/Issue.php
  2. 10
      app/Http/Controllers/Projects/IssueController.php
  3. 1
      resources/views/projects/issues/create.blade.php
  4. 6
      tests/Feature/Projects/ProjectIssuesTest.php

2
app/Entities/Projects/Issue.php

@ -8,7 +8,7 @@ use Illuminate\Database\Eloquent\Model;
class Issue extends Model
{
protected $fillable = ['project_id', 'title', 'body', 'creator_id'];
protected $fillable = ['project_id', 'title', 'body', 'pic_id', 'creator_id'];
public function project()
{

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

@ -19,20 +19,24 @@ class IssueController extends Controller
public function create(Project $project)
{
return view('projects.issues.create', compact('project'));
$users = User::pluck('name', 'id');
return view('projects.issues.create', compact('project', 'users'));
}
public function store(Request $request, Project $project)
{
$issueData = $request->validate([
'title' => 'required|max:60',
'body' => 'required|max:255',
'title' => 'required|max:60',
'body' => 'required|max:255',
'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'],
]);
flash(__('issue.created'), 'success');

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

@ -18,6 +18,7 @@
<div class="panel-body">
{!! FormField::text('title', ['label' => __('issue.title')]) !!}
{!! FormField::textarea('body', ['label' => __('issue.body')]) !!}
{!! FormField::select('pic_id', $users, ['label' => __('issue.pic')]) !!}
</div>
<div class="panel-footer">
{{ Form::submit(__('issue.create'), ['class' => 'btn btn-success']) }}

6
tests/Feature/Projects/ProjectIssuesTest.php

@ -37,8 +37,9 @@ class ProjectIssuesTest extends TestCase
$this->visitRoute('projects.issues.create', $project);
$this->submitForm(__('issue.create'), [
'title' => 'First Issue.',
'body' => 'First Issue description.',
'title' => 'First Issue.',
'body' => 'First Issue description.',
'pic_id' => $admin->id,
]);
$this->seePageIs(route('projects.issues.index', $project));
@ -48,6 +49,7 @@ class ProjectIssuesTest extends TestCase
'project_id' => $project->id,
'title' => 'First Issue.',
'body' => 'First Issue description.',
'pic_id' => $admin->id,
'creator_id' => $admin->id,
]);
}

Loading…
Cancel
Save