diff --git a/app/Http/Controllers/Api/ProjectsController.php b/app/Http/Controllers/Api/ProjectsController.php
new file mode 100644
index 0000000..903e806
--- /dev/null
+++ b/app/Http/Controllers/Api/ProjectsController.php
@@ -0,0 +1,39 @@
+repo = $repo;
+ }
+ public function index(Request $request)
+ {
+ return $this->repo->getProjects($request->get('q'), $request->get('status_id'));
+ }
+
+ public function show($id)
+ {
+ return $this->repo->requireById($id);
+ }
+
+ public function features($id)
+ {
+ $project = $this->repo->requireById($id);
+ // $project->load('features.tasks');
+ $response = fractal()
+ ->item($project->toArray())
+ ->transformWith(function($project) {
+ return $project;
+ })
+ ->toArray();
+ return $response;
+ }
+}
diff --git a/app/Http/Controllers/Projects/FeaturesController.php b/app/Http/Controllers/Projects/FeaturesController.php
index 9a94cf7..1804670 100755
--- a/app/Http/Controllers/Projects/FeaturesController.php
+++ b/app/Http/Controllers/Projects/FeaturesController.php
@@ -86,7 +86,7 @@ class FeaturesController extends Controller {
{
$feature = $this->repo->update($req->except(['_method','_token']), $featureId);
flash()->success(trans('feature.updated'));
- return redirect()->route('projects.features', $feature->project_id);
+ return redirect()->route('features.show', $feature->id);
}
public function delete($featureId)
diff --git a/app/Http/Controllers/Projects/ProjectsController.php b/app/Http/Controllers/Projects/ProjectsController.php
index 9112220..5e86ec7 100755
--- a/app/Http/Controllers/Projects/ProjectsController.php
+++ b/app/Http/Controllers/Projects/ProjectsController.php
@@ -110,6 +110,8 @@ class ProjectsController extends Controller {
$sheet->loadView('projects.features-export-excel',compact('project','features'));
});
})->download('xls');
+ } elseif ($exportType == 'excel-progress') {
+ return view('projects.features-export-progress-excel', compact('project','features'));
} else {
return view('projects.features-export-html', compact('project','features'));
}
diff --git a/config/session.php b/config/session.php
index f1b0042..554beb2 100644
--- a/config/session.php
+++ b/config/session.php
@@ -109,7 +109,7 @@ return [
|
*/
- 'cookie' => 'laravel_session',
+ 'cookie' => 'nfs_project',
/*
|--------------------------------------------------------------------------
diff --git a/public/assets/css/app.s.css b/public/assets/css/app.s.css
index bd15885..80dcef7 100644
--- a/public/assets/css/app.s.css
+++ b/public/assets/css/app.s.css
@@ -248,7 +248,7 @@ html {
-webkit-tap-highlight-color: transparent; }
body {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-family: "Liberation Serif", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.428571429;
color: #333333;
diff --git a/resources/lang/id/project.php b/resources/lang/id/project.php
index 933c834..7f20a61 100644
--- a/resources/lang/id/project.php
+++ b/resources/lang/id/project.php
@@ -26,6 +26,7 @@ return [
'features' => 'Daftar Fitur',
'features_export_html' => 'Export HTML',
'features_export_excel' => 'Export Excel',
+ 'features_export_progress_excel' => 'Export Progress',
'subscriptions' => 'Langganan',
'worker' => 'Pekerja',
'status' => 'Status Project',
diff --git a/resources/views/features/show.blade.php b/resources/views/features/show.blade.php
index 70a4bb8..f4d7987 100755
--- a/resources/views/features/show.blade.php
+++ b/resources/views/features/show.blade.php
@@ -8,7 +8,7 @@
diff --git a/resources/views/projects/features-export-progress-excel.blade.php b/resources/views/projects/features-export-progress-excel.blade.php
index d8123e5..7788b1b 100755
--- a/resources/views/projects/features-export-progress-excel.blade.php
+++ b/resources/views/projects/features-export-progress-excel.blade.php
@@ -29,7 +29,7 @@
{{ trans('feature.name') }} |
{{ trans('feature.progress') }} |
{{-- {{ trans('feature.price') }} | --}}
- {{ trans('app.description') }} |
+ {{-- {{ trans('app.description') }} | --}}
@@ -41,19 +41,21 @@
{{ $feature->progress = $feature->tasks->avg('progress')/100 }} |
{{-- {{ $feature->price }} | --}}
- {!! nl2br($feature->description) !!} |
+ {{-- {!! nl2br($feature->description) !!} | --}}
+ tasks->count())
@foreach($feature->tasks as $task)
|
{{ $task->name }} |
|
- {!! nl2br($task->description) !!} |
+ {{-- {!! nl2br($task->description) !!} | --}}
@endforeach
@endif
+ */ ?>
@empty
| {{ trans('feature.empty') }} |
@endforelse
@@ -63,7 +65,7 @@
Total |
{{ $project->getFeatureOveralProgress() }} % |
{{-- {{ $features->sum('price') }} | --}}
- |
+ {{-- | --}}
diff --git a/resources/views/projects/features.blade.php b/resources/views/projects/features.blade.php
index 1e2063d..22df5dd 100755
--- a/resources/views/projects/features.blade.php
+++ b/resources/views/projects/features.blade.php
@@ -21,7 +21,8 @@
{!! link_to_route('projects.features-export', trans('project.features_export_html'), [$project->id, 'html', 'feature_type' => $key], ['class' => '','target' => '_blank']) !!} |
- {!! link_to_route('projects.features-export', trans('project.features_export_excel'), [$project->id, 'excel', 'feature_type' => $key], ['class' => '']) !!}
+ {!! link_to_route('projects.features-export', trans('project.features_export_excel'), [$project->id, 'excel', 'feature_type' => $key], ['class' => '','target' => '_blank']) !!} |
+ {!! link_to_route('projects.features-export', trans('project.features_export_progress_excel'), [$project->id, 'excel-progress', 'feature_type' => $key], ['class' => '','target' => '_blank']) !!}
{{ $key == 1 ? 'Daftar Fitur' : 'Fitur Tambahan' }}
@@ -69,7 +70,10 @@
| Total |
{{ $groupedFeatures->sum('tasks_count') }} |
- {{ formatDecimal($project->getFeatureOveralProgress()) }} % |
+
+ {{ formatDecimal($groupedFeatures->sum('progress') / $groupedFeatures->count()) }} %
+ ({{ formatDecimal($project->getFeatureOveralProgress()) }} %)
+ |
{{ formatRp($groupedFeatures->sum('price')) }} |
|
diff --git a/resources/views/projects/partials/project-stats.blade.php b/resources/views/projects/partials/project-stats.blade.php
new file mode 100644
index 0000000..b3a4fc7
--- /dev/null
+++ b/resources/views/projects/partials/project-stats.blade.php
@@ -0,0 +1,33 @@
+
\ No newline at end of file
diff --git a/resources/views/projects/show.blade.php b/resources/views/projects/show.blade.php
index 9832bcf..0afe825 100755
--- a/resources/views/projects/show.blade.php
+++ b/resources/views/projects/show.blade.php
@@ -20,6 +20,7 @@
@include('projects.partials.project-show')
+ @include('projects.partials.project-stats')
{!! Form::model($project, ['route' => ['projects.status-update', $project->id], 'method' => 'patch','class' => 'well well-sm form-inline']) !!}
{!! FormField::select('status_id', getProjectStatusesList(), ['label' => trans('project.status')]) !!}
{!! Form::submit('Update Project Status', ['class' => 'btn btn-info']) !!}
diff --git a/routes/api.php b/routes/api.php
index 3d2b170..cd59c5b 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -1,8 +1,9 @@
'v1','namespace' => 'Api', 'as' => 'api.', 'middleware' => ['auth:api']], function() {
+ require __DIR__ . '/api/projects.php';
/**
- * Savety Calendar
+ * Calendar
*/
Route::get('get-events', ['as' => 'events.index', 'uses' => 'EventsController@index']);
Route::post('events', ['as' => 'events.store', 'uses' => 'EventsController@store']);
diff --git a/routes/api/projects.php b/routes/api/projects.php
new file mode 100644
index 0000000..f32c211
--- /dev/null
+++ b/routes/api/projects.php
@@ -0,0 +1,4 @@
+ 'projects.features', 'uses' => 'ProjectsController@features']);
\ No newline at end of file
diff --git a/tests/api/ApiManageProjectsTest.php b/tests/api/ApiManageProjectsTest.php
new file mode 100644
index 0000000..bf7af8f
--- /dev/null
+++ b/tests/api/ApiManageProjectsTest.php
@@ -0,0 +1,23 @@
+create();
+ $project = factory(Project::class, 5)->create(['owner_id' => $user->id]);
+
+ $this->getJson(route('api.projects.index'), [
+ 'Authorization' => 'Bearer ' . $user->api_token
+ ]);
+
+ $this->seeStatusCode(200);
+ }
+}
diff --git a/tests/functional/ManageFeaturesTest.php b/tests/functional/ManageFeaturesTest.php
index a86fdaa..36d322f 100644
--- a/tests/functional/ManageFeaturesTest.php
+++ b/tests/functional/ManageFeaturesTest.php
@@ -71,7 +71,7 @@ class ManageFeaturesTest extends TestCase
$this->select(2, 'type_id');
$this->press(trans('feature.update'));
- $this->seePageIs('projects/' . $project->id . '/features');
+ $this->seePageIs('features/' . $feature->id);
$this->see(trans('feature.updated'));
$this->seeInDatabase('features', [
'name' => 'Nama Fitur Edit',