From 6361f404d85d51afb166852b49f8859a864f2b52 Mon Sep 17 00:00:00 2001 From: Matt Young Date: Thu, 27 Jun 2024 11:58:11 -0500 Subject: [PATCH] Add ability to edit rooms --- app/Http/Controllers/Admin/RoomController.php | 25 +++++++++++----- .../rooms/index-edit-room-modal.blade.php | 8 +++++ .../admin/rooms/index-room-card.blade.php | 6 ++-- .../views/components/modal-body.blade.php | 30 +++++++++++++++++++ 4 files changed, 59 insertions(+), 10 deletions(-) create mode 100644 resources/views/admin/rooms/index-edit-room-modal.blade.php create mode 100644 resources/views/components/modal-body.blade.php diff --git a/app/Http/Controllers/Admin/RoomController.php b/app/Http/Controllers/Admin/RoomController.php index 81e432b..9de1eed 100644 --- a/app/Http/Controllers/Admin/RoomController.php +++ b/app/Http/Controllers/Admin/RoomController.php @@ -2,9 +2,7 @@ namespace App\Http\Controllers\Admin; -use App\Events\RoomJudgeChange; use App\Http\Controllers\Controller; -use App\Models\Audition; use App\Models\Room; use App\Models\User; use Illuminate\Http\Request; @@ -19,7 +17,6 @@ class RoomController extends Controller if (! Auth::user()->is_admin) { abort(403); } - //$unassignedAuditions = Audition::with('entries')->where('room_id','=','0')->orderBy('score_order')->get(); $rooms = Room::with('auditions.entries')->orderBy('name')->get(); return view('admin.rooms.index', ['rooms' => $rooms]); @@ -89,7 +86,24 @@ class RoomController extends Controller return redirect()->route('admin.rooms.index')->with('success', 'Room created.'); } - public function destroy(Request $request, Room $room) + public function update(Request $request, Room $room) + { + if (! Auth::user()->is_admin) { + abort(403); + } + $validData = $request->validate([ + 'name' => 'required', + 'description' => 'nullable', + ]); + + $room->name = $validData['name']; + $room->description = $validData['description']; + $room->save(); + + return redirect()->route('admin.rooms.index')->with('success', 'Room updated.'); + } + + public function destroy(Room $room) { if (! Auth::user()->is_admin) { abort(403); @@ -103,7 +117,4 @@ class RoomController extends Controller return redirect()->route('admin.rooms.index')->with('success', 'Room deleted.'); } - - // TODO need to be able to add new rooms. Dispatch RoomJudgeChange when we do. - } diff --git a/resources/views/admin/rooms/index-edit-room-modal.blade.php b/resources/views/admin/rooms/index-edit-room-modal.blade.php new file mode 100644 index 0000000..e4add12 --- /dev/null +++ b/resources/views/admin/rooms/index-edit-room-modal.blade.php @@ -0,0 +1,8 @@ + + Edit Room - {{ $room->name }} + + + + Save Changes + + diff --git a/resources/views/admin/rooms/index-room-card.blade.php b/resources/views/admin/rooms/index-room-card.blade.php index f25f818..86d6f95 100644 --- a/resources/views/admin/rooms/index-room-card.blade.php +++ b/resources/views/admin/rooms/index-room-card.blade.php @@ -1,5 +1,6 @@ - - + + @include('admin.rooms.index-edit-room-modal') + {{ $room->name }} {{ $room->description }} @@ -25,6 +26,5 @@ {{ $audition->name }} @endforeach - diff --git a/resources/views/components/modal-body.blade.php b/resources/views/components/modal-body.blade.php new file mode 100644 index 0000000..01584c7 --- /dev/null +++ b/resources/views/components/modal-body.blade.php @@ -0,0 +1,30 @@ +@props(['title'=>false]) +
+ +
+ +
+ @if($title) +
attributes->merge(['class' => 'mr-3 text-black max-w-none']) }}>{{ $title ?? '' }}
+ @endif + + +
+ + +
{{ $slot }}
+
+