Browse Source

Add due_date attribute to the project

pull/7/head
Nafies Luthfi 8 years ago
parent
commit
1c04dfdf60
  1. 6
      app/Http/Controllers/Projects/ProjectsController.php
  2. 3
      app/Http/Requests/Projects/UpdateRequest.php
  3. 3
      database/migrations/2016_07_06_110052_create_projects_table.php
  4. 5
      resources/lang/de/project.php
  5. 5
      resources/lang/en/project.php
  6. 5
      resources/lang/id/project.php
  7. 42
      resources/views/projects/edit.blade.php
  8. 2
      resources/views/projects/index.blade.php
  9. 1
      resources/views/projects/partials/project-show.blade.php
  10. 2
      tests/Feature/ManageProjectsTest.php

6
app/Http/Controllers/Projects/ProjectsController.php

@ -2,12 +2,12 @@
namespace App\Http\Controllers\Projects;
use Illuminate\Http\Request;
use App\Entities\Projects\Project;
use App\Entities\Projects\ProjectsRepository;
use App\Http\Controllers\Controller;
use App\Entities\Projects\ProjectsRepository;
use App\Http\Requests\Projects\CreateRequest;
use App\Http\Requests\Projects\UpdateRequest;
use Illuminate\Http\Request;
/**
* Projects Controller.
@ -75,7 +75,7 @@ class ProjectsController extends Controller
{
$this->authorize('update', $project);
$project = $this->repo->update($request->except(['_method', '_token']), $project->id);
$project = $this->repo->update($request->validated(), $project->id);
flash(trans('project.updated'), 'success');
return redirect()->route('projects.edit', $project);

3
app/Http/Requests/Projects/UpdateRequest.php

@ -2,8 +2,8 @@
namespace App\Http\Requests\Projects;
use App\Entities\Projects\Project;
use App\Http\Requests\Request;
use App\Entities\Projects\Project;
class UpdateRequest extends Request
{
@ -33,6 +33,7 @@ class UpdateRequest extends Request
'proposal_value' => 'nullable|numeric',
'start_date' => 'nullable|date|date_format:Y-m-d',
'end_date' => 'nullable|date|date_format:Y-m-d',
'due_date' => 'nullable|date|date_format:Y-m-d',
'project_value' => 'nullable|numeric',
'customer_id' => 'nullable|numeric',
];

3
database/migrations/2016_07_06_110052_create_projects_table.php

@ -1,7 +1,7 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProjectsTable extends Migration
{
@ -19,6 +19,7 @@ class CreateProjectsTable extends Migration
$table->date('proposal_date')->nullable();
$table->date('start_date')->nullable();
$table->date('end_date')->nullable();
$table->date('due_date')->nullable();
$table->integer('project_value')->unsigned();
$table->integer('proposal_value')->unsigned()->nullable();
$table->boolean('status_id')->default(1)->comment('1: planned, 2: on progress, 3: done, 4: closed, 5: canceled, 6: on hold ');

5
resources/lang/de/project.php

@ -10,10 +10,12 @@ return [
'cash_out_total' => 'Summe Zahlungsausgang',
'all' => 'Alle Projekte',
'search' => 'Projekte suchen',
'detail' => 'Projekt details',
'found' => 'Projekte gefunden',
'not_found' => 'Projekt nicht gefunden.',
'select' => 'Projekt auswählen',
'empty' => 'Projektliste ist leer.',
'back_to_show' => 'Back to Project Detail',
'back_to_index' => 'Zurück zur Projektliste',
'receiveable_earnings' => 'Forderungsauszahlung',
'payment_remaining' => 'Verbleibende Zahlung',
@ -33,7 +35,7 @@ return [
// Actions
'create' => 'Neues Projekt erstellen',
'created' => 'Neues Projekt wurde erstellt.',
'show' => 'Projektdetails',
'show' => 'Show Project Detail',
'edit' => 'Projekt bearbeiten',
'update' => 'Projekt aktualisieren',
'updated' => 'Projekt wurde aktualisiert.',
@ -53,6 +55,7 @@ return [
'description' => 'Projektbeschreibung',
'start_date' => 'Startdatum',
'end_date' => 'Enddatum',
'due_date' => 'Due Date',
'proposal_date' => 'Datum des Angebotes',
'project_value' => 'Projektwert',
'proposal_value' => 'Angebotswert',

5
resources/lang/en/project.php

@ -10,10 +10,12 @@ return [
'cash_out_total' => 'Cash out Total',
'all' => 'All Projects',
'search' => 'Search Projects',
'detail' => 'Project Detail',
'found' => 'Projects found',
'not_found' => 'Project not found.',
'select' => 'Select Project',
'empty' => 'Project list is empty.',
'back_to_show' => 'Back to Project Detail',
'back_to_index' => 'Back to Project List',
'receiveable_earnings' => 'Receiveable Earning',
'payment_remaining' => 'Payment Remaining',
@ -33,7 +35,7 @@ return [
// Actions
'create' => 'Create new Project',
'created' => 'New Project has been created.',
'show' => 'Project Detail',
'show' => 'Show Project Detail',
'edit' => 'Edit Project',
'update' => 'Update Project',
'updated' => 'Project has been updated.',
@ -53,6 +55,7 @@ return [
'description' => 'Project Description',
'start_date' => 'Start Date',
'end_date' => 'End Date',
'due_date' => 'Due Date',
'proposal_date' => 'Proposal Date',
'project_value' => 'Project Value',
'proposal_value' => 'Proposal Value',

5
resources/lang/id/project.php

@ -10,10 +10,12 @@ return [
'cash_out_total' => 'Total Pengeluaran',
'all' => 'Semua Project',
'search' => 'Cari Project',
'detail' => 'Detail Project',
'found' => 'Project ditemukan',
'not_found' => 'Project tidak ditemukan',
'select' => 'Pilih Project',
'empty' => 'Belum ada Project',
'back_to_show' => 'Kembali ke Detail Project',
'back_to_index' => 'Kembali ke daftar Project',
'receiveable_earnings' => 'Pendapatan',
'payment_remaining' => 'Sisa',
@ -33,7 +35,7 @@ return [
// Actions
'create' => 'Input Project Baru',
'created' => 'Input Project baru telah berhasil.',
'show' => 'Detail Project',
'show' => 'Lihat Detail Project',
'edit' => 'Edit Project',
'update' => 'Update Project',
'updated' => 'Update data Project telah berhasil.',
@ -53,6 +55,7 @@ return [
'description' => 'Deskripsi Project',
'start_date' => 'Tanggal Mulai',
'end_date' => 'Tanggal Selesai',
'due_date' => 'Deadline',
'proposal_date' => 'Tanggal Proposal',
'project_value' => 'Nilai Project',
'proposal_value' => 'Nilai Proposal',

42
resources/views/projects/edit.blade.php

@ -1,54 +1,56 @@
@extends('layouts.app')
@section('title', trans('project.edit'))
@section('title', __('project.edit'))
@section('content')
@include('projects.partials.breadcrumb', ['title' => trans('project.edit')])
@include('projects.partials.breadcrumb', ['title' => __('project.edit')])
<div class="row">
<div class="col-md-7 col-md-offset-2">
{!! Form::model($project, ['route' =>['projects.update', $project->id], 'method' => 'patch']) !!}
{!! Form::model($project, ['route' => ['projects.update', $project], 'method' => 'patch']) !!}
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">{{ $project->name }}</h3></div>
<div class="panel-body">
{!! FormField::text('name', ['label' => trans('project.name')]) !!}
{!! FormField::textarea('description', ['label' => trans('project.description'),'rows' => 3]) !!}
{!! FormField::text('name', ['label' => __('project.name')]) !!}
<div class="row">
<div class="col-md-6">
{!! FormField::text('proposal_date', ['label' => trans('project.proposal_date')]) !!}
<div class="col-md-8">
{!! FormField::textarea('description', ['label' => __('project.description'),'rows' => 5]) !!}
</div>
<div class="col-md-6">
{!! FormField::price('proposal_value', ['label' => trans('project.proposal_value'), 'currency' => Option::get('money_sign', 'Rp')]) !!}
<div class="col-md-4">
{!! FormField::price('proposal_value', ['label' => __('project.proposal_value'), 'currency' => Option::get('money_sign', 'Rp')]) !!}
{!! FormField::price('project_value', ['label' => __('project.project_value'), 'currency' => Option::get('money_sign', 'Rp')]) !!}
</div>
</div>
<div class="row">
<div class="col-md-3">
{!! FormField::text('start_date', ['label' => trans('project.start_date')]) !!}
{!! FormField::text('proposal_date', ['label' => __('project.proposal_date')]) !!}
</div>
<div class="col-md-3">
{!! FormField::text('end_date', ['label' => trans('project.end_date')]) !!}
{!! FormField::text('start_date', ['label' => __('project.start_date')]) !!}
</div>
<div class="col-md-6">
{!! FormField::price('project_value', ['label' => trans('project.project_value'), 'currency' => Option::get('money_sign', 'Rp')]) !!}
<div class="col-md-3">
{!! FormField::text('due_date', ['label' => __('project.due_date')]) !!}
</div>
<div class="col-md-3">
{!! FormField::text('end_date', ['label' => __('project.end_date')]) !!}
</div>
</div>
<div class="row">
<div class="col-md-6">
{!! FormField::select('status_id', ProjectStatus::toArray(), ['label' => trans('app.status')]) !!}
{!! FormField::select('status_id', ProjectStatus::toArray(), ['label' => __('app.status')]) !!}
</div>
<div class="col-md-6">
{!! FormField::select('customer_id', $customers, ['label' => trans('project.customer')]) !!}
{!! FormField::select('customer_id', $customers, ['label' => __('project.customer')]) !!}
</div>
</div>
</div>
<div class="panel-footer">
{!! Form::submit(trans('project.update'), ['class' =>'btn btn-primary']) !!}
{!! link_to_route('projects.show', trans('app.show'), [$project->id], ['class' => 'btn btn-info']) !!}
{!! link_to_route('projects.index', trans('project.back_to_index'), ['status_id' => $project->status_id], ['class' => 'btn btn-default']) !!}
{!! Form::submit(__('project.update'), ['class' =>'btn btn-primary']) !!}
{!! link_to_route('projects.show', __('project.back_to_show'), [$project], ['class' => 'btn btn-default']) !!}
@can('delete', $project)
{!! link_to_route('projects.delete', trans('app.delete'), [$project->id], ['class' =>'btn btn-danger pull-right']) !!}
{!! link_to_route('projects.delete', __('app.delete'), [$project], ['class' =>'btn btn-danger pull-right']) !!}
@endcan
</div>
</div>
@ -68,7 +70,7 @@
@section('script')
<script>
(function() {
$('#proposal_date,#start_date,#end_date').datetimepicker({
$('#proposal_date,#start_date,#due_date,#end_date').datetimepicker({
timepicker:false,
format:'Y-m-d',
closeOnDateSelect: true,

2
resources/views/projects/index.blade.php

@ -27,6 +27,7 @@
<th class="text-center">{{ trans('project.work_duration') }}</th>
@if (request('status_id') == 2)
<th class="text-right">{{ trans('project.overall_progress') }}</th>
<th class="text-center">{{ trans('project.due_date') }}</th>
@endif
@can('see-pricings', new App\Entities\Projects\Project)
<th class="text-right">{{ trans('project.project_value') }}</th>
@ -44,6 +45,7 @@
<td class="text-right">{{ $project->present()->workDuration }}</td>
@if (request('status_id') == 2)
<td class="text-right">{{ formatDecimal($project->getJobOveralProgress()) }} %</td>
<td class="text-center">{{ $project->due_date }}</td>
@endif
@can('see-pricings', new App\Entities\Projects\Project)
<td class="text-right">{{ formatRp($project->project_value) }}</td>

1
resources/views/projects/partials/project-show.blade.php

@ -12,6 +12,7 @@
@endcan
<tr><td>{{ trans('project.start_date') }}</td><td>{{ dateId($project->start_date) }}</td></tr>
<tr><td>{{ trans('project.end_date') }}</td><td>{{ dateId($project->end_date) }}</td></tr>
<tr><td>{{ trans('project.due_date') }}</td><td>{{ dateId($project->due_date) }}</td></tr>
<tr><td>{{ trans('app.status') }}</td><td>{{ $project->present()->status }}</td></tr>
<tr>
<td>{{ trans('project.customer') }}</td>

2
tests/Feature/ManageProjectsTest.php

@ -130,6 +130,7 @@ class ManageProjectsTest extends TestCase
'proposal_date' => '2016-04-15',
'start_date' => '2016-04-25',
'end_date' => '2016-05-05',
'due_date' => '2016-05-10',
'proposal_value' => 2000000,
'project_value' => 2000000,
'status_id' => 4,
@ -146,6 +147,7 @@ class ManageProjectsTest extends TestCase
'proposal_date' => '2016-04-15',
'start_date' => '2016-04-25',
'end_date' => '2016-05-05',
'due_date' => '2016-05-10',
'proposal_value' => 2000000,
'project_value' => 2000000,
'customer_id' => $customer->id,

Loading…
Cancel
Save