Merge remote-tracking branch 'composer/feature/senior-officer' into staging
This commit is contained in:
@@ -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));
|
||||
|
||||
@@ -67,7 +67,13 @@ class PenilaianController extends Controller
|
||||
} else {
|
||||
$permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi)->first();
|
||||
$teams_ids[] = $validatedData['teams_id'];
|
||||
$user_ids[] = $validatedData['surveyor_id'];
|
||||
|
||||
if (isset($validatedData['penilai_surveyor_id'])) {
|
||||
$user_ids[] = $validatedData['penilai_surveyor_id'];
|
||||
} else {
|
||||
$user_ids[] = $validatedData['surveyor_id'];
|
||||
}
|
||||
|
||||
$roles[] = 'surveyor';
|
||||
|
||||
}
|
||||
@@ -89,7 +95,13 @@ class PenilaianController extends Controller
|
||||
} else {
|
||||
$permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi)->first();
|
||||
$teams_ids[] = $validatedData['teams_id'];
|
||||
$user_ids[] = $validatedData['penilai_id'];
|
||||
|
||||
if (isset($validatedData['penilai_surveyor_id'])) {
|
||||
$user_ids[] = $validatedData['penilai_surveyor_id'];
|
||||
}else {
|
||||
$user_ids[] = $validatedData['penilai_id'];
|
||||
}
|
||||
|
||||
$roles[] = 'penilai';
|
||||
|
||||
}
|
||||
@@ -118,7 +130,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 +182,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());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
];
|
||||
|
||||
@@ -34,6 +34,7 @@ class TeamsController extends Controller
|
||||
{
|
||||
|
||||
$regionTeam = Teams::pluck('regions_id')->toArray();
|
||||
|
||||
$regions = Regions::whereNotIn('id', $regionTeam)->get();
|
||||
|
||||
$userTeam = TeamsUsers::pluck('user_id')->toArray();
|
||||
@@ -47,8 +48,6 @@ class TeamsController extends Controller
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
return view('lpj::teams.form', compact('regions', 'user'));
|
||||
}
|
||||
|
||||
@@ -103,7 +102,7 @@ class TeamsController extends Controller
|
||||
{
|
||||
$teams = Teams::find($id);
|
||||
|
||||
$region = Regions::all();
|
||||
$regions = Regions::all();
|
||||
$usedUsers = TeamsUsers::where('teams_id', '!=', $id)->pluck('user_id')->toArray();
|
||||
$usersWithRole = User::whereNotIn('id', $usedUsers)
|
||||
->with('roles')
|
||||
@@ -119,7 +118,7 @@ class TeamsController extends Controller
|
||||
// Ambil user yang sudah ada di tim ini
|
||||
$selectedUsers = $teams->teamsUsers->pluck('user_id')->toArray();
|
||||
|
||||
return view('lpj::teams.form', compact('teams', 'region', 'user', 'selectedUsers'));
|
||||
return view('lpj::teams.form', compact('teams', 'regions', 'user', 'selectedUsers'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -33,14 +33,16 @@ class PenilaianRequest extends FormRequest
|
||||
'tanggal_kunjungan' => 'required|max:255',
|
||||
'status' => 'required|string',
|
||||
'nomor_registrasi' => 'required|string',
|
||||
'surveyor_id' => 'nullable| required_without:penilai_surveyor_id',
|
||||
'penilai_id' => 'nullable|required_without:penilai_surveyor_id',
|
||||
'penilai_surveyor_id' => 'nullable|required_without_all:surveyor_id,penilai_id',
|
||||
'surveyor_region_id' => 'nullable|required_without:surveyor_id',
|
||||
'penilai_region_id' => 'nullable|required_without:penilai_id',
|
||||
|
||||
'surveyor_id' => 'nullable|required_without_all:penilai_surveyor_id,surveyor_region_id,penilai_region_id,penilai_id',
|
||||
'penilai_id' => 'nullable|required_without_all:penilai_surveyor_id,surveyor_region_id,penilai_region_id,surveyor_id',
|
||||
'penilai_surveyor_id' => 'nullable',
|
||||
'surveyor_region_id' => 'nullable|required_without_all:penilai_surveyor_id,penilai_region_id,penilai_id,surveyor_id',
|
||||
'penilai_region_id' => 'nullable|required_without_all:penilai_surveyor_id,surveyor_region_id,penilai_id,surveyor_id',
|
||||
|
||||
'keterangan' => 'nullable',
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user