Skip to content

Commit e55a5ff

Browse files
committed
#45 t&m
1 parent f7f5cd8 commit e55a5ff

File tree

8 files changed

+41
-4
lines changed

8 files changed

+41
-4
lines changed

app/Http/Controllers/IssueController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ protected function prepareDataForIndex(FormRequest $request, array $data)
4343
'assigneeList' => $contributorRepository->getItemsForSelect(),
4444
'projectsList' => $projectRepository->getItemsForSelect(),
4545
'labelList' => $labelRepository->getItemsForSelect(null, null, 'name'),
46-
'milestonelList' => $milestoneRepository->getItemsForSelect(null, null, 'id', 'title'),
46+
'milestoneList' => $milestoneRepository->getItemsForSelect(null, null, 'id', 'title'),
4747
'total' => [
4848
'estimate' => $totalEstimate,
4949
'time' => $totalTime,

app/Http/Controllers/TimeController.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,15 @@ protected function getService()
2525
return app(AppServiceProvider::ELOQUENT_SPENT_SERVICE);
2626
}
2727

28+
public function index(FormRequest $request)
29+
{
30+
if ($request->get('submit') === 'act_tnm.csv') {
31+
$data = $this->getService()->getTNMList($request->all());
32+
return $this->downloadCsv($data);
33+
}
34+
return parent::index($request);
35+
}
36+
2837
protected function prepareDataForIndex(FormRequest $request, array $data)
2938
{
3039
/** @var ContributorRepositoryEloquent $contributorRepository */
@@ -47,7 +56,7 @@ protected function prepareDataForIndex(FormRequest $request, array $data)
4756
'authorsList' => $contributorRepository->getItemsForSelect(),
4857
'projectsList' => $projectRepository->getItemsForSelect(),
4958
'labelList' => $labelRepository->getItemsForSelect(null, null, 'name'),
50-
'milestonelList' => $milestoneRepository->getItemsForSelect(null, null, 'id', 'title'),
59+
'milestoneList' => $milestoneRepository->getItemsForSelect(null, null, 'id', 'title'),
5160
'total' => [
5261
'time' => $totalTime,
5362
],

app/Model/Repository/SpentRepositoryEloquent.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,23 @@ public function getListQuery(array $parameters): Builder
9090
return $query;
9191
}
9292

93+
public function getTNMListQuery(array $parameters): Builder
94+
{
95+
$query = $this->getListQuery($parameters);
96+
$query = $query->select([
97+
DB::raw("date_trunc('second', max(note.gitlab_created_at)) as gitlab_created_at"),
98+
'issue.iid as issue',
99+
'issue.title as title',
100+
DB::raw('sum(spent.hours) as hours'),
101+
])
102+
->groupBy([
103+
'issue.iid',
104+
'issue.title',
105+
])
106+
->orderBy('issue.iid');
107+
return $query;
108+
}
109+
93110
public function stat($parameters): Collection
94111
{
95112
/** @var Builder $query */

app/Model/Service/Eloquent/EloquentSpentService.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,10 @@ public function getTotalTime(array $parameters)
3131
return $query->first()->total;
3232
}
3333

34+
public function getTNMList($parameters)
35+
{
36+
$query = $this->repository->getTNMListQuery($parameters);
37+
return $query->cursor();
38+
}
39+
3440
}

resources/lang/en/messages.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
| as the size rules. Feel free to tweak each of these messages here.
1313
|
1414
*/
15+
'Act t&m CSV' => 'Act t&m CSV',
1516
'Active users' => 'Active users',
1617
'Add' => 'Add',
1718
'Added by mistake or occurs problem with payment' => 'Added by mistake or occurs problem with payment',

resources/lang/ru/messages.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
| as the size rules. Feel free to tweak each of these messages here.
1313
|
1414
*/
15+
'Act t&m CSV' => 'Акт t&m CSV',
1516
'Active users' => 'Активные пользователи',
1617
'Add' => 'Добавить',
1718
'Added by mistake or occurs problem with payment' => 'Добавлено ошибочно или возникла проблема с платежом',

resources/views/gitpab/issue/index_filter_form.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
<div class="form-group">
7373
@include('partial.form.element.select', [
7474
'name' => 'milestones[]',
75-
'list' => $milestonelList,
75+
'list' => $milestoneList,
7676
'selected' => $request->input('milestones'),
7777
'options' => ['multiple' => 'multiple'],
7878
'label' => __('messages.Milestones'),

resources/views/gitpab/time/index_filter_form.blade.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
<div class="form-group">
7373
@include('partial.form.element.select', [
7474
'name' => 'milestones[]',
75-
'list' => $milestonelList,
75+
'list' => $milestoneList,
7676
'selected' => $request->input('milestones'),
7777
'options' => ['multiple' => 'multiple'],
7878
'label' => __('messages.Milestones'),
@@ -90,6 +90,9 @@
9090
<span class="group-btn">
9191
<button name="submit" value="csv" type="submit" class="btn btn-default">@lang('messages.Export CSV')</button>
9292
</span>
93+
<span class="group-btn">
94+
<button name="submit" value="act_tnm.csv" type="submit" class="btn btn-default">@lang('messages.Act t&m CSV')</button>
95+
</span>
9396
<span class="group-btn pull-right">
9497
<a class="btn btn-default" href="{{ route('time.index') }}">@lang('messages.Reset')</a>
9598
</span>

0 commit comments

Comments
 (0)