diff --git a/app/Http/Controllers/Web/IssueController.php b/app/Http/Controllers/Web/IssueController.php index ad678d9c..7263a950 100644 --- a/app/Http/Controllers/Web/IssueController.php +++ b/app/Http/Controllers/Web/IssueController.php @@ -17,6 +17,7 @@ use GitScrum\Models\ConfigStatus; use Carbon\Carbon; use Auth; +use GitScrum\Http\Responses\Issue\Store as IssueStoreResponse; class IssueController extends Controller { @@ -76,10 +77,9 @@ public function create($scope, $slug, $parent_id = null) public function store(IssueRequest $request) { - $response = resolve('IssueService')->create($request); + $issue = resolve('IssueService')->create($request); - return redirect()->route('issues.show', ['slug' => $response->slug]) - ->with('success', trans('gitscrum.congratulations-the-issue-has-been-created-with-successfully')); + return (new IssueStoreResponse())->response($request,$issue); } public function show($slug) diff --git a/app/Http/Responses/Issue/Store.php b/app/Http/Responses/Issue/Store.php new file mode 100644 index 00000000..095255bc --- /dev/null +++ b/app/Http/Responses/Issue/Store.php @@ -0,0 +1,50 @@ +ajax() ? $this->toAjax($request,$issue) : $this->toHtml($issue); + } + + private function toHtml($issue) + { + return redirect()->route('issues.show', ['slug' => $issue->slug]) + ->with('success', trans('gitscrum.congratulations-the-issue-has-been-created-with-successfully')); + + } + + private function toAjax($request,$issue) + { + $relation = $request->input('user_story_id') ? 'userStory' : 'sprint'; + + $data = $this->data($relation,$issue->{$relation}); + + return response()->json(['data' => $data , 'message' => trans('gitscrum.congratulations-the-issue-has-been-created-with-successfully') ]); + } + + private function data($relation,$relationModel) + { + $data = [ + 'issueStatusChart' => view('partials.boxes.chart-donut', ['list' => $relationModel->issueStatus()])->render(), + 'issuesCount' => $relationModel->issues->count(), + 'issuesBox' => view('partials.boxes.issue', ['list' => $relationModel->issues, 'messageEmpty' => trans('gitscrum.this-does-not-have-any-issue-yet')])->render() + ]; + + return $relation == 'sprint' ? array_merge($data,$this->sprintData($relationModel)) : $data ; + } + + private function sprintData($sprint) + { + return [ + 'issueTypes' => view('partials.boxes.issue-type', ['list' => $sprint->issueTypes()])->render(), + 'issueBurndownChart' => view('partials.boxes.burndown', ['title' => ('Burndown Chart'), 'list' => Helper::burndown($sprint)])->render() + ]; + } + + +} \ No newline at end of file diff --git a/resources/lang/ar/gitscrum.php b/resources/lang/ar/gitscrum.php index b0037d93..b0732c22 100644 --- a/resources/lang/ar/gitscrum.php +++ b/resources/lang/ar/gitscrum.php @@ -6,7 +6,8 @@ * The MIT License (MIT) * Copyright (c) 2017 Renato Marinho */ - return array ( + +return array ( 'sprints' => 'السبرنتز', 'issue-type' => 'نوع المسئله', 'search-issue-type-by-name...' => 'ابحث عن نوع المسئله بالأسم ...', @@ -187,4 +188,5 @@ 'congratulations-the-product-backlog-has-been-updated-with-successfully' => 'تهانينا ! لقد تم تعديل مهام المشروع بنجاح', 'favorited-successfully' => 'تم الاضافة الى المفضلة بنجاح', 'unfavorited-successfully' => 'تم الحذف من المفضلة بنجاح', + 'keep-adding' => 'أستمر بالإضافه' ); \ No newline at end of file diff --git a/resources/lang/en/gitscrum.php b/resources/lang/en/gitscrum.php index 5db8bb51..d5240f20 100644 --- a/resources/lang/en/gitscrum.php +++ b/resources/lang/en/gitscrum.php @@ -187,6 +187,7 @@ 'congratulations-the-product-backlog-has-been-updated-with-successfully' => 'Congratulations! The Product Backlog has been successfully updated', 'favorited-successfully' => 'Favorited', 'unfavorited-successfully' => 'Unfavorited', + 'keep-adding' => 'Keep Adding' 'private-sprint' => 'This sprint is private, only owner can access it', 'save' => 'Save', 'issue-status-updated' => '@:username updated the issue to: *:status*', diff --git a/resources/views/partials/forms/issue.blade.php b/resources/views/partials/forms/issue.blade.php index 7e097379..50bc2b10 100644 --- a/resources/views/partials/forms/issue.blade.php +++ b/resources/views/partials/forms/issue.blade.php @@ -1,4 +1,4 @@ -
+ {{ csrf_field() }} @@ -86,18 +86,65 @@
- -
+ +
{{trans('gitscrum.collaborative-estimation')}}
+
+ +
+
+
+ @include('partials.includes.form-btn-submit', ['action' => @$action]) diff --git a/resources/views/sprints/show.blade.php b/resources/views/sprints/show.blade.php index cd200feb..23bafcfd 100644 --- a/resources/views/sprints/show.blade.php +++ b/resources/views/sprints/show.blade.php @@ -62,7 +62,7 @@ class="btn btn-lg btn-block btn-warning">{{trans('gitscrum.sprint-planni class="btn btn-block btn-primary" data-toggle="modal" data-target="#modalLarge">{{trans('gitscrum.create-issue')}} - @include('partials.boxes.chart-donut', ['list' => $sprint->issueStatus()]) +
@include('partials.boxes.chart-donut', ['list' => $sprint->issueStatus()])
@include('partials.boxes.progress-bar', [ 'percentage' => Helper::percentage($sprint, 'issues')]) @@ -80,14 +80,14 @@ class="btn btn-block btn-primary" -
{{$sprint->issues->count()}} {{trans('gitscrum.issues')}}
+
{{$sprint->issues->count()}}
{{trans('gitscrum.issues')}}
- @include('partials.boxes.issue-type', ['list' => $sprint->issueTypes()]) +
@include('partials.boxes.issue-type', ['list' => $sprint->issueTypes()])
@include('partials.boxes.note', [ 'list' => $sprint, 'type'=> 'sprints', 'title' => trans('gitscrum.definition-of-done-checklist'), @@ -124,7 +124,7 @@ class="btn btn-block btn-primary"

@endif - @include('partials.boxes.burndown', ['title' => ('Burndown Chart'), 'list' => Helper::burndown($sprint)]) +
@include('partials.boxes.burndown', ['title' => ('Burndown Chart'), 'list' => Helper::burndown($sprint)])
@@ -133,7 +133,7 @@ class="btn btn-block btn-primary"