Skip to content

Commit d19294b

Browse files
codedsuniamareebjamal
authored andcommitted
fix: ticket end-date can be only within event end-date (#6647)
1 parent 692f7f9 commit d19294b

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

app/api/tickets.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,20 @@ def before_create_object(self, data, view_kwargs):
4848
:param view_kwargs:
4949
:return:
5050
"""
51-
if data.get('type') == 'paid' and data.get('event'):
51+
if data.get('event'):
5252
try:
5353
event = db.session.query(Event).filter_by(id=data['event'], deleted_at=None).one()
5454
except NoResultFound:
5555
raise UnprocessableEntity({'event_id': data['event']}, "Event does not exist")
56-
if not event.is_payment_enabled():
57-
raise UnprocessableEntity(
58-
{'event_id': data['event']}, "Event having paid ticket must have a payment method")
56+
57+
if data.get('type') == 'paid':
58+
if not event.is_payment_enabled():
59+
raise UnprocessableEntity(
60+
{'event_id': data['event']}, "Event having paid ticket must have a payment method")
61+
62+
if data.get('sales_ends_at') > event.ends_at:
63+
raise UnprocessableEntity({'sales_ends_at': '/data/attributes/sales-ends-at'},
64+
"Ticket end date cannot be greater than event end date")
5965

6066
schema = TicketSchema
6167
methods = ['POST', ]

0 commit comments

Comments
 (0)