feat(election): add access control for election details and voting options based on user permissions.

This commit is contained in:
fsociety
2024-10-25 13:30:39 +02:00
parent 3936165a0e
commit 421d60e42b
8 changed files with 1049 additions and 926 deletions

View File

@@ -54,20 +54,36 @@ $saveElection = function ($index) {
<x-layouts.app title="{{ __('Wahlen') }}">
@volt
<div x-cloak class="relative flex h-full" x-show="isAllowed" x-data="{isAllowed: $wire.entangle('isAllowed').live}">
@foreach($elections as $election)
<div class="w-full sm:w-1/3 p-4">
<div class="shadow-lg rounded-lg overflow-hidden">
{{ $election['year'] }}
</div>
<div class="shadow-lg rounded-lg overflow-hidden">
<x-textarea wire:model="elections.{{ $loop->index }}.candidates" rows="25" label="candidates" placeholder="" />
</div>
<div class="py-2">
<x-button label="Speichern" wire:click="saveElection({{ $loop->index }})"/>
<div>
@if($isAllowed)
<div class="relative flex h-full">
@foreach($elections as $election)
<div class="w-full sm:w-1/3 p-4">
<div class="shadow-lg rounded-lg overflow-hidden">
{{ $election['year'] }}
</div>
<div class="shadow-lg rounded-lg overflow-hidden">
<x-textarea wire:model="elections.{{ $loop->index }}.candidates" rows="25"
label="candidates" placeholder=""/>
</div>
<div class="py-2">
<x-button label="Speichern" wire:click="saveElection({{ $loop->index }})"/>
</div>
</div>
@endforeach
</div>
@else
<div class="px-4 sm:px-6 lg:px-8 py-8 w-full max-w-9xl mx-auto">
<div class="bg-white dark:bg-[#1B1B1B] shadow overflow-hidden sm:rounded-lg">
<div class="px-4 py-5 sm:px-6">
<h3 class="text-lg font-medium leading-6 text-gray-900 dark:text-gray-200">Einstellungen</h3>
<p class="mt-1 max-w">
Du bist nicht berechtigt, die Einstellungen zu bearbeiten.
</p>
</div>
</div>
</div>
@endforeach
@endif
</div>
@endvolt
</x-layouts.app>