Work on cleaning up viewing and searching for badge only records. Not tied to an event_person record.

This commit is contained in:
Scott Idem
2022-06-27 19:51:20 -04:00
parent 9376388f90
commit efcbe17b6b

View File

@@ -154,6 +154,8 @@ async def search_event_badge_obj_li(
family_name: str = Query('', max_length=25), family_name: str = Query('', max_length=25),
email: str = Query('', max_length=50), email: str = Query('', max_length=50),
badge_only: bool = False, # NOTE: Use the v_event_badge_only view
hidden: str = 'not_hidden', # hidden, not_hidden, all hidden: str = 'not_hidden', # hidden, not_hidden, all
commons: Common_Route_Params = Depends(common_route_params), commons: Common_Route_Params = Depends(common_route_params),
@@ -267,69 +269,97 @@ async def search_event_badge_obj_li(
{sql_limit}; {sql_limit};
""" """
elif query_str and len(query_str) > 1: elif query_str and len(query_str) > 1:
# sql = f""" if badge_only:
# SELECT * sql = f"""
# FROM `v_event_badge` AS event_badge SELECT *
# WHERE event_badge.event_id = :event_id FROM `v_event_badge_only` AS event_badge
# AND ( WHERE event_badge.event_id = :event_id
# event_badge.given_name LIKE :query_str {sql_badge_type_code}
# OR event_badge.family_name LIKE :query_str AND event_badge.query_str LIKE :query_str
# OR event_badge.email LIKE :query_str {sql_hidden}
# ) {sql_enabled}
# {sql_enabled} ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
# ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC {sql_limit};
# {sql_limit}; """
# """ else:
# sql = f""" # sql = f"""
# SELECT * # SELECT *
# FROM `v_event_badge` AS event_badge # FROM `v_event_badge` AS event_badge
# WHERE event_badge.event_id = :event_id # WHERE event_badge.event_id = :event_id
# AND ( # AND (
# event_badge.given_name IN (:query_li) # event_badge.given_name LIKE :query_str
# OR event_badge.family_name IN (:query_li) # OR event_badge.family_name LIKE :query_str
# OR event_badge.email IN (:query_li) # OR event_badge.email LIKE :query_str
# ) # )
# {sql_enabled} # {sql_enabled}
# ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC # ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
# {sql_limit}; # {sql_limit};
# """ # """
sql = f""" # sql = f"""
SELECT * # SELECT *
FROM `v_event_badge` AS event_badge # FROM `v_event_badge` AS event_badge
WHERE event_badge.event_id = :event_id # WHERE event_badge.event_id = :event_id
{sql_badge_type_code} # AND (
AND event_badge.query_str LIKE :query_str # event_badge.given_name IN (:query_li)
{sql_hidden} # OR event_badge.family_name IN (:query_li)
{sql_enabled} # OR event_badge.email IN (:query_li)
ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC # )
{sql_limit}; # {sql_enabled}
""" # ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
# {sql_limit};
# """
sql = f"""
SELECT *
FROM `v_event_badge` AS event_badge
WHERE event_badge.event_id = :event_id
{sql_badge_type_code}
AND event_badge.query_str LIKE :query_str
{sql_hidden}
{sql_enabled}
ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
{sql_limit};
"""
else: else:
# sql = f""" if badge_only:
# SELECT * sql = f"""
# FROM `v_event_badge` AS event_badge SELECT *
# WHERE event_badge.account_id = :account_id FROM `v_event_badge_only` AS event_badge
# AND (event_badge.external_id LIKE :external_id OR event_badge.external_id IS NULL) WHERE event_badge.event_id = :event_id
# AND (event_badge.given_name LIKE :given_name {sql_badge_type_code}
# AND event_badge.family_name LIKE :family_name) AND (event_badge.given_name LIKE :given_name
# AND event_badge.email LIKE :email AND event_badge.family_name LIKE :family_name)
# {sql_enabled} AND event_badge.email LIKE :email
# ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC {sql_hidden}
# {sql_limit}; {sql_enabled}
# """ ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
sql = f""" {sql_limit};
SELECT * """
FROM `v_event_badge` AS event_badge else:
WHERE event_badge.event_id = :event_id # sql = f"""
{sql_badge_type_code} # SELECT *
AND (event_badge.given_name LIKE :given_name # FROM `v_event_badge` AS event_badge
AND event_badge.family_name LIKE :family_name) # WHERE event_badge.account_id = :account_id
AND event_badge.email LIKE :email # AND (event_badge.external_id LIKE :external_id OR event_badge.external_id IS NULL)
{sql_hidden} # AND (event_badge.given_name LIKE :given_name
{sql_enabled} # AND event_badge.family_name LIKE :family_name)
ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC # AND event_badge.email LIKE :email
{sql_limit}; # {sql_enabled}
""" # ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
# {sql_limit};
# """
sql = f"""
SELECT *
FROM `v_event_badge` AS event_badge
WHERE event_badge.event_id = :event_id
{sql_badge_type_code}
AND (event_badge.given_name LIKE :given_name
AND event_badge.family_name LIKE :family_name)
AND event_badge.email LIKE :email
{sql_hidden}
{sql_enabled}
ORDER BY event_badge.given_name ASC, event_badge.family_name ASC, event_badge.created_on DESC, event_badge.updated_on DESC
{sql_limit};
"""
log.debug(sql) log.debug(sql)
if sql_result := sql_select(data=data, sql=sql, as_list=True, rm_id_random=False, log_lvl=logging.INFO): # rm_id_random=True if sql_result := sql_select(data=data, sql=sql, as_list=True, rm_id_random=False, log_lvl=logging.INFO): # rm_id_random=True
@@ -401,7 +431,15 @@ async def get_event_badge_obj(
# return mk_resp(data=event_badge_dict, response=commons.response) # return mk_resp(data=event_badge_dict, response=commons.response)
response_data = event_badge_obj response_data = event_badge_obj
else: else:
return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request # NOTE: This is not really the best way to do this. This is to help get badges that are not tied to an event_person record.
if event_badge_obj := load_event_badge_obj(
event_badge_id = event_badge_id,
badge_only = True,
inc_event_badge_template = inc_event_badge_template,
):
response_data = event_badge_obj
else:
return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request
return mk_resp(data=response_data, response=commons.response) return mk_resp(data=response_data, response=commons.response)
# ### END ### API Event Badge ### get_event_badge_obj() ### # ### END ### API Event Badge ### get_event_badge_obj() ###