Added ability to modify ensembles
This commit is contained in:
parent
a0927c12b7
commit
6909cdd229
|
|
@ -22,7 +22,7 @@ class EnsembleController extends Controller
|
|||
if(! Auth::user()->is_admin) abort(403);
|
||||
request()->validate([
|
||||
'name' => 'required',
|
||||
'code' => 'required',
|
||||
'code' => ['required','max:6'],
|
||||
'event_id' => ['required','exists:events,id']
|
||||
]);
|
||||
|
||||
|
|
@ -42,6 +42,21 @@ class EnsembleController extends Controller
|
|||
return redirect()->route('admin.ensembles.index')->with('success', 'Ensemble deleted successfully');
|
||||
}
|
||||
|
||||
public function updateEnsemble(Request $request, Ensemble $ensemble)
|
||||
{
|
||||
if(! Auth::user()->is_admin) abort(403);
|
||||
request()->validate([
|
||||
'name' => 'required',
|
||||
'code' => 'required|max:6'
|
||||
]);
|
||||
|
||||
$ensemble->update([
|
||||
'name' => request('name'),
|
||||
'code' => request('code')
|
||||
]);
|
||||
return redirect()->route('admin.ensembles.index')->with('success','Ensemble updated successfully');
|
||||
}
|
||||
|
||||
public function updateEnsembleRank(Request $request)
|
||||
{
|
||||
if(! Auth::user()->is_admin) abort(403);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
<x-card.card class="mb-6 mx-auto max-w-lg">
|
||||
<x-card.heading>Ensembles for {{ $event->name }}</x-card.heading>
|
||||
<x-card.heading>
|
||||
Ensembles for {{ $event->name }}
|
||||
<x-slot:subheading>Click name to rename. Drag handle to reorder.</x-slot:subheading>
|
||||
</x-card.heading>
|
||||
<x-table.table class="ml-3 sortable-table" id="event-{{$event->id}}">
|
||||
|
||||
<thead>
|
||||
|
|
@ -21,7 +24,10 @@
|
|||
</x-table.td>
|
||||
{{-- <x-table.td class="handle"><i class="fas fa-bars"></i></x-table.td>--}}
|
||||
<x-table.td>{{ $ensemble->code }}</x-table.td>
|
||||
<x-table.td>{{ $ensemble->name }}</x-table.td>
|
||||
{{-- <x-table.td>{{ $ensemble->name }}</x-table.td>--}}
|
||||
<x-table.td>
|
||||
@include('admin.ensembles.index-rename-modal')
|
||||
</x-table.td>
|
||||
<x-table.td>
|
||||
<form method="POST" action="{{ route('admin.ensembles.destroy', ['ensemble' => $ensemble->id]) }}">
|
||||
@csrf
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
<x-modal>
|
||||
<x-slot:button_text>{{ $ensemble->name }}</x-slot:button_text>
|
||||
<x-slot:title class="font-semibold">Rename Ensemble {{ $ensemble->name }}</x-slot:title>
|
||||
<x-form.form method="PATCH" action="{{ route('admin.ensembles.updateEnsemble', ['ensemble' => $ensemble->rank]) }}">
|
||||
<x-form.body-grid columns="4">
|
||||
<x-form.field colspan="2" label_text="New Name" value="{{ $ensemble->name }}" name="name" />
|
||||
<x-form.field colspan="1" label_text="New Code" value="{{ $ensemble->code }}" name="code" />
|
||||
<x-form.button class="mt-6">Modify</x-form.button>
|
||||
</x-form.body-grid>
|
||||
</x-form.form>
|
||||
</x-modal>
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
<div
|
||||
x-data="{ 'showModal': false }"
|
||||
@keydown.escape="showModal = false"
|
||||
>
|
||||
<!-- Trigger for Modal -->
|
||||
<button type="button" @click="showModal = true">
|
||||
{{ $button_text }}
|
||||
</button>
|
||||
|
||||
<!-- Modal -->
|
||||
<div
|
||||
class="fixed inset-0 z-30 flex items-center justify-center overflow-auto bg-black bg-opacity-50"
|
||||
x-show="showModal" x-cloak
|
||||
>
|
||||
<!-- Modal inner -->
|
||||
<div
|
||||
class="max-w-3xl px-6 py-4 mx-auto text-left bg-white rounded shadow-lg"
|
||||
@click.away="showModal = false"
|
||||
x-transition:enter="motion-safe:ease-out duration-300"
|
||||
x-transition:enter-start="opacity-0 scale-90"
|
||||
x-transition:enter-end="opacity-100 scale-100"
|
||||
>
|
||||
<!-- Title / Close-->
|
||||
<div class="flex items-center justify-between border-b mb-2">
|
||||
<h5 {{ $title->attributes->merge(['class' => 'mr-3 text-black max-w-none']) }}>{{ $title ?? '' }}</h5>
|
||||
|
||||
<button type="button" class="z-50 cursor-pointer" @click="showModal = false">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- content -->
|
||||
<div>{{ $slot }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -64,6 +64,7 @@ Route::middleware(['auth','verified',CheckIfAdmin::class])->prefix('admin/')->gr
|
|||
Route::post('/','store')->name('admin.ensembles.store');
|
||||
Route::delete('/{ensemble}','destroy')->name('admin.ensembles.destroy');
|
||||
Route::post('/updateEnsembleRank','updateEnsembleRank')->name('admin.ensembles.updateEnsembleRank');
|
||||
Route::patch('/{ensemble}','updateEnsemble')->name('admin.ensembles.updateEnsemble');
|
||||
});
|
||||
|
||||
// Admin Event Routes
|
||||
|
|
|
|||
Loading…
Reference in New Issue