diff --git a/app/api/tickets.py b/app/api/tickets.py index 8faac8e15e..f4d5125ecf 100644 --- a/app/api/tickets.py +++ b/app/api/tickets.py @@ -59,6 +59,9 @@ def before_create_object(self, data, view_kwargs): if not event.is_payment_enabled(): raise UnprocessableEntity( {'event_id': data['event']}, "Event having paid ticket must have a payment method") + if data['price'] <= 0: + raise UnprocessableEntity( + {'price': data['price']}, "Price of a paid/donation ticket must be greater than zero") schema = TicketSchema methods = ['POST', ] @@ -181,6 +184,9 @@ def before_update_object(self, ticket, data, view_kwargs): if not event.is_payment_enabled(): raise UnprocessableEntity( {'event_id': ticket.event.id}, "Event having paid ticket must have a payment method") + if data['price'] <= 0: + raise UnprocessableEntity( + {'price': data['price']}, "Price of a paid/donation ticket must be greater than zero") decorators = (api.has_permission('is_coorganizer', fetch='event_id', fetch_as="event_id", model=Ticket, methods="PATCH,DELETE"),)