Modified badge list method

This commit is contained in:
Scott Idem
2022-07-08 10:00:18 -04:00
parent a483b8e24e
commit 8fa438336f
2 changed files with 19 additions and 0 deletions

View File

@@ -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};

View File

@@ -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,