From 658e634461350b6471a1fd2ff6970b80c834b11e Mon Sep 17 00:00:00 2001 From: CosmicCoder96 Date: Tue, 30 Jul 2019 00:58:29 +0530 Subject: [PATCH] Make discount codes fetchable by event_identifier --- app/api/__init__.py | 6 ++++-- app/api/access_codes.py | 9 ++++++++- app/api/discount_codes.py | 6 ++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/api/__init__.py b/app/api/__init__.py index 3f87b0080a..56566a2d91 100644 --- a/app/api/__init__.py +++ b/app/api/__init__.py @@ -474,7 +474,8 @@ '/tickets//discount-codes') api.route(DiscountCodeDetail, 'discount_code_detail', '/discount-codes/', '/events//discount-code', '/event-invoices//discount-code', - '/events//discount-codes/') + '/events//discount-codes/', + '/events//discount-codes/') api.route(DiscountCodeRelationshipRequired, 'discount_code_event', '/discount-codes//relationships/event') api.route(DiscountCodeRelationshipOptional, 'discount_code_events', @@ -542,7 +543,8 @@ '/events//access-codes', '/users//access-codes', '/tickets//access-codes') api.route(AccessCodeDetail, 'access_code_detail', '/access-codes/', - '/events//access-codes/') + '/events//access-codes/', + '/events//access-codes/',) api.route(AccessCodeRelationshipRequired, 'access_code_event', '/access-codes//relationships/event') api.route(AccessCodeRelationshipOptional, 'access_code_user', diff --git a/app/api/access_codes.py b/app/api/access_codes.py index fc46704146..c2190a5bed 100644 --- a/app/api/access_codes.py +++ b/app/api/access_codes.py @@ -15,6 +15,7 @@ from app.models.access_code import AccessCode from app.models.ticket import Ticket from app.models.user import User +from app.models.event import Event class AccessCodeListPost(ResourceList): @@ -110,7 +111,13 @@ def before_get(self, args, kwargs): :param kwargs: :return: """ - # Any registered user can fetch access code details using the code. + # Any user can fetch access code details using the code. + + if kwargs.get('access_event_identifier'): + event = safe_query( + db, Event, 'identifier', kwargs['discount_event_identifier'], + 'event_identifier') + kwargs['access_event_id'] = event.id if kwargs.get('code') and kwargs.get('access_event_id'): access = db.session.query(AccessCode).filter_by(code=kwargs.get('code'), event_id=kwargs.get('access_event_id')).first() diff --git a/app/api/discount_codes.py b/app/api/discount_codes.py index 01eb42e7e0..5fb3e36c96 100644 --- a/app/api/discount_codes.py +++ b/app/api/discount_codes.py @@ -198,6 +198,12 @@ def before_get(self, args, kwargs): 'event_identifier') kwargs['event_id'] = event.id + if kwargs.get('discount_event_identifier'): + event = safe_query( + db, Event, 'identifier', kwargs['discount_event_identifier'], + 'event_identifier') + kwargs['discount_event_id'] = event.id + if kwargs.get('event_id') and has_access('is_admin'): event = safe_query(db, Event, 'id', kwargs['event_id'], 'event_id') if event.discount_code_id: