From 8fa438336fa34fcdd3fe25d326aa18640bf57d75 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 8 Jul 2022 10:00:18 -0400 Subject: [PATCH] Modified badge list method --- app/methods/event_badge_methods.py | 16 ++++++++++++++++ app/routers/event_badge.py | 3 +++ 2 files changed, 19 insertions(+) diff --git a/app/methods/event_badge_methods.py b/app/methods/event_badge_methods.py index a6e25d4..341dd65 100644 --- a/app/methods/event_badge_methods.py +++ b/app/methods/event_badge_methods.py @@ -86,6 +86,7 @@ def get_event_badge_rec_list( event_id: str, badge_only: bool = False, # Changes the SQL view used badge_type_code: str = None, # guest, member, non-member, staff, volunteer, custom per event + printed: str = 'not_printed', # not_printed, printed, all enabled: str = 'enabled', # enabled, disabled, all limit: int = 250, offset: int = 0, @@ -104,6 +105,20 @@ def get_event_badge_rec_list( sql_badge_type_code = f'AND `event_badge`.badge_type_code = :badge_type_code' else: sql_badge_type_code = '' + if printed in ['not_printed', 'printed', 'all']: + log.info(f'Creating partial SQL string for "printed" check. Printed: {printed}') + if printed == 'not_printed': + sql_badge_printed = f'AND (`event_badge`.print_count IS NULL OR `event_badge`.print_count = 0)' + # printed = False + elif printed == 'printed': + sql_badge_printed = f'AND `event_badge`.print_count > 0' + # printed = True + elif printed == 'all': + sql_badge_printed = f'AND (`event_badge`.print_count IS NULL OR `event_badge`.print_count IS NOT NULL)' + # printed = None + log.debug(sql_badge_printed) + else: sql_badge_printed = '' + sql_enabled, data['enable'] = sql_enable_part(table_name='event_badge', enabled=enabled) # Reasonably safe return str and bool sql_limit = sql_limit_offset_part(limit=limit, offset=offset) # Reasonably safe return str @@ -114,6 +129,7 @@ def get_event_badge_rec_list( WHERE `event_badge`.event_id = :event_id {sql_badge_type_code} + {sql_badge_printed} {sql_enabled} ORDER BY event_badge.family_name ASC, event_badge.given_name ASC, `event_badge`.created_on DESC, `event_badge`.updated_on DESC {sql_limit}; diff --git a/app/routers/event_badge.py b/app/routers/event_badge.py index 2293172..cf3baf4 100644 --- a/app/routers/event_badge.py +++ b/app/routers/event_badge.py @@ -503,6 +503,8 @@ async def get_event_obj_event_badge_list( event_id: str = Query(..., min_length=11, max_length=22), badge_only: bool = False, badge_type_code: str = None, + printed: str = 'not_printed', # not_printed, printed, all + inc_event_badge_template: bool = False, inc_event_person: bool = False, @@ -522,6 +524,7 @@ async def get_event_obj_event_badge_list( event_id = event_id, badge_only = badge_only, badge_type_code = badge_type_code, + printed = printed, enabled = commons.enabled, limit = commons.limit, offset = commons.offset,