diff --git a/app/Http/Controllers/Projects/IssueController.php b/app/Http/Controllers/Projects/IssueController.php
index d0f1e9d..16147d8 100644
--- a/app/Http/Controllers/Projects/IssueController.php
+++ b/app/Http/Controllers/Projects/IssueController.php
@@ -42,4 +42,24 @@ class IssueController extends Controller
{
return view('projects.issues.show', compact('project', 'issue'));
}
+
+ public function edit(Project $project, Issue $issue)
+ {
+ return view('projects.issues.edit', compact('project', 'issue'));
+ }
+
+ public function update(Request $request, Project $project, Issue $issue)
+ {
+ $issueData = $request->validate([
+ 'title' => 'required|max:60',
+ 'body' => 'required|max:255',
+ ]);
+ $issue->title = $issueData['title'];
+ $issue->body = $issueData['body'];
+ $issue->save();
+
+ flash(__('issue.updated'), 'success');
+
+ return redirect()->route('projects.issues.show', [$project, $issue]);
+ }
}
diff --git a/resources/views/projects/issues/edit.blade.php b/resources/views/projects/issues/edit.blade.php
new file mode 100755
index 0000000..cbd2194
--- /dev/null
+++ b/resources/views/projects/issues/edit.blade.php
@@ -0,0 +1,23 @@
+@extends('layouts.project')
+
+@section('subtitle', __('issue.update'))
+
+@section('content-project')
+
+
+ {{ Form::model($issue, ['route' => ['projects.issues.update', $project, $issue], 'method' => 'patch']) }}
+
+
{{ __('issue.update') }}
+
+ {!! FormField::text('title', ['label' => __('issue.title')]) !!}
+ {!! FormField::textarea('body', ['label' => __('issue.body')]) !!}
+
+
+
+ {{ Form::close() }}
+
+
+@endsection
diff --git a/resources/views/projects/issues/show.blade.php b/resources/views/projects/issues/show.blade.php
index a632104..4a8f716 100755
--- a/resources/views/projects/issues/show.blade.php
+++ b/resources/views/projects/issues/show.blade.php
@@ -14,6 +14,9 @@
| {{ __('issue.body') }} | {{ $issue->body }} |
+
diff --git a/routes/web/projects.php b/routes/web/projects.php
index fe5e331..53b6af9 100644
--- a/routes/web/projects.php
+++ b/routes/web/projects.php
@@ -52,6 +52,8 @@ Route::group(['middleware' => ['auth'], 'namespace' => 'Projects'], function ()
Route::get('projects/{project}/issues/create', 'IssueController@create')->name('projects.issues.create');
Route::post('projects/{project}/issues', 'IssueController@store')->name('projects.issues.store');
Route::get('projects/{project}/issues/{issue}', 'IssueController@show')->name('projects.issues.show');
+ Route::get('projects/{project}/issues/{issue}/edit', 'IssueController@edit')->name('projects.issues.edit');
+ Route::patch('projects/{project}/issues/{issue}', 'IssueController@update')->name('projects.issues.update');
/*
* Tasks Routes
diff --git a/tests/Feature/Projects/ProjectIssuesTest.php b/tests/Feature/Projects/ProjectIssuesTest.php
index 83b5544..7ae6f45 100644
--- a/tests/Feature/Projects/ProjectIssuesTest.php
+++ b/tests/Feature/Projects/ProjectIssuesTest.php
@@ -79,17 +79,17 @@ class ProjectIssuesTest extends TestCase
'body' => 'This is a project issue body.',
]);
- $this->visitRoute('projects.issues.index', $project);
+ $this->visitRoute('projects.issues.show', [$project, $issue]);
$this->seeElement('a', ['id' => 'edit-issue-'.$issue->id]);
$this->click('edit-issue-'.$issue->id);
- $this->seeRouteIs('projects.issues.index', [$project, 'action' => 'issue-edit', 'issue_id' => $issue->id]);
+ $this->seeRouteIs('projects.issues.edit', [$project, $issue]);
$this->submitForm(__('issue.update'), [
'title' => 'First Issue.',
'body' => 'This is a project issue body.',
]);
- $this->seePageIs(route('projects.issues.index', $project));
+ $this->seePageIs(route('projects.issues.show', [$project, $issue]));
$this->see(__('issue.updated'));
$this->seeInDatabase('issues', [