Skip to content

Commit 68f1e0d

Browse files
Forbid to create booking options for past events, require at least one booking option to view groups
1 parent d647a49 commit 68f1e0d

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

app/Policies/BookingOptionPolicy.php

+7-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,13 @@ public function book(?User $user, BookingOption $bookingOption): Response
9191
*/
9292
public function create(User $user, Event $event): Response
9393
{
94-
if (isset($event->parentEvent)) {
94+
if (
95+
// Don't create booking options for child events.
96+
isset($event->parentEvent)
97+
// Don't create booking options for past events.
98+
|| (isset($event->finished_at) && $event->finished_at->isPast())
99+
|| (isset($event->started_at) && !isset($event->finished_at) && $event->started_at->isPast())
100+
) {
95101
return $this->deny();
96102
}
97103

app/Policies/EventPolicy.php

+4
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ public function view(?User $user, Event $event): Response
3737

3838
public function viewGroups(User $user, Event $event): Response
3939
{
40+
if ($event->getBookingOptions()->isEmpty()) {
41+
return $this->deny();
42+
}
43+
4044
return $this->requireAbility($user, Ability::ViewBookingsOfEvent);
4145
}
4246

0 commit comments

Comments
 (0)