Feature #15 : Pemilik Jaminan
This commit is contained in:
111
app/Http/Controllers/PemilikJaminanController.php
Normal file
111
app/Http/Controllers/PemilikJaminanController.php
Normal file
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Lpj\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Exception;
|
||||
use Modules\Location\Models\City;
|
||||
use Modules\Location\Models\District;
|
||||
use Modules\Location\Models\Province;
|
||||
use Modules\Location\Models\Village;
|
||||
use Modules\Lpj\Http\Requests\DokumenJaminanRequest;
|
||||
use Modules\Lpj\Http\Requests\PemilikJaminanRequest;
|
||||
use Modules\Lpj\Models\Debiture;
|
||||
use Modules\Lpj\Models\DokumenJaminan;
|
||||
use Modules\Lpj\Models\HubunganPemilikJaminan;
|
||||
use Modules\Lpj\Models\PemilikJaminan;
|
||||
|
||||
class PemilikJaminanController extends Controller
|
||||
{
|
||||
public $user;
|
||||
|
||||
|
||||
public function index($id)
|
||||
{
|
||||
$debitur = Debiture::find($id);
|
||||
$pemilikJaminan = PemilikJaminan::where('debiture_id', $id)->get();
|
||||
|
||||
return view(
|
||||
'lpj::debitur.edit',
|
||||
compact('debitur', 'pemilikJaminan'),
|
||||
);
|
||||
}
|
||||
|
||||
public function store(PemilikJaminanRequest $request, $id)
|
||||
{
|
||||
$validate = $request->validated();
|
||||
if ($validate) {
|
||||
try {
|
||||
PemilikJaminan::create($validate);
|
||||
|
||||
return redirect()->route('debitur.pemilik.index', $id);
|
||||
} catch (Exception $e) {
|
||||
print_r($e->getMessage());
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function create($id)
|
||||
{
|
||||
$debitur = Debiture::find($id);
|
||||
$provinces = Province::all();
|
||||
$hubunganPemilik = HubunganPemilikJaminan::all();
|
||||
|
||||
return view(
|
||||
'lpj::pemilik_jaminan.form',
|
||||
compact('debitur', 'provinces', 'hubunganPemilik'),
|
||||
);
|
||||
}
|
||||
|
||||
public function update(PemilikJaminanRequest $request, $id, $pemilik)
|
||||
{
|
||||
$validate = $request->validated();
|
||||
if ($validate) {
|
||||
try {
|
||||
$pemilik = PemilikJaminan::find($pemilik);
|
||||
$pemilik->update($validate);
|
||||
|
||||
return redirect()->route('debitur.pemilik.index', $id);
|
||||
} catch (Exception $e) {
|
||||
print_r($e->getMessage());
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function edit($id, $pemilik)
|
||||
{
|
||||
$pemilik = PemilikJaminan::find($pemilik);
|
||||
$debitur = Debiture::find($pemilik->debiture_id);
|
||||
$provinces = Province::all();
|
||||
$cities = City::where('province_code', $pemilik->province_code)->get();
|
||||
$districts = District::where('city_code', $pemilik->city_code)->get();
|
||||
$villages = Village::where('district_code', $pemilik->district_code)->get();
|
||||
$hubunganPemilik = HubunganPemilikJaminan::all();
|
||||
|
||||
return view(
|
||||
'lpj::pemilik_jaminan.form',
|
||||
compact(
|
||||
'debitur',
|
||||
'provinces',
|
||||
'cities',
|
||||
'districts',
|
||||
'villages',
|
||||
'hubunganPemilik',
|
||||
'pemilik',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
public function destroy($id, $pemilik_id)
|
||||
{
|
||||
try {
|
||||
$jaminan = PemilikJaminan::find($pemilik_id);
|
||||
$jaminan->delete();
|
||||
echo json_encode(['success' => true, 'message' => 'Pemilik Jaminan deleted successfully']);
|
||||
} catch (Exception $e) {
|
||||
echo json_encode(['success' => false, 'message' => 'Failed to delete Pemilik Jaminan']);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@
|
||||
: array
|
||||
{
|
||||
$rules = [
|
||||
'debiture_id' => 'required|exists:debtures,id',
|
||||
'pemilik_jaminan_id' => 'required',
|
||||
'jenis_jaminan_id' => 'required',
|
||||
'jenis_legalitas_jaminan_id' => 'required',
|
||||
|
||||
44
app/Http/Requests/PemilikJaminanRequest.php
Normal file
44
app/Http/Requests/PemilikJaminanRequest.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Lpj\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class PemilikJaminanRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*/
|
||||
public function rules()
|
||||
: array
|
||||
{
|
||||
$rules = [
|
||||
'debiture_id' => 'required|exists:debitures,id',
|
||||
'npwp' => 'nullable|string|max:16',
|
||||
'email' => 'nullable|email|max:100',
|
||||
'phone' => 'nullable|string|max:20',
|
||||
'hubungan_pemilik_jaminan_id' => 'nullable|exists:hubungan_pemilik_jaminan,id',
|
||||
'province_code' => 'nullable|exists:provinces,code',
|
||||
'city_code' => 'nullable|exists:cities,code',
|
||||
'district_code' => 'nullable|exists:districts,code',
|
||||
'village_code' => 'nullable|exists:villages,code',
|
||||
'name' => 'required',
|
||||
'address' => 'nullable|string',
|
||||
'postal_code' => 'nullable|string|max:10',
|
||||
'status' => 'nullable|boolean',
|
||||
];
|
||||
|
||||
$rules['nomor_id'] = 'nullable|max:16|unique:pemilik_jaminan,nomor_id,debiture_id,' . $this->debiture_id;
|
||||
|
||||
return $rules;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*/
|
||||
public function authorize()
|
||||
: bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
67
app/Models/PemilikJaminan.php
Normal file
67
app/Models/PemilikJaminan.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Lpj\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Modules\Location\Models\City;
|
||||
use Modules\Location\Models\District;
|
||||
use Modules\Location\Models\Province;
|
||||
use Modules\Location\Models\Village;
|
||||
use Modules\Lpj\Database\Factories\PemilikJaminanFactory;
|
||||
|
||||
class PemilikJaminan extends Base
|
||||
{
|
||||
protected $table = 'pemilik_jaminan';
|
||||
protected $fillable = [
|
||||
'debiture_id',
|
||||
'hubungan_pemilik_jaminan_id',
|
||||
'name',
|
||||
'npwp',
|
||||
'email',
|
||||
'phone',
|
||||
'nomor_id',
|
||||
'province_code',
|
||||
'city_code',
|
||||
'district_code',
|
||||
'village_code',
|
||||
'postal_code',
|
||||
'address',
|
||||
'status',
|
||||
'authorized_at',
|
||||
'authorized_status',
|
||||
'authorized_by'
|
||||
];
|
||||
|
||||
public function province()
|
||||
{
|
||||
return $this->belongsTo(Province::class, 'province_code', 'code');
|
||||
}
|
||||
|
||||
public function city()
|
||||
{
|
||||
return $this->belongsTo(City::class, 'city_code', 'code');
|
||||
}
|
||||
|
||||
public function district()
|
||||
{
|
||||
return $this->belongsTo(District::class, 'district_code', 'code');
|
||||
}
|
||||
|
||||
public function village()
|
||||
{
|
||||
return $this->belongsTo(Village::class, 'village_code', 'code');
|
||||
}
|
||||
|
||||
public function debitur(){
|
||||
return $this->belongsTo(Debiture::class, 'debiture_id', 'id');
|
||||
}
|
||||
|
||||
public function dokumen(){
|
||||
return $this->hasMany(DokumenJaminan::class, 'pemilik_jaminan_id', 'id');
|
||||
}
|
||||
|
||||
public function hubungan_pemilik(){
|
||||
return $this->belongsTo(HubunganPemilikJaminan::class, 'hubungan_pemilik_jaminan_id', 'id');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user