From 0d0d80ca6615ad03a06758a1be67e74c4f3dafa9 Mon Sep 17 00:00:00 2001 From: Arif Priadi Date: Sat, 22 Jun 2024 16:11:09 +0800 Subject: [PATCH 1/4] WIP: Event Datatables --- .../Controllers/BackEnd/EventController.php | 161 ++++++++++++++++++ .../Controllers/Informasi/EventController.php | 129 -------------- .../event/create.blade.php | 2 +- .../event/edit.blade.php | 4 +- .../event/form_create.blade.php | 0 .../event/form_edit.blade.php | 0 resources/views/backend/event/index.blade.php | 90 ++++++++++ .../views/informasi/event/index.blade.php | 131 -------------- routes/web.php | 55 +++--- 9 files changed, 285 insertions(+), 287 deletions(-) create mode 100644 app/Http/Controllers/BackEnd/EventController.php delete mode 100644 app/Http/Controllers/Informasi/EventController.php rename resources/views/{informasi => backend}/event/create.blade.php (96%) rename resources/views/{informasi => backend}/event/edit.blade.php (90%) rename resources/views/{informasi => backend}/event/form_create.blade.php (100%) rename resources/views/{informasi => backend}/event/form_edit.blade.php (100%) create mode 100644 resources/views/backend/event/index.blade.php delete mode 100644 resources/views/informasi/event/index.blade.php diff --git a/app/Http/Controllers/BackEnd/EventController.php b/app/Http/Controllers/BackEnd/EventController.php new file mode 100644 index 000000000..6a1fd66bb --- /dev/null +++ b/app/Http/Controllers/BackEnd/EventController.php @@ -0,0 +1,161 @@ +editColumn('start', function ($row) { + return Carbon::parse($row->start)->format('d-m-Y H:i'); + }) + ->editColumn('end', function ($row) { + return Carbon::parse($row->end)->format('d-m-Y H:i'); + }) + ->addColumn('aksi', function ($row) { + $data['show_url'] = route('informasi.event.show', $row->id); + + if (! auth()->guest()) { + $data['edit_url'] = route('informasi.event.edit', $row->id); + $data['delete_url'] = route('informasi.event.destroy', $row->id); + } + + return view('forms.aksi', $data); + }) + ->make(); + } + + public function create() + { + $page_title = 'Event'; + $page_description = 'Tambah Event'; + + return view('backend.event.create', compact('page_title', 'page_description')); + } + + public function store(EventRequest $request) + { + try { + $input = $request->input(); + + if ($request->hasFile('file_gambar')) { + $lampiran = $request->file('file_gambar'); + $fileName = $lampiran->getClientOriginalName(); + $path = 'storage/Event_kecamatan/'; + $lampiran->move($path, $fileName); + $input['file_gambar'] = $path.$fileName; + } + + Event::create($input); + } catch (\Exception $e) { + report($e); + + return back()->withInput()->with('error', 'Simpan Event gagal!'); + } + + return redirect()->route('informasi.event.index')->with('success', 'Event berhasil disimpan!'); + } + + public function show(Event $Event) + { + $page_title = 'Event'; + $page_description = 'Detail Event'; + + return view('backend.event.show', compact('page_title', 'page_description', 'Event')); + } + + public function edit(Event $event) + { + $page_title = 'Event'; + $page_description = 'Ubah Event'; + + return view('backend.event.edit', compact('page_title', 'page_description', 'event')); + } + + public function update(EventRequest $request, Event $Event) + { + try { + $input = $request->all(); + + if ($request->hasFile('file_gambar')) { + $lampiran = $request->file('file_gambar'); + $fileName = $lampiran->getClientOriginalName(); + $path = 'storage/Event_kecamatan/'; + $lampiran->move($path, $fileName); + + if ($Event->file_gambar && file_exists(base_path('public/'.$Event->file_gambar))) { + unlink(base_path('public/'.$Event->file_gambar)); + } + + $input['file_gambar'] = $path.$fileName; + } + + $Event->update($input); + } catch (\Exception $e) { + report($e); + + return back()->with('error', 'Data Event gagal disimpan!'); + } + + return redirect()->route('informasi.event.index')->with('success', 'Data Event berhasil disimpan!'); + } + + public function destroy(Event $Event) + { + try { + if ($Event->delete()) { + unlink(base_path('public/'.$Event->file_gambar)); + } + } catch (\Exception $e) { + report($e); + + return redirect()->route('backend.form-dokumen.index')->with('error', 'Event gagal dihapus!'); + } + + return redirect()->route('informasi.event.index')->with('success', 'Event Berhasil dihapus!'); + } +} diff --git a/app/Http/Controllers/Informasi/EventController.php b/app/Http/Controllers/Informasi/EventController.php deleted file mode 100644 index cd634d3ea..000000000 --- a/app/Http/Controllers/Informasi/EventController.php +++ /dev/null @@ -1,129 +0,0 @@ -waktu); - - $input = $request->input(); - $input['start'] = date('Y-m-d H:i', strtotime($waktu[0])); - $input['end'] = date('Y-m-d H:i', strtotime($waktu[1])); - $input['status'] = 'OPEN'; - Event::create($input); - } catch (\Exception $e) { - report($e); - - return back()->withInput()->with('error', 'Simpan Event gagal!'); - } - - return redirect()->route('informasi.event.index')->with('success', 'Event berhasil disimpan!'); - } - - public function edit(Event $event) - { - $page_title = 'Event'; - $page_description = 'Ubah Event'; - $event->waktu = $event->start.' - '.$event->end; - - return view('informasi.event.edit', compact('page_title', 'page_description', 'event')); - } - - public function update(EventRequest $request, Event $event) - { - try { - $waktu = explode('-', $request->waktu); - $input = $request->all(); - - if ($request->hasFile('attachment')) { - $lampiran = $request->file('attachment'); - $fileName = $lampiran->getClientOriginalName(); - $path = 'event/'.$event->id.'/'; - File::deleteDirectory(base_path('public/'.$path)); //hapus directory sebelumnya - $lampiran->move(base_path('public/'.$path), $fileName); - $input['attachment'] = $path.$fileName; - } - $input['end'] = date('Y-m-d H:i', strtotime($waktu[1])); - $input['start'] = date('Y-m-d H:i', strtotime($waktu[0])); - - $event->update($input); - } catch (\Exception $e) { - report($e); - - return back()->withInput()->with('error', 'Ubah Event gagal!'); - } - - return redirect()->route('informasi.event.index')->with('success', 'Ubah Event sukses!'); - } - - public function destroy(Event $event) - { - try { - if ($event->delete()) { - if ($event->file_dokumen != null && File::exists(base_path('public/'.$event->file_dokumen))) { - unlink(base_path('public/'.$event->file_dokumen)); - } - } - } catch (\Exception $e) { - report($e); - - return redirect()->route('informasi.event.index')->with('error', 'Event gagal dihapus!'); - } - - return redirect()->route('informasi.event.index')->with('success', 'Event berhasil dihapus!'); - } -} diff --git a/resources/views/informasi/event/create.blade.php b/resources/views/backend/event/create.blade.php similarity index 96% rename from resources/views/informasi/event/create.blade.php rename to resources/views/backend/event/create.blade.php index 1f18cca35..c9f32fa03 100644 --- a/resources/views/informasi/event/create.blade.php +++ b/resources/views/backend/event/create.blade.php @@ -24,7 +24,7 @@
@include('flash::message') - @include('informasi.event.form_create') + @include('backend.event.form_create')