diff --git a/app/Http/Controllers/LembarPengesahanController.php b/app/Http/Controllers/LembarPengesahanController.php new file mode 100644 index 0000000..5b6b5f6 --- /dev/null +++ b/app/Http/Controllers/LembarPengesahanController.php @@ -0,0 +1,158 @@ +adaptationService = $adaptationService; + $this->mitigationService = $mitigationService; + } + + /** + * Display a listing of the resource. + */ + public function index() + { + $data['route'] = $this->route; + $data['title'] = $this->title; + + return view($this->template.'.index',$data); + } + + public function grid() + { + $data = LembarPengesahaan::where('tahun',date('Y'))->get(); + $_data = []; + + foreach ($data as $key => $row) { + + $btn = 'Edit'; + $btn .= '
'; + + if ($row->row_status == 1) { + $status = 'Aktif'; + } else { + $status = 'Tidak Aktif'; + } + + $_data[] = [ + 'no' => $key+1, + 'name' => $row->name, + 'scope' => $row->scope, + 'status' => $status, + 'action' => @$btn, + ]; + + } + + return response()->json($_data); + } + + /** + * Show the form for creating a new resource. + */ + public function create() + { + $year = (int) request()->input('adaptationYear', date('Y')); + $adaptasi = $this->adaptationService->getDashboardData($year); + $mitigasi = $this->mitigationService->getDashboardData($year); + + + $data['route'] = $this->route; + $data['title'] = $this->title; + $data['kegiatanAdaptasi'] = $adaptasi['tableData']; + $data['kegiatanMitigasi'] = $mitigasi['tableData']; + + return view($this->template.'.form',$data); + } + + public function update($id = null) + { + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = LembarPengesahaan::where('id',$keyId)->first(); + + return view($this->template.'.form',$data); + } + + /** + * Store a newly created resource in storage. + */ + public function store(Request $request) + { + $request->validate([ + 'agency_id' => 'required', + 'file' => 'required', + 'type' => 'required', + ]); + + try { + if(@$request->secure_id){ + $ag = LembarPengesahaan::find(decode_id(@$request->secure_id)); + $ag->agency_id = $request->agency_id; + $ag->type = $request->type; + $ag->file = $request->file; + $ag->save(); + }else{ + $ag = new LembarPengesahan; + $ag->agency_id = $request->agency_id; + $ag->type = $request->type; + $ag->file = $request->file; + $ag->status = 1; + $ag->save(); + } + + return redirect()->route($this->route.'.index')->with('success', 'Lembar Pengesahan berhasil ditambahkan.'); + } catch (\Exception $e) { + return back()->withErrors(['error' => 'Lembar Pengesahan gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage()]); + } + } + + /** + * Display the specified resource. + */ + public function show(string $id) + { + // + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(string $id) + { + $data['ar'] = LembarPengesahaan::find($id); + $data['route'] = $this->route; + $data['title'] = $this->title; + return view($this->template.'.form', $data); + } + + /** + * Update the specified resource in storage. + */ + + /** + * Remove the specified resource from storage. + */ + public function destroy(string $id) + { + // + } +} diff --git a/app/Models/LembarPengesahan.php b/app/Models/LembarPengesahan.php new file mode 100644 index 0000000..2ab593c --- /dev/null +++ b/app/Models/LembarPengesahan.php @@ -0,0 +1,14 @@ +id('LembarPengesahanId'); + $table->integer('user_id'); + $table->string('agency_id'); + $table->year('tahun'); + $table->string('type'); //Adaptasi, Mitigasi, Inventory + $table->json('sektor')->nullable(); + $table->json('form_id')->nullable(); + $table->string('file')->nullable(); + $table->text('keterangan')->nullable(); + $table->integer('status')->default(0); + $table->timestampsTz(); + $table->softdeletesTz(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('lembar_pengesahans'); + } +}; diff --git a/resources/views/auth/dashboard-adaptation.blade.php b/resources/views/auth/dashboard-adaptation.blade.php index c39e318..8b7f15f 100644 --- a/resources/views/auth/dashboard-adaptation.blade.php +++ b/resources/views/auth/dashboard-adaptation.blade.php @@ -72,11 +72,11 @@