Skip to content

Commit 3db2ce0

Browse files
committed
Add server checks for ticket price
1 parent 1ef10f5 commit 3db2ce0

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

app/api/tickets.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ def before_create_object(self, data, view_kwargs):
5959
if not event.is_payment_enabled():
6060
raise UnprocessableEntity(
6161
{'event_id': data['event']}, "Event having paid ticket must have a payment method")
62+
if data.get('type') == 'paid' and data.get('price') <= 0:
63+
raise UnprocessableEntity(
64+
{'price': data['price']}, "Price of a paid ticket must be greater than zero")
6265

6366
schema = TicketSchema
6467
methods = ['POST', ]
@@ -181,6 +184,9 @@ def before_update_object(self, ticket, data, view_kwargs):
181184
if not event.is_payment_enabled():
182185
raise UnprocessableEntity(
183186
{'event_id': ticket.event.id}, "Event having paid ticket must have a payment method")
187+
if data.get('type') == 'paid' and data.get('price') <= 0:
188+
raise UnprocessableEntity(
189+
{'price': data['price']}, "Price of a paid ticket must be greater than zero")
184190

185191
decorators = (api.has_permission('is_coorganizer', fetch='event_id',
186192
fetch_as="event_id", model=Ticket, methods="PATCH,DELETE"),)

0 commit comments

Comments
 (0)