User()->level_pegawai; Log::info((int) $leveluser); $levelAvail = LevelPegawai::where("level_code", ">=", $leveluser)->orderBy("level_id")->get(); return view("setup.UserLevel.level-user", compact("levelAvail")); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $data = $request->validate( [ 'level_code' => 'required|string|max:10|unique:level_user,level_code', 'level_name' => 'required|string|max:30', ], [ 'level_code.unique' => 'Kode level sudah dipakai, ganti dengan yang unik.', ] ); $level = LevelPegawai::create([ 'level_code' => $data['level_code'], 'level_name' => $data['level_name'], 'create_by' => Auth::user()->nomer ?? Auth::user()->username ?? 'system', 'create_date' => now(), ]); return response()->json(['success' => true, 'message' => 'Level pengguna berhasil ditambahkan.', 'data' => $level], 201); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { return response()->json(['success' => true, 'data' => LevelPegawai::findOrFail($id)]); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { return response()->json(['success' => true, 'data' => LevelPegawai::findOrFail($id)]); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // level_code tidak bisa diubah (dipakai relasi pegawai.level_pegawai) $data = $request->validate(['level_name' => 'required|string|max:30']); $level = LevelPegawai::findOrFail($id); $level->update([ 'level_name' => $data['level_name'], 'update_by' => Auth::id(), 'update_date' => now(), ]); return response()->json(['success' => true, 'message' => 'Level pengguna berhasil diperbarui.', 'data' => $level]); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $level = LevelPegawai::findOrFail($id); $dipakai = DB::table('pegawai')->where('level_pegawai', $level->level_code)->count(); if ($dipakai > 0) { return response()->json([ 'success' => false, 'message' => "Level {$level->level_code} dipakai {$dipakai} pegawai, tidak bisa dihapus.", ], 409); } $level->delete(); return response()->json(['success' => true, 'message' => 'Level pengguna berhasil dihapus.']); } }