parent
ad4c2e80b6
commit
f0ad56e0d2
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace App\Actions\Tabulation;
|
||||
|
||||
use App\Exceptions\AuditionAdminException;
|
||||
use App\Models\Audition;
|
||||
use App\Models\Seat;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
|
@ -15,6 +16,9 @@ class PublishSeats
|
|||
|
||||
public function __invoke(Audition $audition, array $seats): void
|
||||
{
|
||||
if (count($seats) === 0) {
|
||||
throw new AuditionAdminException('Cannot publish an audition with no seats.');
|
||||
}
|
||||
// Delete from the seats table where audition_id = $audition->id
|
||||
Seat::where('audition_id', $audition->id)->delete();
|
||||
foreach ($seats as $seat) {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ use App\Models\EntryFlag;
|
|||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
use function is_null;
|
||||
|
||||
class AdvancementController extends Controller
|
||||
{
|
||||
public function status()
|
||||
|
|
@ -80,7 +82,12 @@ class AdvancementController extends Controller
|
|||
|
||||
public function setAuditionPassers(Request $request, Audition $audition)
|
||||
{
|
||||
|
||||
$passingEntries = $request->input('pass');
|
||||
if (is_null($passingEntries) || count($passingEntries) < 1) {
|
||||
return redirect()->route('advancement.ranking', ['audition' => $audition->id])->with('error',
|
||||
'Cannot publish advancement if no entries advance');
|
||||
}
|
||||
|
||||
$audition->addFlag('advancement_published');
|
||||
if (! is_null($passingEntries)) {
|
||||
|
|
|
|||
|
|
@ -260,7 +260,11 @@ class SeatAuditionFormController extends Controller
|
|||
}
|
||||
}
|
||||
}
|
||||
$publisher($audition, $proposal);
|
||||
try {
|
||||
$publisher($audition, $proposal);
|
||||
} catch (AuditionAdminException $e) {
|
||||
return redirect()->route('seating.audition', [$audition])->with('error', $e->getMessage());
|
||||
}
|
||||
session()->forget('proposedSeatingArray-'.$audition->id);
|
||||
|
||||
return redirect()->route('seating.audition', [$audition]);
|
||||
|
|
|
|||
|
|
@ -216,6 +216,7 @@
|
|||
<x-form.form method="POST" action="{{ route('seating.audition.clearDraft',[$audition]) }}">
|
||||
<x-form.button class="mb-3">Clear Draft</x-form.button>
|
||||
</x-form.form>
|
||||
{{-- TODO Hide the publish button if there are no seats --}}
|
||||
<x-form.form method="POST"
|
||||
action="{{ route('seating.audition.publishSeats',[$audition]) }}">
|
||||
<x-form.button class="mb-3">Publish</x-form.button>
|
||||
|
|
|
|||
Loading…
Reference in New Issue