Merge branch 'master' into feature/senior-officer

This commit is contained in:
majid
2024-09-05 14:46:09 +07:00
32 changed files with 260 additions and 119 deletions

View File

@@ -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);
}
}

View File

@@ -66,13 +66,13 @@
{
$permohonan = Permohonan::find($id);
$branches = Branch::all();
$debitures = Debiture::all();
$debitur = Debiture::find($permohonan->debiture_id);
$tujuanPenilaian = TujuanPenilaian::all();
$status = StatusPermohonan::all();
return view(
'lpj::permohonan.form',
compact('permohonan', 'branches', 'debitures', 'tujuanPenilaian', 'status'),
compact('permohonan', 'branches', 'debitur', 'tujuanPenilaian', 'status'),
);
}

View File

@@ -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),
]);
}
}

View File

@@ -2,7 +2,9 @@
namespace Modules\Lpj\Http\Requests;
use daengdeni\LaravelIdGenerator\IdGenerator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Str;
class JenisLegalitasJaminanRequest extends FormRequest
{
@@ -12,16 +14,11 @@
public function rules()
: array
{
$rules = [
return [
'code' => 'required|max:6',
'name' => 'required|max:255',
'slug' => 'required|max:255',
];
if ($this->method() == 'PUT') {
$rules['code'] = 'required|max:50|unique:jenis_legalitas_jaminan,code,' . $this->id;
} else {
$rules['code'] = 'required|max:50|unique:jenis_legalitas_jaminan,code';
}
return $rules;
}
/**
@@ -32,4 +29,20 @@
{
return true;
}
public function prepareForValidation()
{
if($this->method() == 'POST' && $this->code == null) {
$this->merge([
'code' => IdGenerator::generate(
['table' => 'jenis_legalitas_jaminan', 'length' => 6, 'prefix' => 'JLJ', 'field' => 'code'],
),
'slug' => Str::slug($this->name),
]);
} else {
$this->merge([
'slug' => Str::slug($this->name),
]);
}
}
}

View File

@@ -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'];
}

View File

@@ -7,5 +7,5 @@
class JenisLegalitasJaminan extends Base
{
protected $table = 'jenis_legalitas_jaminan';
protected $fillable = ['code', 'name'];
protected $fillable = ['code', 'name','slug'];
}