update form surveyor alat berat, kapal, kendaraan, mesin

This commit is contained in:
majid
2024-11-05 16:54:04 +07:00
parent 0395235ce0
commit 2ae29fae23
16 changed files with 1110 additions and 283 deletions

View File

@@ -30,43 +30,43 @@ class ActivityController extends Controller
*/
public function progres_activity()
{
// Ambil user yang sedang login
$user = auth()->user();
$roles = $user->load('roles');
public function progres_activity()
{
// Ambil user yang sedang login
$user = auth()->user();
$roles = $user->load('roles');
// Inisialisasi regionId dan teamId sebagai null agar bisa dinamis
$regionId = null;
$teamId = null;
// Inisialisasi regionId dan teamId sebagai null agar bisa dinamis
$regionId = null;
$teamId = null;
if ($roles->roles->pluck('name')->contains('senior-officer')) {
$userTeam = TeamsUsers::with('team')
->where('user_id', $user->id)
->first();
$regionId = $userTeam?->team->regions_id;
$teamId = $userTeam?->teams_id;
if ($roles->roles->pluck('name')->contains('senior-officer')) {
$userTeam = TeamsUsers::with('team')
->where('user_id', $user->id)
->first();
$regionId = $userTeam?->team->regions_id;
$teamId = $userTeam?->teams_id;
}
}
$teamsActivity = TeamsUsers::with(['user', 'team', 'team.regions', 'user.roles'])
->whereHas('team', function ($q) use ($regionId, $teamId) {
if ($regionId) {
$q->where('regions_id', $regionId);
}
if ($teamId) {
$q->where('id', $teamId); // Hanya tim yang sama
}
})
->where('user_id', '!=', $user->id)
->whereHas('user.roles', function ($query) {
// Filter hanya peran 'surveyor' atau 'surveyor-penilai'
$query->whereIn('name', ['surveyor', 'surveyor-penilai']);
})
->get();
$teamsActivity = TeamsUsers::with(['user', 'team', 'team.regions', 'user.roles'])
->whereHas('team', function ($q) use ($regionId, $teamId) {
if ($regionId) {
$q->where('regions_id', $regionId);
}
if ($teamId) {
$q->where('id', $teamId); // Hanya tim yang sama
}
})
->where('user_id', '!=', $user->id)
->whereHas('user.roles', function ($query) {
// Filter hanya peran 'surveyor' atau 'surveyor-penilai'
$query->whereIn('name', ['surveyor', 'surveyor-penilai']);
})
->get();
return view('lpj::activity.progres_activity.index', compact('teamsActivity'));
}
return view('lpj::activity.progres_activity.index', compact('teamsActivity'));
}
@@ -119,6 +119,10 @@ class ActivityController extends Controller
* Update the specified resource in storage.
*/public function dataForDatatables(Request $request)
{
$user = auth()->user();
// Check permissions
if (is_null($this->user) || !$this->user->can('debitur.view')) {
// abort(403, 'Sorry! You are not allowed to view users.');
@@ -170,7 +174,23 @@ class ActivityController extends Controller
$filteredRecords = $query->count();
// Get data
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
$data = null;
$userRole = $user->roles[0]->name ?? null;
if (in_array($userRole, ['surveyor', 'surveyor-penilai'])) {
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian',])
->whereHas('penilaian.userPenilai', function ($q) use ($user) {
$q->where('user_id', $user->id);
})
->get();
} else {
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])
->get();
}
// Calculate total pages
$pageCount = ceil($totalRecords / $request->get('size', 10));

View File

@@ -118,7 +118,7 @@ class PenilaianController extends Controller
return redirect()->route('penilaian.index')->with('success', 'Penilaian berhasil disimpan');
} catch (Exception $e) {
DB::rollBack();
return response()->json(array('error' => $e->getMessage()));
return redirect()->route('penilaian.index')->with('error', $e->getMessage());
}
}
}
@@ -170,7 +170,7 @@ class PenilaianController extends Controller
return redirect()->route('penilaian.index')->with('success', 'Penilaian berhasil disimpan');
} catch (Exception $e) {
DB::rollBack();
return response()->json(array('error' => $e->getMessage()));
return redirect()->route('penilaian.index')->with('error', $e->getMessage());
}
}

View File

@@ -711,7 +711,8 @@ class SurveyorController extends Controller
$validate = $request->validated();
if ($validate) {
$type = $request->route('type');
try {
$type = $request->route('type');
$modelClass = $this->getModelClass($type);
@@ -733,6 +734,14 @@ class SurveyorController extends Controller
return redirect()
->route('basicdata.' . $type .'.index')
->with('success', 'created successfully');
} catch (Exeception $e) {
return response()->json(array('error' => $e->getMessage()), 400);
// return redirect()
// ->route('basicdata.' . $type .'.index')
// ->with('error', $th->getMessage());
}
}
}
@@ -940,7 +949,7 @@ class SurveyorController extends Controller
public function submitSurveyor(Request $request, $id)
{
$permohonan = Permohonan::find($id);
$permohonan->update([
'status' => 'done',
@@ -978,6 +987,7 @@ class SurveyorController extends Controller
'tingkat-keramaian' => TingkatKeramaian::class,
'gol-mas-sekitar' => GolonganMasySekitar::class,
'spek-kategori-bangunan' => SpekKategoritBangunan::class,
'spek-bangunan' => SpekBangunan::class,
'lantai-unit' => Lantai::class,
'view-unit' => ViewUnit::class,
];

View File

@@ -70,7 +70,8 @@ class SurveyorRequest extends FormRequest
return match ($action) {
'spek-bangunan' => [
'spek_kategori_bangunan_id' => [
'required'
'required',
],
],
// Add more action specific rules here