diff --git a/app/Exports/RegionExport.php b/app/Exports/RegionExport.php
new file mode 100644
index 0000000..a7b2b51
--- /dev/null
+++ b/app/Exports/RegionExport.php
@@ -0,0 +1,49 @@
+id,
+ $row->code,
+ $row->name,
+ $row->created_at
+ ];
+ }
+
+ public function headings()
+ : array
+ {
+ return [
+ 'ID',
+ 'Code',
+ 'Name',
+ 'Created At'
+ ];
+ }
+
+ public function columnFormats()
+ : array
+ {
+ return [
+ 'A' => NumberFormat::FORMAT_NUMBER,
+ 'D' => NumberFormat::FORMAT_DATE_DATETIME
+ ];
+ }
+ }
diff --git a/app/Http/Controllers/JenisPenilaianController.php b/app/Http/Controllers/JenisPenilaianController.php
new file mode 100644
index 0000000..c38f673
--- /dev/null
+++ b/app/Http/Controllers/JenisPenilaianController.php
@@ -0,0 +1,156 @@
+validated();
+
+ try {
+ JenisPenilaian::create($validate);
+ return redirect()->route('basicdata.jenis-penilaian.index')->with('success', 'Jenis Penilaian created successfully');
+ } catch (Exception $e) {
+ return redirect()->route('basicdata.jenis-penilaian.create')->with('error', $e->getMessage());
+ }
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ $jenisPenilaian = JenisPenilaian::find($id);
+ return view('lpj::jenis_penilaian.form', compact('jenisPenilaian'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(JenisPenilaianRequest $request, $id)
+ {
+
+
+ $validate = $request->validate();
+
+ // dump($validate);
+
+ if ($validate) {
+ try {
+ $jenisPenilaian = JenisPenilaian::find($id);
+ $jenisPenilaian->update($validate);
+ return redirect()->route('basicdata.jenis-penilaian.index')->with('success', 'Jenis Penilaian updated successfully');
+ } catch (Exception $e) {
+ return redirect()->route('basicdata.jenis-penilaian.edit', $id)->with('error', $e->getMessage());
+ }
+ }
+
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ try {
+ $jenisPenilaian = JenisPenilaian::find($id);
+ $jenisPenilaian->delete();
+ echo json_encode(['success' => true, 'message' => 'Jenis Penilaian deleted successfully']);
+
+ } catch (Exception $e) {
+ echo json_encode(['success' => false, 'message' => 'Failed to delete Jenis Penilaian']);
+ }
+ }
+
+ public function dataForDatatables(Request $request)
+ {
+
+
+ if (is_null($this->user) || !$this->user->can('jenis_penilaian.view')) {
+ //abort(403, 'Sorry! You are not allowed to view users.');
+ }
+
+ $query = JenisPenilaian::query();
+
+ if ($request->has('search') && !empty($request->get('search'))) {
+ $search = $request->get('search');
+ $query->where(function ($q) use ($search) {
+ $q->where('code', 'LIKE', "%$search%");
+ $q->orWhere('name', 'LIKE', "%$search%");
+ });
+ }
+
+ if($request->has('sortOrder') && !empty($request->get('sortOrder'))){
+ $order = $request->get('sortOrder');
+ $column = $request->get('sortField');
+ $query->orderBy($column, $order);
+ }
+
+ $totalRecords = $query->count();
+
+
+ $size = $request->get('size');
+ $pageCount = 1;
+
+ if ($size > 0) {
+ if ($request->has('page') && $request->has('size')) {
+ $page = $request->get('page');
+ $offset = ($page - 1) * $size;
+ $query->skip($offset)->take($size);
+ $filteredRecords = $query->count();
+ $pageCount = ceil($totalRecords / $size);
+ }
+
+ $data = $query->get();
+ } else {
+ $filteredRecords = $totalRecords;
+ $data = $query->get();
+ }
+
+ $currentPage = $request->get('page') ?? 1;
+
+
+ // Return the response data as a JSON object
+ return response()->json([
+ 'draw' => $request->get('draw'),
+ 'recordsTotal' => $totalRecords,
+ 'recordsFiltered' => $filteredRecords,
+ 'pageCount' => $pageCount,
+ 'page' => $currentPage,
+ 'totalCount' => $totalRecords,
+ 'data' => $data
+ ]);
+ }
+}
diff --git a/app/Http/Controllers/PermohonanController.php b/app/Http/Controllers/PermohonanController.php
index ea6d5f3..a6b3276 100644
--- a/app/Http/Controllers/PermohonanController.php
+++ b/app/Http/Controllers/PermohonanController.php
@@ -29,7 +29,7 @@
if ($validate) {
try {
- // Save to database
+ // Save to database qq
Permohonan::create($validate);
return redirect()
->route('permohonan.index')
diff --git a/app/Http/Controllers/RegionController.php b/app/Http/Controllers/RegionController.php
new file mode 100644
index 0000000..e6aa981
--- /dev/null
+++ b/app/Http/Controllers/RegionController.php
@@ -0,0 +1,164 @@
+validated();
+
+ if ($validate) {
+ try {
+ // Save to database
+ Regions::create($validate);
+ return redirect()
+ ->route('basicdata.region.index')
+ ->with('success', 'region created successfully');
+ } catch (Exception $e) {
+ return redirect()
+ ->route('basicdata.region.create')
+ ->with('error', 'Failed to create region');
+ }
+ }
+ }
+
+
+ public function edit($id)
+ {
+ $region = Regions::find($id);
+ return view('lpj::region.create', compact('region'));
+
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(RegionRequest $request, $id)
+ {
+ $validate = $request->validated();
+
+ if ($validate) {
+ try {
+ // Update in database
+ $region = Regions::find($id);
+ $region->update($validate);
+ return redirect()
+ ->route('basicdata.region.index')
+ ->with('success', 'Region updated successfully');
+ } catch (Exception $e) {
+ return redirect()
+ ->route('basicdata.region.edit', $id)
+ ->with('error', 'Failed to update region');
+ }
+ }
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ try {
+ // Delete from database
+ $region = Regions::find($id);
+ $region->delete();
+
+ echo json_encode(['success' => true, 'message' => 'Region deleted successfully']);
+ } catch (Exception $e) {
+ echo json_encode(['success' => false, 'message' => 'Failed to delete region']);
+ }
+ }
+
+ public function dataForDatatables(Request $request)
+ {
+
+
+ if (is_null($this->user) || !$this->user->can('region.view')) {
+ //abort(403, 'Sorry! You are not allowed to view users.');
+ }
+
+ $query = Regions::query();
+
+ if ($request->has('search') && !empty($request->get('search'))) {
+ $search = $request->get('search');
+ $query->where(function ($q) use ($search) {
+ $q->where('code', 'LIKE', "%$search%");
+ $q->orWhere('name', 'LIKE', "%$search%");
+ });
+ }
+
+ if($request->has('sortOrder') && !empty($request->get('sortOrder'))){
+ $order = $request->get('sortOrder');
+ $column = $request->get('sortField');
+ $query->orderBy($column, $order);
+ }
+
+ $totalRecords = $query->count();
+
+ // Apply pagination if provided
+ if ($request->has('page') && $request->has('size')) {
+ $page = $request->get('page');
+ $size = $request->get('size');
+ $offset = ($page - 1) * $size; // Calculate the offset
+
+ $query->skip($offset)->take($size);
+ }
+
+ // Get the filtered count of records
+ $filteredRecords = $query->count();
+
+ // Get the data for the current page
+ $data = $query->get();
+
+ // Calculate the page count
+ $pageCount = ceil($totalRecords / $request->get('size'));
+
+ // Calculate the current page number
+ $currentPage = 0 + 1;
+
+ // dump($data);
+
+ // Return the response data as a JSON object
+ return response()->json([
+ 'draw' => $request->get('draw'),
+ 'recordsTotal' => $totalRecords,
+ 'recordsFiltered' => $filteredRecords,
+ 'pageCount' => $pageCount,
+ 'page' => $currentPage,
+ 'totalCount' => $totalRecords,
+ 'data' => $data
+ ]);
+ }
+
+ public function export()
+ {
+ return Excel::download(new RegionExport, 'region.xlsx');
+ }
+}
diff --git a/app/Http/Controllers/TeamsController.php b/app/Http/Controllers/TeamsController.php
new file mode 100644
index 0000000..fa6fbe7
--- /dev/null
+++ b/app/Http/Controllers/TeamsController.php
@@ -0,0 +1,241 @@
+validated();
+
+ DB::beginTransaction();
+ try {
+ $teams = Teams::create($validate);
+
+ $users = $request->input('user', []);
+
+ // loop untuk insert data users ke tabel teams_users
+ foreach ($users as $user) {
+ TeamsUsers::create([
+ 'teams_id' => $teams->id,
+ 'user_id' => $user
+ ]);
+ }
+
+ DB::commit();
+
+ return redirect()
+ ->route('basicdata.teams.index')
+ ->with('success', 'Data saved successfully. ');
+ } catch (Exception $e) {
+
+ DB::rollBack();
+
+ return redirect()
+ ->route('basicdata.teams.create')
+ ->with('error', 'Failed to save data. ');
+ }
+ }
+
+ /**
+ * Show the specified resource.
+ */
+ public function show($id)
+ {
+ return view('lpj::show');
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ $teams = Teams::find($id);
+ $region = Regions::all();
+ $user = User::all();
+ $selectedUsers = $teams->teamsUsers->pluck('user_id')->toArray();
+
+ return view('lpj::teams.form', compact('teams', 'region', 'user', 'selectedUsers'));
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(TeamsRequest $request, $id)
+ {
+ $validate = $request->validated();
+
+ DB::beginTransaction();
+ try {
+ $teams = Teams::findOrFail($id);
+
+ // Update data tim
+ $teams->update($validate);
+ $userIds = $request->input('user', []);
+
+ $teams->teamsUsers()->delete();
+
+
+ foreach ($userIds as $userId) {
+ TeamsUsers::create([
+ 'teams_id' => $teams->id,
+ 'user_id' => $userId
+ ]);
+ }
+
+ DB::commit();
+
+ return redirect()
+ ->route('basicdata.teams.index')
+ ->with('success', 'Data updated successfully. ');
+ } catch (Exception $e) {
+
+ DB::rollBack();
+
+ return redirect()
+ ->route('basicdata.teams.create')
+ ->with('error', 'Failed to update data. ');
+ }
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy($id)
+ {
+ DB::beginTransaction();
+ try {
+
+ $teams = Teams::findOrFail($id);
+ $teams->teamsUsers()->delete();
+
+ // Hapus tim
+ $teams->delete();
+
+ DB::commit();
+
+ return redirect()
+ ->route('basicdata.teams.index')
+ ->with('success', 'Team has been deleted successfully.');
+ } catch (Exception $e) {
+ DB::rollBack();
+
+ return redirect()
+ ->route('basicdata.teams.index')
+ ->with('error', 'Failed to delete team. ');
+ }
+ }
+
+
+ public function dataForDatatables(Request $request)
+ {
+ if (is_null($this->user) || !$this->user->can('debitur.view')) {
+ //abort(403, 'Sorry! You are not allowed to view users.');
+ }
+
+ $query = Teams::select('teams.id as id', 'teams.name as team_name', 'regions.name as region_name')
+ ->join('regions', 'teams.regions_id', '=', 'regions.id')
+ ->leftJoin('teams_users', 'teams.id', '=', 'teams_users.teams_id')
+ ->leftJoin('users', 'teams_users.user_id', '=', 'users.id')
+ ->addSelect('users.name as user_name');
+
+ // search filter
+ if ($request->has('search') && !empty($request->get('search'))) {
+ $search = $request->get('search');
+ $query->where(function ($q) use ($search) {
+ $q->where('teams.name', 'LIKE', "%$search%")
+ ->orWhere('regions.name', 'LIKE', "%$search%")
+ ->orWhere('users.name', 'LIKE', "%$search%");
+ });
+ }
+
+ // sorting
+ if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
+ $order = $request->get('sortOrder');
+ $column = $request->get('sortField');
+ $query->orderBy($column, $order);
+ }
+
+ $totalRecords = $query->count();
+
+ $size = $request->get('size');
+ $pageCount = 1;
+
+ if ($size > 0) {
+ if ($request->has('page') && $request->has('size')) {
+ $page = $request->get('page');
+ $offset = ($page - 1) * $size;
+ $query->skip($offset)->take($size);
+ $filteredRecords = $query->count();
+ $pageCount = ceil($totalRecords / $size);
+ }
+
+ $data = $query->get();
+ } else {
+ $filteredRecords = $totalRecords;
+ $data = $query->get();
+ }
+
+ $currentPage = $request->get('page') ?? 1;
+
+ $formattedData = $data->groupBy('id')->map(function ($group) {
+ $team = $group->first();
+ $team->user_team = $group->map(function ($item) {
+ return [
+ 'nama' => $item->user_name,
+ // 'role' => $item->role_name,
+ ];
+ })->toArray();
+ return $team;
+ })->values();
+
+ return response()->json([
+ 'draw' => $request->get('draw'),
+ 'recordsTotal' => $totalRecords,
+ 'recordsFiltered' => $filteredRecords,
+ 'pageCount' => $pageCount,
+ 'page' => $currentPage,
+ 'totalCount' => $totalRecords,
+ 'data' => $formattedData
+ ]);
+ }
+
+
+
+
+}
diff --git a/app/Http/Requests/JenisPenilaianRequest.php b/app/Http/Requests/JenisPenilaianRequest.php
new file mode 100644
index 0000000..58562ea
--- /dev/null
+++ b/app/Http/Requests/JenisPenilaianRequest.php
@@ -0,0 +1,42 @@
+ 'required|string|max:255',
+ 'status' => 'nullable|boolean',
+ 'authorized_at' => 'nullable|datetime',
+ 'authorized_status' => 'nullable|string|max:1',
+ 'authorized_by' => 'nullable|exists:users,id',
+ ];
+
+ if ($this->method() == 'PUT') {
+
+ $rules['code'] = 'required|string|max:3|unique:jenis_penilaian,code,' . $this->route('id');
+
+
+ } else {
+ $rules['code'] = 'required|string|max:3|unique:jenis_penilaian,code';
+ }
+
+ return $rules;
+ }
+
+ /**
+ * Determine if the user is authorized to make this request.
+ */
+ public function authorize(): bool
+ {
+ return true;
+ }
+}
diff --git a/app/Http/Requests/RegionRequest.php b/app/Http/Requests/RegionRequest.php
new file mode 100644
index 0000000..fd9ab1d
--- /dev/null
+++ b/app/Http/Requests/RegionRequest.php
@@ -0,0 +1,38 @@
+ 'required|string|max:255',
+ 'status' => 'nullable|boolean',
+ 'authorized_at' => 'nullable|datetime',
+ 'authorized_status' => 'nullable|string|max:1',
+ 'authorized_by' => 'nullable|exists:users,id',
+ ];
+
+ if ($this->method() == 'PUT') {
+ $rules['code'] = 'required|string|max:3|unique:regions,code,' . $this->id;
+ } else {
+ $rules['code'] = 'required|string|max:3|unique:regions,code';
+ }
+
+ return $rules;
+ }
+
+ /**
+ * Determine if the user is authorized to make this request.
+ */
+ public function authorize(): bool
+ {
+ return true;
+ }
+}
diff --git a/app/Http/Requests/TeamsRequest.php b/app/Http/Requests/TeamsRequest.php
new file mode 100644
index 0000000..0f1be4b
--- /dev/null
+++ b/app/Http/Requests/TeamsRequest.php
@@ -0,0 +1,41 @@
+ 'required|string|max:255',
+ 'status' => 'nullable|boolean',
+ 'regions_id' => 'nullable|exists:regions,id',
+ 'user.*' => 'nullable|exists:users,id',
+ 'authorized_at' => 'nullable|datetime',
+ 'authorized_status' => 'nullable|string|max:1',
+ 'authorized_by' => 'nullable|exists:users,id',
+
+ ];
+
+ if ($this->method() == 'PUT') {
+ $rules['code'] = 'required|string|max:3|unique:teams,code,' . $this->id;
+ } else {
+ $rules['code'] = 'required|string|max:3|unique:teams,code';
+ }
+
+ return $rules;
+ }
+
+ /**
+ * Determine if the user is authorized to make this request.
+ */
+ public function authorize(): bool
+ {
+ return true;
+ }
+}
diff --git a/app/Models/JenisPenilaian.php b/app/Models/JenisPenilaian.php
new file mode 100644
index 0000000..f072a82
--- /dev/null
+++ b/app/Models/JenisPenilaian.php
@@ -0,0 +1,25 @@
+hasMany(Penilaian::class , 'jenis_penilaian_id', 'id');
+ }
+
+}
diff --git a/app/Models/Penilaian.php b/app/Models/Penilaian.php
new file mode 100644
index 0000000..e4d6bdd
--- /dev/null
+++ b/app/Models/Penilaian.php
@@ -0,0 +1,38 @@
+belongsTo(JenisPenilaian::class, 'jenis_penilaian_id', 'id');
+ }
+
+ public function teams(){
+ return $this->belongsTo(Teams::class, 'team_id', 'id');
+ }
+
+ // public function users(){
+ // return $this->belongsTo(User::class, 'user_id', 'id');
+ // }
+
+
+}
diff --git a/app/Models/Regions.php b/app/Models/Regions.php
new file mode 100644
index 0000000..28836b5
--- /dev/null
+++ b/app/Models/Regions.php
@@ -0,0 +1,26 @@
+hasMany(Teams::class, 'regions_id', 'id');
+ }
+}
diff --git a/app/Models/Teams.php b/app/Models/Teams.php
new file mode 100644
index 0000000..0fd48a8
--- /dev/null
+++ b/app/Models/Teams.php
@@ -0,0 +1,40 @@
+belongsTo(Regions::class, 'regions_id', 'id');
+ }
+
+ public function teamsUsers(){
+ return $this->hasMany(TeamsUsers::class, 'teams_id', 'id');
+ }
+
+ public function penilaian(){
+ return $this->hasMany(Penilaian::class, 'teams_id', 'id');
+ }
+
+
+
+}
+
diff --git a/app/Models/TeamsUsers.php b/app/Models/TeamsUsers.php
new file mode 100644
index 0000000..c98b6d0
--- /dev/null
+++ b/app/Models/TeamsUsers.php
@@ -0,0 +1,33 @@
+belongsTo(Teams::class, 'teams_id', 'id');
+ }
+
+
+ public function user()
+ {
+ return $this->belongsTo(User::class, 'user_id', 'id');
+ }
+}
diff --git a/database/migrations/2024_08_12_023807_create_debitures_table.php b/database/migrations/2024_08_12_023807_create_debitures_table.php
new file mode 100644
index 0000000..583c859
--- /dev/null
+++ b/database/migrations/2024_08_12_023807_create_debitures_table.php
@@ -0,0 +1,54 @@
+id();
+ $table->foreignIdFor(Branch::class)->constrained()->onDelete('cascade');
+ $table->string('cif', 10)->unique();
+ $table->string('name');
+ $table->date('registered_at')->nullable();
+ $table->string('npwp', 16)->nullable();
+ $table->string('nomor_id', 16)->nullable();
+ $table->string('email', 100)->nullable();
+ $table->string('phone', 15)->nullable();
+ $table->string('nomor_rekening', 50)->nullable();
+ $table->string('province_code')->nullable()->index();
+ $table->string('city_code')->nullable()->index();
+ $table->string('district_code')->nullable()->index();
+ $table->string('village_code')->nullable()->index();
+ $table->string('postal_code', 5)->nullable();
+ $table->text('address')->nullable();
+
+ $table->boolean('status')->default(true)->nullable();
+ $table->timestamps();
+ $table->timestamp('authorized_at')->nullable();
+ $table->char('authorized_status', 1)->nullable();
+ $table->softDeletes();
+
+ $table->unsignedBigInteger('created_by')->nullable();
+ $table->unsignedBigInteger('updated_by')->nullable();
+ $table->unsignedBigInteger('deleted_by')->nullable();
+ $table->unsignedBigInteger('authorized_by')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down()
+ : void
+ {
+ Schema::dropIfExists('debitures');
+ }
+ };
diff --git a/database/migrations/2024_09_05_030302_create_regions_table.php b/database/migrations/2024_09_05_030302_create_regions_table.php
new file mode 100644
index 0000000..3f942ff
--- /dev/null
+++ b/database/migrations/2024_09_05_030302_create_regions_table.php
@@ -0,0 +1,36 @@
+id();
+ $table->string('code')->unique()->index();
+ $table->string('name');
+ $table->char('status')->nullable();
+ $table->char('authorized_status', 1)->nullable();
+ $table->timestamps();
+ $table->timestamp('authorized_at')->nullable();
+ $table->unsignedBigInteger('authorized_by')->nullable();
+ $table->softDeletes();
+ $table->unsignedBigInteger('created_by')->nullable();
+ $table->unsignedBigInteger('updated_by')->nullable();
+ $table->unsignedBigInteger('deleted_by')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('regions');
+ }
+};
diff --git a/database/migrations/2024_09_05_030338_create_jenis_penilaian_table.php b/database/migrations/2024_09_05_030338_create_jenis_penilaian_table.php
new file mode 100644
index 0000000..bf31ab4
--- /dev/null
+++ b/database/migrations/2024_09_05_030338_create_jenis_penilaian_table.php
@@ -0,0 +1,37 @@
+id();
+ $table->string('code')->unique()->index();
+ $table->string('name');
+ $table->char('status')->nullable();
+ $table->char('authorized_status', 1)->nullable();
+ $table->timestamps();
+ $table->timestamp('authorized_at')->nullable();
+ $table->unsignedBigInteger('authorized_by')->nullable();
+ $table->softDeletes();
+ $table->unsignedBigInteger('created_by')->nullable();
+ $table->unsignedBigInteger('updated_by')->nullable();
+ $table->unsignedBigInteger('deleted_by')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('jenis_penilaian');
+ }
+};
diff --git a/database/migrations/2024_09_05_030405_create_teams_table.php b/database/migrations/2024_09_05_030405_create_teams_table.php
new file mode 100644
index 0000000..8ecffde
--- /dev/null
+++ b/database/migrations/2024_09_05_030405_create_teams_table.php
@@ -0,0 +1,41 @@
+id();
+ $table->foreignIdFor(Regions::class)->constrained()->onDelete('cascade');
+ $table->string('code')->unique()->index();
+ $table->string('name');
+ $table->char('status')->nullable();
+ $table->char('authorized_status', 1)->nullable();
+ $table->timestamps();
+ $table->timestamp('authorized_at')->nullable();
+ $table->unsignedBigInteger('authorized_by')->nullable();
+ $table->softDeletes();
+ $table->unsignedBigInteger('created_by')->nullable();
+ $table->unsignedBigInteger('updated_by')->nullable();
+ $table->unsignedBigInteger('deleted_by')->nullable();
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('teams');
+ }
+};
diff --git a/database/migrations/2024_09_05_030417_create_teams_users_table.php b/database/migrations/2024_09_05_030417_create_teams_users_table.php
new file mode 100644
index 0000000..32167ee
--- /dev/null
+++ b/database/migrations/2024_09_05_030417_create_teams_users_table.php
@@ -0,0 +1,39 @@
+id();
+ $table->foreignIdFor(Teams::class)->constrained()->onDelete('cascade');
+ $table->unsignedBigInteger('user_id');
+ $table->boolean('status')->default(true)->nullable();
+ $table->char('authorized_status', 1)->nullable();
+ $table->timestamps();
+ $table->timestamp('authorized_at')->nullable();
+ $table->unsignedBigInteger('authorized_by')->nullable();
+ $table->softDeletes();
+ $table->unsignedBigInteger('created_by')->nullable();
+ $table->unsignedBigInteger('updated_by')->nullable();
+ $table->unsignedBigInteger('deleted_by')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('teams_users');
+ }
+};
diff --git a/database/migrations/2024_09_05_070712_create_penilaian_table.php b/database/migrations/2024_09_05_070712_create_penilaian_table.php
new file mode 100644
index 0000000..9764f04
--- /dev/null
+++ b/database/migrations/2024_09_05_070712_create_penilaian_table.php
@@ -0,0 +1,43 @@
+id();
+ $table->foreignIdFor(JenisPenilaian::class);
+ $table->foreignIdFor(Teams::class);
+ $table->unsignedBigInteger('user_id');
+ $table->datetime('tanggal_kunjungan');
+ $table->text('keterangan');
+ $table->char('status');
+ $table->timestamps();
+ $table->char('authorized_status', 1)->nullable();
+ $table->timestamp('authorized_at')->nullable();
+ $table->softDeletes();
+ $table->unsignedBigInteger('created_by')->nullable();
+ $table->unsignedBigInteger('updated_by')->nullable();
+ $table->unsignedBigInteger('deleted_by')->nullable();
+ $table->unsignedBigInteger('authorized_by')->nullable();
+
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('penilaian');
+ }
+};
diff --git a/module.json b/module.json
index 2dbec76..568f490 100644
--- a/module.json
+++ b/module.json
@@ -182,7 +182,32 @@
"attributes": [],
"permission": "",
"roles": []
+ },
+ {
+ "title": "Region",
+ "path": "basicdata.region",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": []
+ },
+ {
+ "title": "Team Penilai",
+ "path": "basicdata.teams",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": []
+ },
+ {
+ "title": "Jenis Penilaian",
+ "path": "basicdata.jenispenilaian",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": []
}
+
]
}
],
diff --git a/resources/views/jenis_penilaian/form.blade.php b/resources/views/jenis_penilaian/form.blade.php
new file mode 100644
index 0000000..ee73abe
--- /dev/null
+++ b/resources/views/jenis_penilaian/form.blade.php
@@ -0,0 +1,64 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
+@endsection
+
+@section('content')
+
+@endsection
diff --git a/resources/views/jenis_penilaian/index.blade.php b/resources/views/jenis_penilaian/index.blade.php
new file mode 100644
index 0000000..4d027a6
--- /dev/null
+++ b/resources/views/jenis_penilaian/index.blade.php
@@ -0,0 +1,160 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render('basicdata.jenispenilaian') }}
+@endsection
+
+@section('content')
+
+@endsection
+
+
+
+@push('scripts')
+
+
+
+@endpush
diff --git a/resources/views/region/create.blade.php b/resources/views/region/create.blade.php
new file mode 100644
index 0000000..ed8ca6f
--- /dev/null
+++ b/resources/views/region/create.blade.php
@@ -0,0 +1,61 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
+@endsection
+
+@section('content')
+
+ @if (isset($region->id))
+
+
+@endsection
diff --git a/resources/views/region/index.blade.php b/resources/views/region/index.blade.php
new file mode 100644
index 0000000..2d0bd32
--- /dev/null
+++ b/resources/views/region/index.blade.php
@@ -0,0 +1,152 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render('basicdata.region') }}
+@endsection
+
+@section('content')
+
+@endsection
+
+
+
+@push('scripts')
+
+
+
+@endpush
+
+
+
diff --git a/resources/views/teams/form.blade.php b/resources/views/teams/form.blade.php
new file mode 100644
index 0000000..2070f8c
--- /dev/null
+++ b/resources/views/teams/form.blade.php
@@ -0,0 +1,113 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
+@endsection
+
+@section('content')
+
+
+@endsection
diff --git a/resources/views/teams/index.blade.php b/resources/views/teams/index.blade.php
new file mode 100644
index 0000000..dff81d8
--- /dev/null
+++ b/resources/views/teams/index.blade.php
@@ -0,0 +1,174 @@
+@extends('layouts.main')
+
+@section('breadcrumbs')
+ {{ Breadcrumbs::render('basicdata.teams') }}
+@endsection
+
+@section('content')
+
+@endsection
+
+
+
+@push('scripts')
+
+
+
+@endpush
diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php
index f39cfcc..b850459 100644
--- a/routes/breadcrumbs.php
+++ b/routes/breadcrumbs.php
@@ -267,3 +267,46 @@
$trail->push('Data Permohonan');
});
+
+ Breadcrumbs::for('basicdata.region', function (BreadcrumbTrail $trail) {
+ $trail->parent('basicdata');
+ $trail->push('Region', route('basicdata.region.index'));
+ });
+ Breadcrumbs::for('basicdata.region.create', function (BreadcrumbTrail $trail) {
+ $trail->parent('basicdata.region');
+ $trail->push('Tambah Region', route('basicdata.region.create'));
+ });
+ Breadcrumbs::for('basicdata.region.edit', function (BreadcrumbTrail $trail) {
+ $trail->parent('basicdata.region');
+ $trail->push('Edit Region');
+ });
+
+
+ Breadcrumbs::for('basicdata.teams', function (BreadcrumbTrail $trail) {
+ $trail->parent('basicdata');
+ $trail->push('Team', route('basicdata.teams.index'));
+ });
+ Breadcrumbs::for('basicdata.teams.create', function (BreadcrumbTrail $trail) {
+ $trail->parent('basicdata.teams');
+ $trail->push('Tambah Team', route('basicdata.teams.create'));
+ });
+
+ Breadcrumbs::for('basicdata.teams.edit', function (BreadcrumbTrail $trail) {
+ $trail->parent('basicdata.teams');
+ $trail->push('Edit Team');
+ });
+
+
+ Breadcrumbs::for('basicdata.jenispenilaian', function (BreadcrumbTrail $trail) {
+ $trail->parent('basicdata');
+ $trail->push('Jenis Penilaian', route('basicdata.jenispenilaian.index'));
+ });
+ Breadcrumbs::for('basicdata.jenispenilaian.create', function (BreadcrumbTrail $trail) {
+ $trail->parent('basicdata.jenispenilaian');
+ $trail->push('Tambah Jenis Penilaian', route('basicdata.jenispenilaian.create'));
+ });
+
+ Breadcrumbs::for('basicdata.jenispenilaian.edit', function (BreadcrumbTrail $trail) {
+ $trail->parent('basicdata.jenispenilaian');
+ $trail->push('Edit Jenis Penilaian');
+ });
diff --git a/routes/web.php b/routes/web.php
index d1737ef..fc30aa1 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -1,203 +1,269 @@
group(function () {
- Route::name('basicdata.')->prefix('basic-data')->group(function () {
- Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () {
- Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore');
- Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export');
- });
- Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class);
+Route::middleware(['auth'])->group(function () {
- Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () {
- Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore');
- Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export');
- });
- 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');
- Route::get('export', [JenisJaminanController::class, 'export'])->name('export');
- });
- Route::resource('jenis-jaminan', JenisJaminanController::class);
-
- Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () {
- Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore');
- Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export');
- });
- Route::resource('tujuan-penilaian', TujuanPenilaianController::class);
-
- Route::name('jenis-aset.')->prefix('jenis-aset')->group(function () {
- Route::get('restore/{id}', [JenisAsetController::class, 'restore'])->name('restore');
- Route::get('datatables', [JenisAsetController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [JenisAsetController::class, 'export'])->name('export');
- });
- Route::resource('jenis-aset', JenisAsetController::class);
-
- Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () {
- Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore');
- Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [JenisDokumenController::class, 'export'])->name('export');
- });
- Route::resource('jenis-dokumen', JenisDokumenController::class);
-
- Route::name('currency.')->prefix('mata-uang')->group(function () {
- Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore');
- Route::get('datatables', [CurrencyController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [CurrencyController::class, 'export'])->name('export');
- });
-
- Route::resource('mata-uang', CurrencyController::class, [
- 'names' => [
- 'index' => 'currency.index',
- 'show' => 'currency.show',
- 'create' => 'currency.create',
- 'store' => 'currency.store',
- 'edit' => 'currency.edit',
- 'update' => 'currency.update',
- 'destroy' => 'currency.destroy',
- ],
- ]);
-
- Route::name('branch.')->prefix('cabang')->group(function () {
- Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore');
- Route::get('datatables', [BranchController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [BranchController::class, 'export'])->name('export');
- });
-
- Route::resource('cabang', BranchController::class, [
- 'names' => [
- 'index' => 'branch.index',
- 'show' => 'branch.show',
- 'create' => 'branch.create',
- 'store' => 'branch.store',
- 'edit' => 'branch.edit',
- 'update' => 'branch.update',
- 'destroy' => 'branch.destroy',
- ],
- ]);
-
- Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () {
- Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore');
- Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [NilaiPlafondController::class, 'export'])->name('export');
- });
- Route::resource('nilai-plafond', NilaiPlafondController::class);
-
- Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () {
- Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore');
- Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export');
- });
- Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class);
-
- Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () {
- Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore');
- Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export');
- });
- Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class);
-
- Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () {
- Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore');
- Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [ArahMataAnginController::class, 'export'])->name('export');
- });
- Route::resource('arah-mata-angin', ArahMataAnginController::class);
-
-
- Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () {
- Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore');
- Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])
- ->name('datatables');
- Route::get('export', [StatusPermohonanController::class, 'export'])->name('export');
- });
- Route::resource('status-permohonan', StatusPermohonanController::class);
- });
-
- Route::name('permohonan.')->prefix('permohonan')->group(function () {
- Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur');
- Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download');
- Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore');
- Route::get('datatables', [PermohonanController::class, 'dataForDatatables'])
+ /** ROUTE BASIC DATA ***/
+ Route::name('basicdata.')->prefix('basic-data')->group(function () {
+ Route::name('jenis-fasilitas-kredit.')->prefix('jenis-fasilitas-kredit')->group(function () {
+ Route::get('restore/{id}', [JenisFasilitasKreditController::class, 'restore'])->name('restore');
+ Route::get('datatables', [JenisFasilitasKreditController::class, 'dataForDatatables'])
->name('datatables');
- Route::get('export', [PermohonanController::class, 'export'])->name('export');
+ Route::get('export', [JenisFasilitasKreditController::class, 'export'])->name('export');
});
+ Route::resource('jenis-fasilitas-kredit', JenisFasilitasKreditController::class);
- Route::resource('permohonan', PermohonanController::class);
-
- Route::name('debitur.')->prefix('debitur')->group(function () {
- Route::get('download/{id}', [DebitureController::class, 'download'])->name('download');
- Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore');
- Route::get('datatables', [DebitureController::class, 'dataForDatatables'])
+ Route::name('jenis-legalitas-jaminan.')->prefix('jenis-legalitas-jaminan')->group(function () {
+ Route::get('restore/{id}', [JenisLegalitasJaminanController::class, 'restore'])->name('restore');
+ Route::get('datatables', [JenisLegalitasJaminanController::class, 'dataForDatatables'])
->name('datatables');
- Route::get('export', [DebitureController::class, 'export'])->name('export');
+ Route::get('export', [JenisLegalitasJaminanController::class, 'export'])->name('export');
+ });
+ 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');
+ Route::get('export', [JenisJaminanController::class, 'export'])->name('export');
+ });
+ Route::resource('jenis-jaminan', JenisJaminanController::class);
- Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () {
- Route::get('/', [DokumenJaminanController::class, 'index'])->name('index');
- Route::get('create', [DokumenJaminanController::class, 'create'])->name('create');
- Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit');
- Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update');
- Route::post('store', [DokumenJaminanController::class, 'store'])->name('store');
- Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy');
- });
+ Route::name('tujuan-penilaian.')->prefix('tujuan-penilaian')->group(function () {
+ Route::get('restore/{id}', [TujuanPenilaianController::class, 'restore'])->name('restore');
+ Route::get('datatables', [TujuanPenilaianController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [TujuanPenilaianController::class, 'export'])->name('export');
+ });
+ Route::resource('tujuan-penilaian', TujuanPenilaianController::class);
- Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () {
- Route::get('/', [PemilikJaminanController::class, 'index'])->name('index');
- Route::get('create', [PemilikJaminanController::class, 'create'])->name('create');
- Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit');
- Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update');
- Route::post('store', [PemilikJaminanController::class, 'store'])->name('store');
- Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy');
- });
+ Route::name('jenis-aset.')->prefix('jenis-aset')->group(function () {
+ Route::get('restore/{id}', [JenisAsetController::class, 'restore'])->name('restore');
+ Route::get('datatables', [JenisAsetController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [JenisAsetController::class, 'export'])->name('export');
+ });
+ Route::resource('jenis-aset', JenisAsetController::class);
+
+ Route::name('jenis-dokumen.')->prefix('jenis-dokumen')->group(function () {
+ Route::get('restore/{id}', [JenisDokumenController::class, 'restore'])->name('restore');
+ Route::get('datatables', [JenisDokumenController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [JenisDokumenController::class, 'export'])->name('export');
+ });
+ Route::resource('jenis-dokumen', JenisDokumenController::class);
+
+ Route::name('currency.')->prefix('mata-uang')->group(function () {
+ Route::get('restore/{id}', [CurrencyController::class, 'restore'])->name('restore');
+ Route::get('datatables', [CurrencyController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [CurrencyController::class, 'export'])->name('export');
});
- Route::resource('debitur', DebitureController::class);
+ Route::resource('mata-uang', CurrencyController::class, [
+ 'names' => [
+ 'index' => 'currency.index',
+ 'show' => 'currency.show',
+ 'create' => 'currency.create',
+ 'store' => 'currency.store',
+ 'edit' => 'currency.edit',
+ 'update' => 'currency.update',
+ 'destroy' => 'currency.destroy',
+ ],
+ ]);
+
+ Route::name('branch.')->prefix('cabang')->group(function () {
+ Route::get('restore/{id}', [BranchController::class, 'restore'])->name('restore');
+ Route::get('datatables', [BranchController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [BranchController::class, 'export'])->name('export');
+ });
+
+ Route::resource('cabang', BranchController::class, [
+ 'names' => [
+ 'index' => 'branch.index',
+ 'show' => 'branch.show',
+ 'create' => 'branch.create',
+ 'store' => 'branch.store',
+ 'edit' => 'branch.edit',
+ 'update' => 'branch.update',
+ 'destroy' => 'branch.destroy',
+ ],
+ ]);
+
+ Route::name('nilai-plafond.')->prefix('nilai-plafond')->group(function () {
+ Route::get('restore/{id}', [NilaiPlafondController::class, 'restore'])->name('restore');
+ Route::get('datatables', [NilaiPlafondController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [NilaiPlafondController::class, 'export'])->name('export');
+ });
+ Route::resource('nilai-plafond', NilaiPlafondController::class);
+
+ Route::name('hubungan-pemilik-jaminan.')->prefix('hubungan-pemilik-jaminan')->group(function () {
+ Route::get('restore/{id}', [HubunganPemilikJaminanController::class, 'restore'])->name('restore');
+ Route::get('datatables', [HubunganPemilikJaminanController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [HubunganPemilikJaminanController::class, 'export'])->name('export');
+ });
+ Route::resource('hubungan-pemilik-jaminan', HubunganPemilikJaminanController::class);
+
+ Route::name('hubungan-penghuni-jaminan.')->prefix('hubungan-penghuni-jaminan')->group(function () {
+ Route::get('restore/{id}', [HubunganPenghuniJaminanController::class, 'restore'])->name('restore');
+ Route::get('datatables', [HubunganPenghuniJaminanController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [HubunganPenghuniJaminanController::class, 'export'])->name('export');
+ });
+ Route::resource('hubungan-penghuni-jaminan', HubunganPenghuniJaminanController::class);
+
+ Route::name('arah-mata-angin.')->prefix('arah-mata-angin')->group(function () {
+ Route::get('restore/{id}', [ArahMataAnginController::class, 'restore'])->name('restore');
+ Route::get('datatables', [ArahMataAnginController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [ArahMataAnginController::class, 'export'])->name('export');
+ });
+ Route::resource('arah-mata-angin', ArahMataAnginController::class);
+
+
+ Route::name('status-permohonan.')->prefix('status-permohonan')->group(function () {
+ Route::get('restore/{id}', [StatusPermohonanController::class, 'restore'])->name('restore');
+ Route::get('datatables', [StatusPermohonanController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [StatusPermohonanController::class, 'export'])->name('export');
+ });
+ Route::resource('status-permohonan', StatusPermohonanController::class);
+
+ Route::name('region.')->prefix('region')->group(function () {
+ Route::get('restore/{id}', [RegionController::class, 'restore'])->name('restore');
+ Route::get('datatables', [RegionController::class, 'dataForDatatables'])->name('datatables');
+ Route::get('export', [RegionController::class, 'export'])->name('export');
+ });
+
+
+ Route::resource('region', RegionController::class, [
+ 'names' => [
+ 'index' => 'region.index',
+ 'show' => 'region.show',
+ 'create' => 'region.create',
+ 'store' => 'region.store',
+ 'edit' => 'region.edit',
+ 'update' => 'region.update',
+ 'destroy' => 'region.destroy',
+ ],
+ ]);
+
+ Route::resource('region', RegionController::class);
+
+
+ Route::name('teams.')->prefix('teams')->group(function () {
+ Route::get('restore/{id}', [TeamsController::class, 'restore'])->name('restore');
+ Route::get('datatables', [TeamsController::class, 'dataForDatatables'])->name('datatables');
+ Route::get('export', [TeamsController::class, 'export'])->name('export');
+ });
+
+ Route::resource('teams', TeamsController::class, [
+ 'names' => [
+ 'index' => 'teams.index',
+ 'show' => 'teams.show',
+ 'create' => 'teams.create',
+ 'store' => 'teams.store',
+ 'edit' => 'teams.edit',
+ 'update' => 'teams.update',
+ 'destroy' => 'teams.destroy',
+ ],
+ ]);
+
+ Route::name('jenispenilaian.')->prefix('jenispenilaian')->group(function () {
+ Route::get('restore/{id}', [JenisPenilaianController::class, 'restore'])->name('restore');
+ Route::get('datatables', [JenisPenilaianController::class, 'dataForDatatables'])->name('datatables');
+ Route::get('export', [JenisPenilaianController::class, 'export'])->name('export');
+ });
+
+ Route::resource('jenispenilaian', JenisPenilaianController::class, [
+ 'names' => [
+ 'index' => 'jenispenilaian.index',
+ 'show' => 'jenispenilaian.show',
+ 'create' => 'jenispenilaian.create',
+ 'store' => 'jenispenilaian.store',
+ 'edit' => 'jenispenilaian.edit',
+ 'update' => 'jenispenilaian.update',
+ 'destroy' => 'jenispenilaian.destroy',
+ ],
+ ]);
+
+
});
+ /** END ROUTE BASIC DATA ***/
+
+ Route::name('permohonan.')->prefix('permohonan')->group(function () {
+ Route::get('{id}/create', [PermohonanController::class, 'createPermohonan'])->name('create.debitur');
+ Route::get('download/{id}', [PermohonanController::class, 'download'])->name('download');
+ Route::get('restore/{id}', [PermohonanController::class, 'restore'])->name('restore');
+ Route::get('datatables', [PermohonanController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [PermohonanController::class, 'export'])->name('export');
+ });
+
+ Route::resource('permohonan', PermohonanController::class);
+
+ Route::name('debitur.')->prefix('debitur')->group(function () {
+ Route::get('download/{id}', [DebitureController::class, 'download'])->name('download');
+ Route::get('restore/{id}', [DebitureController::class, 'restore'])->name('restore');
+ Route::get('datatables', [DebitureController::class, 'dataForDatatables'])
+ ->name('datatables');
+ Route::get('export', [DebitureController::class, 'export'])->name('export');
+
+
+ Route::name('jaminan.')->prefix('{id}/jaminan')->group(function () {
+ Route::get('/', [DokumenJaminanController::class, 'index'])->name('index');
+ Route::get('create', [DokumenJaminanController::class, 'create'])->name('create');
+ Route::get('{jaminan}/edit', [DokumenJaminanController::class, 'edit'])->name('edit');
+ Route::put('{jaminan}', [DokumenJaminanController::class, 'update'])->name('update');
+ Route::post('store', [DokumenJaminanController::class, 'store'])->name('store');
+ Route::delete('{jaminan}', [DokumenJaminanController::class, 'destroy'])->name('destroy');
+ });
+
+ Route::name('pemilik.')->prefix('{id}/pemilik')->group(function () {
+ Route::get('/', [PemilikJaminanController::class, 'index'])->name('index');
+ Route::get('create', [PemilikJaminanController::class, 'create'])->name('create');
+ Route::get('{pemilik}/edit', [PemilikJaminanController::class, 'edit'])->name('edit');
+ Route::put('{pemilik}', [PemilikJaminanController::class, 'update'])->name('update');
+ Route::post('store', [PemilikJaminanController::class, 'store'])->name('store');
+ Route::delete('{pemilik}', [PemilikJaminanController::class, 'destroy'])->name('destroy');
+ });
+ });
+
+ Route::resource('debitur', DebitureController::class);
+});