Browse Source
Update 2016-08-02.11.34
Update 2016-08-02.11.34
Search payments by project name List On Progress Project by features list Refactor project work duration to ProjectPresenter class Project deletation also remove its payments, features and tasks Show Current Credit on On Progress, Done, and On Hold project status Add form error notification Add route name on a task of feature Add Project status update on project detail page Add pagination on top of payment and project index page Fix missing line break on project detail descriptionpull/1/head
38 changed files with 385 additions and 114 deletions
-
3app/Entities/Payments/PaymentsRepository.php
-
9app/Entities/Projects/FeaturesRepository.php
-
12app/Entities/Projects/ProjectPresenter.php
-
26app/Entities/Projects/ProjectsRepository.php
-
3app/Entities/Reports/ReportsRepository.php
-
8app/Http/Controllers/Projects/FeaturesController.php
-
11app/Http/Controllers/Projects/ProjectsController.php
-
2app/Http/Requests/Request.php
-
3app/Http/Requests/Tasks/CreateRequest.php
-
3app/Http/Requests/Tasks/UpdateRequest.php
-
3app/Http/routes/projects.php
-
4app/Services/FormField.php
-
2app/helpers.php
-
1database/factories/ModelFactory.php
-
3public/assets/css/app.css
-
2public/assets/css/app.css.map
-
4resources/assets/sass/app.scss
-
1resources/lang/id/task.php
-
2resources/views/features/add-from-other-project.blade.php
-
53resources/views/features/partials/feature-tasks-operation.blade.php
-
64resources/views/features/partials/feature-tasks.blade.php
-
5resources/views/features/show.blade.php
-
63resources/views/features/unfinished.blade.php
-
5resources/views/layouts/partials/sidebar.blade.php
-
7resources/views/pages/home.blade.php
-
3resources/views/payments/index.blade.php
-
1resources/views/projects/create.blade.php
-
8resources/views/projects/features.blade.php
-
19resources/views/projects/index.blade.php
-
6resources/views/projects/partials/project-show.blade.php
-
2resources/views/projects/payments.blade.php
-
16resources/views/projects/show.blade.php
-
2resources/views/reports/current-credits.blade.php
-
6resources/views/reports/payments/yearly.blade.php
-
33tests/ManageFeaturesTest.php
-
23tests/ManagePaymentsTest.php
-
71tests/ManageProjectsTest.php
-
10tests/ManageTasksTest.php
2
public/assets/css/app.css.map
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,53 @@ |
|||
@if (Request::has('action') == false) |
|||
{!! Form::open(['route' => ['tasks.store', $feature->id]])!!} |
|||
<div class="panel panel-default"> |
|||
<div class="panel-heading"><h3 class="panel-title">{{ trans('task.create') }}</h3></div> |
|||
<div class="panel-body"> |
|||
<div class="row"> |
|||
<div class="col-sm-5">{!! FormField::text('name') !!}</div> |
|||
<div class="col-sm-5">{!! FormField::text('route_name') !!}</div> |
|||
<div class="col-sm-2">{!! FormField::text('progress', ['addon' => ['after' => '%'],'value' => 0]) !!}</div> |
|||
</div> |
|||
{!! FormField::text('description') !!} |
|||
{!! Form::submit(trans('task.create'), ['class' => 'btn btn-primary']) !!} |
|||
{!! Form::close() !!} |
|||
</div> |
|||
</div> |
|||
@endif |
|||
@if (Request::get('action') == 'task_edit' && $editableTask) |
|||
{!! Form::model($editableTask, ['route' => ['tasks.update', $editableTask->id],'method' =>'patch'])!!} |
|||
<div class="panel panel-default"> |
|||
<div class="panel-heading"><h3 class="panel-title">{{ trans('task.edit') }}</h3></div> |
|||
<div class="panel-body"> |
|||
<div class="row"> |
|||
<div class="col-sm-5">{!! FormField::text('name') !!}</div> |
|||
<div class="col-sm-5">{!! FormField::text('route_name') !!}</div> |
|||
<div class="col-sm-2">{!! FormField::text('progress', ['addon' => ['after' => '%']]) !!}</div> |
|||
</div> |
|||
{!! FormField::text('description') !!} |
|||
{!! Form::hidden('feature_id', $editableTask->feature_id) !!} |
|||
{!! Form::submit(trans('task.update'), ['class' => 'btn btn-warning']) !!} |
|||
{!! link_to_route('features.show', trans('app.cancel'), [$feature->id], ['class' => 'btn btn-default']) !!} |
|||
{!! Form::close() !!} |
|||
</div> |
|||
</div> |
|||
@endif |
|||
@if (Request::get('action') == 'task_delete' && $editableTask) |
|||
<div class="panel panel-default"> |
|||
<div class="panel-heading"><h3 class="panel-title">{{ trans('task.delete') }}</h3></div> |
|||
<div class="panel-body"> |
|||
{{ trans('app.delete_confirm') }} |
|||
{!! link_to_route('features.show', trans('app.cancel'), [$feature->id], ['class' => 'btn btn-default']) !!} |
|||
<div class="pull-right"> |
|||
{!! FormField::delete([ |
|||
'route'=>['tasks.destroy',$editableTask->id]], |
|||
trans('app.delete_confirm_button'), |
|||
['class'=>'btn btn-danger'], |
|||
[ |
|||
'task_id' => $editableTask->id, |
|||
'feature_id' => $editableTask->feature_id, |
|||
]) !!} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
@endif |
|||
@ -0,0 +1,63 @@ |
|||
@extends('layouts.app') |
|||
|
|||
@section('title', trans('project.features')) |
|||
|
|||
@section('content') |
|||
<h1 class="page-header"> |
|||
Daftar Fitur on Progress |
|||
</h1> |
|||
|
|||
<div class="panel panel-default"> |
|||
<table class="table table-condensed"> |
|||
<thead> |
|||
<th>{{ trans('app.table_no') }}</th> |
|||
<th>{{ trans('project.name') }}</th> |
|||
<th>{{ trans('feature.name') }}</th> |
|||
<th class="text-center">{{ trans('feature.tasks_count') }}</th> |
|||
<th class="text-center">{{ trans('feature.progress') }}</th> |
|||
<th class="text-right">{{ trans('feature.price') }}</th> |
|||
<th>{{ trans('feature.worker') }}</th> |
|||
<th>{{ trans('app.action') }}</th> |
|||
</thead> |
|||
<tbody> |
|||
@forelse($features as $key => $feature) |
|||
<tr> |
|||
<td>{{ 1 + $key }}</td> |
|||
<td>{{ $feature->project->name }}</td> |
|||
<td> |
|||
{{ $feature->name }} |
|||
@if ($feature->tasks->isEmpty() == false) |
|||
<ul> |
|||
@foreach($feature->tasks as $task) |
|||
<li style="cursor:pointer" title="{{ $task->progress }} %"> |
|||
<i class="fa fa-battery-{{ ceil(4 * $task->progress/100) }}"></i> |
|||
{{ $task->name }} |
|||
</li> |
|||
@endforeach |
|||
</ul> |
|||
@endif |
|||
</td> |
|||
<td class="text-center">{{ $feature->tasks_count = $feature->tasks->count() }}</td> |
|||
<td class="text-center">{{ formatDecimal($feature->progress = $feature->tasks->avg('progress')) }} %</td> |
|||
<td class="text-right">{{ formatRp($feature->price) }}</td> |
|||
<td>{{ $feature->worker->name }}</td> |
|||
<td> |
|||
{!! link_to_route('features.show', trans('app.show'),[$feature->id],['class' => 'btn btn-info btn-xs']) !!} |
|||
</td> |
|||
</tr> |
|||
@empty |
|||
<tr><td colspan="7">{{ trans('feature.empty') }}</td></tr> |
|||
@endforelse |
|||
</tbody> |
|||
<tfoot> |
|||
<tr> |
|||
<th class="text-right" colspan="3">Total</th> |
|||
<th class="text-center">{{ $features->sum('tasks_count') }}</th> |
|||
<th class="text-center">{{ formatDecimal($features->avg('progress')) }} %</th> |
|||
<th class="text-right">{{ formatRp($features->sum('price')) }}</th> |
|||
<th colspan="2"></th> |
|||
</tr> |
|||
</tfoot> |
|||
</table> |
|||
</div> |
|||
@endsection |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue