diff --git a/app/Http/Controllers/PersonelController.php b/app/Http/Controllers/PersonelController.php index b817a2c..7a99d49 100644 --- a/app/Http/Controllers/PersonelController.php +++ b/app/Http/Controllers/PersonelController.php @@ -328,7 +328,7 @@ public function togglePensiun($id) public function konsep() { - $konseps = Konsep::all(); + $konseps = Konsep::where('cabang_id', null)->get(); return view('personel.konsep', ["konseps" => $konseps]); } @@ -352,7 +352,8 @@ public function uploadKonsep(Request $request) Konsep::create([ "name" => $request->name, - "berkas" => $berkas + "berkas" => $berkas, + "caban_id" => null ]); return redirect()->route("konsep"); diff --git a/app/Http/Controllers/Rotasi/CabangController.php b/app/Http/Controllers/Rotasi/CabangController.php index d4f7273..3966849 100644 --- a/app/Http/Controllers/Rotasi/CabangController.php +++ b/app/Http/Controllers/Rotasi/CabangController.php @@ -6,6 +6,7 @@ use App\Http\Controllers\Controller; use App\Models\Cabang; use App\Models\Kelas; +use App\Models\Konsep; use Illuminate\Support\Facades\DB; class CabangController extends Controller @@ -249,4 +250,36 @@ public function delete($id) $cabang->delete(); return redirect()->route("rotasi.cabang")->with('success', 'Cabang berhasil dihapus'); } + + public function konsep($id) + { + $konseps = Konsep::where('cabang_id', $id)->get(); + return view('rotasi.cabang.konsep', ['konseps' => $konseps, 'cabang_id' => $id]); + } + + public function uploadKonsep($id, Request $request) + { + $request->validate([ + 'name' => 'required', + 'berkas' => 'file|mimes:pdf|max:2048', + ]); + + if ($request->hasFile("berkas")) { + $file = $request->file('berkas'); + $fileName = time() . '_' . $file->getClientOriginalName(); + $berkas = "/storage/" . $file->storeAs('files', $fileName, 'public'); + } else { + $request->validate([ + "url" => "required" + ]); + $berkas = $request->url; + } + + $konsep = new Konsep(); + $konsep->name = $request->name; + $konsep->cabang_id = $id; + $konsep->berkas = $berkas; + $konsep->save(); + return redirect()->back()->with('success', 'Konsep berhasil ditambahkan'); + } } diff --git a/app/Models/Konsep.php b/app/Models/Konsep.php index 29155d5..8a509c7 100644 --- a/app/Models/Konsep.php +++ b/app/Models/Konsep.php @@ -10,6 +10,7 @@ class Konsep extends Model use HasFactory; protected $fillable = [ "name", - "berkas" + "berkas", + "cabang_id", ]; } diff --git a/database/migrations/2024_11_25_120442_add_cabang_id_column_on_konseps.php b/database/migrations/2024_11_25_120442_add_cabang_id_column_on_konseps.php new file mode 100644 index 0000000..b3d7719 --- /dev/null +++ b/database/migrations/2024_11_25_120442_add_cabang_id_column_on_konseps.php @@ -0,0 +1,29 @@ +foreignId('cabang_id')->nullable()->after('id')->constrained('cabangs')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('konseps', function (Blueprint $table) { + $table->dropForeign(['cabang_id']); + $table->dropColumn('cabang_id'); + }); + } +}; diff --git a/resources/views/rotasi/cabang/detail.blade.php b/resources/views/rotasi/cabang/detail.blade.php index cb7efd1..506ecbe 100644 --- a/resources/views/rotasi/cabang/detail.blade.php +++ b/resources/views/rotasi/cabang/detail.blade.php @@ -33,8 +33,10 @@ class="p-2 break-all w-full font-sans">{{ $cabang->alamat }} Update Hapus + class="bg-white hover:bg-[#003285] text-black hover:text-white border-2 border-[#003285] duration-200 w-full text-center p-2 rounded-lg font-semibold mb-2">Hapus Cabang + Konsep @endcan