Update Module Jenis Jaminan
- Penambahan Slug - Penambahan Funtcion to get legalitas jaminan by id jenis jaminan
This commit is contained in:
parent
77be1b2685
commit
3a787fb176
@ -9,6 +9,7 @@
|
||||
use Modules\Lpj\Exports\JenisJaminanExport;
|
||||
use Modules\Lpj\Http\Requests\JenisJaminanRequest;
|
||||
use Modules\Lpj\Models\JenisJaminan;
|
||||
use Modules\Lpj\Models\JenisLegalitasJaminan;
|
||||
|
||||
class JenisJaminanController extends Controller
|
||||
{
|
||||
@ -40,13 +41,15 @@
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('lpj::jenis_jaminan.create');
|
||||
$jenisLegalitasJaminan = JenisLegalitasJaminan::all();
|
||||
return view('lpj::jenis_jaminan.create', compact('jenisLegalitasJaminan'));
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
$jenisJaminan = JenisJaminan::find($id);
|
||||
return view('lpj::jenis_jaminan.create', compact('jenisJaminan'));
|
||||
$jenisJaminan = JenisJaminan::find($id);
|
||||
$jenisLegalitasJaminan = JenisLegalitasJaminan::all();
|
||||
return view('lpj::jenis_jaminan.create', compact('jenisJaminan', 'jenisLegalitasJaminan'));
|
||||
}
|
||||
|
||||
public function update(JenisJaminanRequest $request, $id)
|
||||
@ -147,4 +150,13 @@
|
||||
{
|
||||
return Excel::download(new JenisJaminanExport, 'jenis_jaminan.xlsx');
|
||||
}
|
||||
|
||||
public function legalitasJaminan($id)
|
||||
{
|
||||
$jenisJaminan = JenisJaminan::find($id);
|
||||
$legalitasJaminan = $jenisJaminan->jenis_legalitas_jaminan_id;
|
||||
|
||||
$legalitas = JenisLegalitasJaminan::whereIn('code', json_decode($legalitasJaminan, true))->get();
|
||||
echo json_encode($legalitas);
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,9 @@
|
||||
|
||||
namespace Modules\Lpj\Http\Requests;
|
||||
|
||||
use Haruncpi\LaravelIdGenerator\IdGenerator;
|
||||
use daengdeni\LaravelIdGenerator\IdGenerator;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class JenisJaminanRequest extends FormRequest
|
||||
{
|
||||
@ -14,8 +15,10 @@
|
||||
: array
|
||||
{
|
||||
return [
|
||||
'code' => 'required|max:5',
|
||||
'name' => 'required|max:255',
|
||||
'code' => 'required|max:5',
|
||||
'name' => 'required|max:255',
|
||||
'slug' => 'required|max:255',
|
||||
'jenis_legalitas_jaminan_id' => 'nullable',
|
||||
];
|
||||
}
|
||||
|
||||
@ -35,8 +38,13 @@
|
||||
$this->merge([
|
||||
'code' => IdGenerator::generate(
|
||||
['table' => 'jenis_jaminan', 'length' => 5, 'prefix' => 'JJ', 'field' => 'code'],
|
||||
),
|
||||
)
|
||||
]);
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'jenis_legalitas_jaminan_id' => json_encode($this->jenis_legalitas_jaminan_id),
|
||||
'slug' => Str::slug($this->name),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,8 @@
|
||||
|
||||
namespace Modules\Lpj\Models;
|
||||
|
||||
use Modules\Lpj\Database\Factories\JenisJaminanFactory;
|
||||
|
||||
class JenisJaminan extends Base
|
||||
{
|
||||
protected $table = 'jenis_jaminan';
|
||||
protected $fillable = ['code', 'name'];
|
||||
protected $fillable = ['code', 'name','slug','jenis_legalitas_jaminan_id'];
|
||||
}
|
||||
|
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('jenis_jaminan', function (Blueprint $table) {
|
||||
$table->string('jenis_legalitas_jaminan_id')->nullable()->after('slug');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('jenis_jaminan', function (Blueprint $table) {
|
||||
$table->dropColumn('jenis_legalitas_jaminan_id');
|
||||
});
|
||||
}
|
||||
};
|
@ -24,28 +24,50 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body grid gap-5">
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Code
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('code') border-danger @enderror" type="text" name="code" value="{{ $jenisJaminan->code ?? '' }}">
|
||||
@error('code')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
@if(isset($jenisJaminan->id))
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Code
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input readonly class="input border-warning bg-warning-light @error('code') border-danger bg-danger-light @enderror" type="text" name="code" value="{{ $jenisJaminan->code ?? '' }}">
|
||||
@error('code')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Name
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('name') border-danger @enderror" type="text" name="name" value="{{ $jenisJaminan->name ?? '' }}">
|
||||
<input class="input @error('name') border-danger bg-danger-light @enderror" type="text" name="name" value="{{ $jenisJaminan->name ?? '' }}">
|
||||
@error('name')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56">
|
||||
Jenis Legalitas Jaminan
|
||||
</label>
|
||||
<div class="grid grid-cols-3 lg:grid-cols-4 w-full gap-2.5">
|
||||
@foreach($jenisLegalitasJaminan as $row)
|
||||
<label class="switch">
|
||||
@if(isset($jenisJaminan->jenis_legalitas_jaminan_id))
|
||||
<input type="checkbox" @if(in_array($row->code,json_decode($jenisJaminan->jenis_legalitas_jaminan_id,true))) {{ "checked" }} @endif value="{{ $row->code }}" name="jenis_legalitas_jaminan_id[]"/>
|
||||
@else
|
||||
<input type="checkbox" value="{{ $row->code }}" name="jenis_legalitas_jaminan_id[]"/>
|
||||
@endif
|
||||
<span class="switch-label">
|
||||
{{ $row->name }}
|
||||
</span>
|
||||
</label>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-end">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
Save
|
||||
|
@ -49,6 +49,7 @@
|
||||
Route::resource('jenis-legalitas-jaminan', JenisLegalitasJaminanController::class);
|
||||
|
||||
Route::name('jenis-jaminan.')->prefix('jenis-jaminan')->group(function () {
|
||||
Route::get('legalitas/{id}', [JenisJaminanController::class, 'legalitasJaminan'])->name('legalitas');
|
||||
Route::get('restore/{id}', [JenisJaminanController::class, 'restore'])->name('restore');
|
||||
Route::get('datatables', [JenisJaminanController::class, 'dataForDatatables'])
|
||||
->name('datatables');
|
||||
|
Loading…
Reference in New Issue
Block a user