Browse Source

Add target_start_date and target_end_date on a Job

Update task and job migration files
- Job position should be tinyint(3)
- Task position and progress should be tinyint(3)
- Add nullable date columns on jobs table
pull/12/head
Nafies Luthfi 8 years ago
parent
commit
26fbc2a950
  1. 2
      app/Http/Requests/Jobs/CreateRequest.php
  2. 6
      database/migrations/2016_07_09_093439_create_jobs_table.php
  3. 4
      database/migrations/2016_07_09_142833_create_tasks_table.php
  4. 2
      resources/lang/de/job.php
  5. 2
      resources/lang/en/job.php
  6. 2
      resources/lang/id/job.php
  7. 25
      resources/views/jobs/create.blade.php
  8. 2
      tests/Feature/ManageJobsTest.php

2
app/Http/Requests/Jobs/CreateRequest.php

@ -31,6 +31,8 @@ class CreateRequest extends Request
'price' => 'required|numeric', 'price' => 'required|numeric',
'worker_id' => 'required|numeric', 'worker_id' => 'required|numeric',
'type_id' => 'required|numeric', 'type_id' => 'required|numeric',
'target_start_date' => 'nullable|date|date_format:Y-m-d',
'target_end_date' => 'nullable|date|date_format:Y-m-d',
'description' => 'max:255', 'description' => 'max:255',
]; ];
} }

6
database/migrations/2016_07_09_093439_create_jobs_table.php

@ -20,7 +20,11 @@ class CreateJobsTable extends Migration
$table->integer('worker_id')->unsigned()->nullable(); $table->integer('worker_id')->unsigned()->nullable();
$table->integer('price')->unsigned()->default(0); $table->integer('price')->unsigned()->default(0);
$table->boolean('type_id')->default(1)->comment('1: main, 2: additional'); $table->boolean('type_id')->default(1)->comment('1: main, 2: additional');
$table->boolean('position')->default(0);
$table->unsignedTinyInteger('position')->default(0);
$table->date('target_start_date')->nullable();
$table->date('target_end_date')->nullable();
$table->date('actual_start_date')->nullable();
$table->date('actual_end_date')->nullable();
$table->timestamps(); $table->timestamps();
}); });
} }

4
database/migrations/2016_07_09_142833_create_tasks_table.php

@ -17,8 +17,8 @@ class CreateTasksTable extends Migration
$table->integer('job_id')->unsigned(); $table->integer('job_id')->unsigned();
$table->string('name', 60); $table->string('name', 60);
$table->string('description')->nullable(); $table->string('description')->nullable();
$table->boolean('progress')->default(0);
$table->boolean('position')->default(0);
$table->unsignedTinyInteger('progress')->default(0);
$table->unsignedTinyInteger('position')->default(0);
$table->timestamps(); $table->timestamps();
}); });
} }

2
resources/lang/de/job.php

@ -37,6 +37,8 @@ return [
'worker' => 'Bearbeiter', 'worker' => 'Bearbeiter',
'price' => 'Preis', 'price' => 'Preis',
'type' => 'Beschäftigungstyp', 'type' => 'Beschäftigungstyp',
'target_start_date' => 'Target Start Date',
'target_end_date' => 'Target End Date',
// Types // Types
'main' => 'Haupt', 'main' => 'Haupt',

2
resources/lang/en/job.php

@ -39,6 +39,8 @@ return [
'worker' => 'Worker', 'worker' => 'Worker',
'price' => 'Price', 'price' => 'Price',
'type' => 'Job Type', 'type' => 'Job Type',
'target_start_date' => 'Target Start Date',
'target_end_date' => 'Target End Date',
// Types // Types
'main' => 'Main', 'main' => 'Main',

2
resources/lang/id/job.php

@ -39,6 +39,8 @@ return [
'worker' => 'Pekerja', 'worker' => 'Pekerja',
'price' => 'Biaya Pengerjaan', 'price' => 'Biaya Pengerjaan',
'type' => 'Jenis Job', 'type' => 'Jenis Job',
'target_start_date' => 'Tanggal Target Mulai',
'target_end_date' => 'Tanggal Target Selesai',
// Types // Types
'main' => 'Utama', 'main' => 'Utama',

25
resources/views/jobs/create.blade.php

@ -27,6 +27,10 @@
{!! FormField::radios('type_id', [1 => __('job.main'), __('job.additional')], ['value' => 1, 'label' => __('job.type'), 'list_style' => 'unstyled']) !!} {!! FormField::radios('type_id', [1 => __('job.main'), __('job.additional')], ['value' => 1, 'label' => __('job.type'), 'list_style' => 'unstyled']) !!}
</div> </div>
</div> </div>
<div class="row">
<div class="col-md-4">{!! FormField::text('target_start_date', ['label' => __('job.target_start_date'), 'class' => 'date-select']) !!}</div>
<div class="col-md-4">{!! FormField::text('target_end_date', ['label' => __('job.target_end_date'), 'class' => 'date-select']) !!}</div>
</div>
{!! FormField::textarea('description', ['label' => __('job.description')]) !!} {!! FormField::textarea('description', ['label' => __('job.description')]) !!}
</div> </div>
@ -42,3 +46,24 @@
</div> </div>
</div> </div>
@endsection @endsection
@section('ext_css')
{!! Html::style(url('assets/css/plugins/jquery.datetimepicker.css')) !!}
@endsection
@section('ext_js')
{!! Html::script(url('assets/js/plugins/jquery.datetimepicker.js')) !!}
@endsection
@section('script')
<script>
(function() {
$('.date-select').datetimepicker({
timepicker:false,
format:'Y-m-d',
closeOnDateSelect: true,
scrollInput: false
});
})();
</script>
@endsection

2
tests/Feature/ManageJobsTest.php

@ -35,6 +35,8 @@ class ManageJobsTest extends TestCase
'price' => 100000, 'price' => 100000,
'worker_id' => $worker->id, 'worker_id' => $worker->id,
'type_id' => 1, 'type_id' => 1,
'target_start_date' => '2017-04-04',
'target_end_date' => '2017-07-07',
'description' => 'Similique, eligendi fuga animi?', 'description' => 'Similique, eligendi fuga animi?',
]); ]);

Loading…
Cancel
Save