diff --git a/DataTables/WorkDataTable.php b/DataTables/WorkDataTable.php index fcb9e1f..e79372d 100644 --- a/DataTables/WorkDataTable.php +++ b/DataTables/WorkDataTable.php @@ -28,11 +28,12 @@ }) ->addIndexColumn() ->addColumn('status', function ($model) { - return $model->status == 1 ? 'Active' : 'Inactive'; + return view('master::work._status', compact('model')); }) ->addColumn('action', function ($model) { return view('master::work._action', compact('model')); - }); + }) + ->rawColumns(['status','action']); } /** @@ -55,7 +56,7 @@ public function html() { return $this->builder() - ->setTableId('work-table') + ->setTableId('master-work-table') ->columns($this->getColumns()) ->minifiedAjax() ->orderBy(1, 'asc') @@ -79,10 +80,11 @@ return [ Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), Column::make('name')->title(__('Name')), - Column::make('status')->title(__('Status')), + Column::computed('status')->title(__('Status'))->width(50)->addClass('text-center')->exportable(false), Column::computed('action') ->exportable(false) ->printable(false) + ->width(100) ->addClass('text-center') ->responsivePriority(-1), ]; diff --git a/Database/Seeders/MasterDatabaseSeeder.php b/Database/Seeders/MasterDatabaseSeeder.php index bd9aedd..d2a9c03 100644 --- a/Database/Seeders/MasterDatabaseSeeder.php +++ b/Database/Seeders/MasterDatabaseSeeder.php @@ -3,6 +3,7 @@ namespace Modules\Master\Database\Seeders; use Illuminate\Database\Seeder; + use Modules\Master\Entities\Education; use Modules\Usermanager\Entities\PermissionGroup; use Spatie\Permission\Models\Permission; use Spatie\Permission\Models\Role; @@ -34,6 +35,8 @@ GenderSeeder::class, BloodSeeder::class, ReligionSeeder::class, + Education::class, + WorkSeeder::class, ]); } diff --git a/Database/Seeders/WorkSeeder.php b/Database/Seeders/WorkSeeder.php new file mode 100644 index 0000000..562b71a --- /dev/null +++ b/Database/Seeders/WorkSeeder.php @@ -0,0 +1,119 @@ +data(); + + foreach ($data as $value) { + Work::create([ + 'name' => $value['name'], + ]); + } + } + + public function data() + { + return [ + ['name' => 'Belum/ Tidak Bekerja'], + ['name' => 'Mengurus Rumah Tangga'], + ['name' => 'Pelajar/ Mahasiswa'], + ['name' => 'Pensiunan'], + ['name' => 'Pewagai Negeri Sipil'], + ['name' => 'Tentara Nasional Indonesia'], + ['name' => 'Kepolisisan RI'], + ['name' => 'Perdagangan'], + ['name' => 'Petani/ Pekebun'], + ['name' => 'Peternak'], + ['name' => 'Nelayan/ Perikanan'], + ['name' => 'Industri'], + ['name' => 'Konstruksi'], + ['name' => 'Transportasi'], + ['name' => 'Karyawan Swasta'], + ['name' => 'Karyawan BUMN'], + ['name' => 'Karyawan BUMD'], + ['name' => 'Karyawan Honorer'], + ['name' => 'Buruh Harian Lepas'], + ['name' => 'Buruh Tani/ Perkebunan'], + ['name' => 'Buruh Nelayan/ Perikanan'], + ['name' => 'Buruh Peternakan'], + ['name' => 'Pembantu Rumah Tangga'], + ['name' => 'Tukang Cukur'], + ['name' => 'Tukang Listrik'], + ['name' => 'Tukang Batu'], + ['name' => 'Tukang Kayu'], + ['name' => 'Tukang Sol Sepatu'], + ['name' => 'Tukang Las/ Pandai Besi'], + ['name' => 'Tukang Jahit'], + ['name' => 'Tukang Gigi'], + ['name' => 'Penata Rias'], + ['name' => 'Penata Busana'], + ['name' => 'Penata Rambut'], + ['name' => 'Mekanik'], + ['name' => 'Seniman'], + ['name' => 'Tabib'], + ['name' => 'Paraji'], + ['name' => 'Perancang Busana'], + ['name' => 'Penterjemah'], + ['name' => 'Imam Masjid'], + ['name' => 'Pendeta'], + ['name' => 'Pastor'], + ['name' => 'Wartawan'], + ['name' => 'Ustadz/ Mubaligh'], + ['name' => 'Juru Masak'], + ['name' => 'Promotor Acara'], + ['name' => 'Anggota DPR-RI'], + ['name' => 'Anggota DPD'], + ['name' => 'Anggota BPK'], + ['name' => 'Presiden'], + ['name' => 'Wakil Presiden'], + ['name' => 'Anggota Mahkamah Konstitusi'], + ['name' => 'Anggota Kabinet/ Kementerian'], + ['name' => 'Duta Besar'], + ['name' => 'Gubernur'], + ['name' => 'Wakil Gubernur'], + ['name' => 'Bupati'], + ['name' => 'Wakil Bupati'], + ['name' => 'Walikota'], + ['name' => 'Wakil Walikota'], + ['name' => 'Anggota DPRD Provinsi'], + ['name' => 'Anggota DPRD Kabupaten/ Kota'], + ['name' => 'Dosen'], + ['name' => 'Guru'], + ['name' => 'Pilot'], + ['name' => 'Pengacara'], + ['name' => 'Notaris'], + ['name' => 'Arsitek'], + ['name' => 'Akuntan'], + ['name' => 'Konsultan'], + ['name' => 'Dokter'], + ['name' => 'Bidan'], + ['name' => 'Perawat'], + ['name' => 'Apoteker'], + ['name' => 'Psikiater/ Psikolog'], + ['name' => 'Penyiar Televisi'], + ['name' => 'Penyiar Radio'], + ['name' => 'Pelaut'], + ['name' => 'Peneliti'], + ['name' => 'Sopir'], + ['name' => 'Pialang'], + ['name' => 'Paranormal'], + ['name' => 'Pedagang'], + ['name' => 'Perangkat Desa'], + ['name' => 'Kepala Desa'], + ['name' => 'Biarawati'], + ['name' => 'Wiraswasta'] + ]; + } + } diff --git a/Http/Controllers/WorkController.php b/Http/Controllers/WorkController.php index 95527ee..5b468e1 100644 --- a/Http/Controllers/WorkController.php +++ b/Http/Controllers/WorkController.php @@ -128,7 +128,7 @@ * * @return Renderable */ - public function update(UpdateWorkRequest $request, Work $company) + public function update(UpdateWorkRequest $request, Work $work) { if (is_null($this->user) || !$this->user->can($this->module->alias . '.update')) { abort(403, 'Sorry !! You are Unauthorized to update any ' . $this->module->alias . ' !'); @@ -140,7 +140,7 @@ // Update the Work... if ($validated) { try { - $company->update($validated); + $work->update($validated); echo json_encode(['status' => 'success', 'message' => $this->module->name . ' work updated successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => $this->module->name . ' work updated failed.']); @@ -158,14 +158,14 @@ * * @return Renderable */ - public function destroy(Work $company) + public function destroy(Work $work) { if (is_null($this->user) || !$this->user->can($this->module->alias . '.delete')) { abort(403, 'Sorry !! You are Unauthorized to delete any ' . $this->module->alias . ' !'); } try { - $company->delete(); + $work->delete(); echo json_encode(['status' => 'success', 'message' => $this->module->name . ' work deleted successfully.']); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => $this->module->name . ' work deleted failed.']); diff --git a/Http/Requests/Work/StoreWorkRequest.php b/Http/Requests/Work/StoreWorkRequest.php index a3061c6..fcf1b6e 100644 --- a/Http/Requests/Work/StoreWorkRequest.php +++ b/Http/Requests/Work/StoreWorkRequest.php @@ -2,13 +2,13 @@ namespace Modules\Master\Http\Requests\Work; - use Illuminate\Foundation\Http\FormRequest; use Illuminate\Http\Exceptions\HttpResponseException; use Illuminate\Validation\ValidationException; use Illuminate\Validation\Validator; + use Modules\Master\Http\Requests\MasterRequest; use Symfony\Component\HttpFoundation\JsonResponse; - class StoreWorkRequest extends FormRequest + class StoreWorkRequest extends MasterRequest { /** * Determine if the user is authorized to make this request. @@ -29,7 +29,7 @@ { return [ 'name' => 'required|string|max:50|unique:works,name', - 'status' => 'nullable|string|max:1', + 'status' => 'nullable|integer|max:1', ]; } diff --git a/Http/Requests/Work/UpdateWorkRequest.php b/Http/Requests/Work/UpdateWorkRequest.php index d5d8ca5..53eb5da 100644 --- a/Http/Requests/Work/UpdateWorkRequest.php +++ b/Http/Requests/Work/UpdateWorkRequest.php @@ -2,13 +2,13 @@ namespace Modules\Master\Http\Requests\Work; - use Illuminate\Foundation\Http\FormRequest; use Illuminate\Http\Exceptions\HttpResponseException; use Illuminate\Validation\ValidationException; use Illuminate\Validation\Validator; + use Modules\Master\Http\Requests\MasterRequest; use Symfony\Component\HttpFoundation\JsonResponse; - class UpdateWorkRequest extends FormRequest + class UpdateWorkRequest extends MasterRequest { /** * Determine if the user is authorized to make this request. @@ -28,8 +28,8 @@ : array { return [ - 'name' => 'required|string|max:50|unique:works,name', $this->work->id, - 'status' => 'nullable|string|max:1', + 'name' => 'required|string|max:50|unique:works,name,' . $this->work->id, + 'status' => 'nullable|integer|max:1', ]; } diff --git a/Resources/views/work/_action.blade.php b/Resources/views/work/_action.blade.php new file mode 100644 index 0000000..a32eac2 --- /dev/null +++ b/Resources/views/work/_action.blade.php @@ -0,0 +1,13 @@ +@php + $route = explode('.', Route::currentRouteName()); +@endphp +
+ + {!! getIcon("pencil", "fs-1 text-info","duotune") !!} + + + {!! Form::open(['method' => 'DELETE','route' => [$route[0].'.'.$route[1].'.destroy', $model->id],'class'=>'']) !!} + {{ Form::button(getIcon("trash", "fs-1 text-danger","duotune"), ['type' => 'submit', 'class' => 'delete btn btn-icon btn-bg-light btn-active-light-danger btn-sm'] ) }} + {!! Form::close() !!} +
diff --git a/Resources/views/work/_form.blade.php b/Resources/views/work/_form.blade.php new file mode 100644 index 0000000..94647e5 --- /dev/null +++ b/Resources/views/work/_form.blade.php @@ -0,0 +1,64 @@ +@php + $route = explode('.', Route::currentRouteName()); +@endphp + + + + diff --git a/Resources/views/work/_status.blade.php b/Resources/views/work/_status.blade.php new file mode 100644 index 0000000..1b62790 --- /dev/null +++ b/Resources/views/work/_status.blade.php @@ -0,0 +1,10 @@ +@php + $route = explode('.', Route::currentRouteName()); +@endphp + +{!! Form::open(['method' => 'PUT','route' => [$route[0].'.'.$route[1].'.update', $model->id],'class'=>'']) !!} +
+ status==1 ? 'checked' : '' }} type="checkbox" name="status" id="status"/> + +
+{!! Form::close() !!} diff --git a/Resources/views/work/_table.blade.php b/Resources/views/work/_table.blade.php new file mode 100644 index 0000000..75ee5cc --- /dev/null +++ b/Resources/views/work/_table.blade.php @@ -0,0 +1,132 @@ + +{{ $dataTable->table() }} + + +{{-- Inject Scripts --}} +@section('scripts') + {{ $dataTable->scripts() }} +@endsection + +@push('customscript') + @php + $route = explode('.', Route::currentRouteName()); + @endphp + + +@endpush + +@section('styles') + +@endsection diff --git a/Resources/views/work/index.blade.php b/Resources/views/work/index.blade.php new file mode 100644 index 0000000..a003fdd --- /dev/null +++ b/Resources/views/work/index.blade.php @@ -0,0 +1,135 @@ +@php + $route = explode('.', Route::currentRouteName()); +@endphp + + + +
+ +
+
+
+ + + + + + + + + +
+ + +
+ + +
+ +
+ + + + + + + +
+ + +
+
+
+ @include('master::'.$route[1].'._table') + @include('master::'.$route[1].'._form') +
+ +
+ + @push('customscript') + + @endpush +