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),
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
commons: Common_Route_Params = Depends(common_route_params),
@@ -267,69 +269,97 @@ async def search_event_badge_obj_li(
{sql_limit};
"""
elif query_str and len(query_str) > 1:
# sql = f"""
# SELECT *
# FROM `v_event_badge` AS event_badge
# WHERE event_badge.event_id = :event_id
# AND (
# event_badge.given_name LIKE :query_str
# OR event_badge.family_name LIKE :query_str
# OR event_badge.email LIKE :query_str
# )
# {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
# AND (
# event_badge.given_name IN (:query_li)
# OR event_badge.family_name IN (:query_li)
# OR event_badge.email IN (:query_li)
# )
# {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};
"""
if badge_only:
sql = f"""
SELECT *
FROM `v_event_badge_only` 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:
# sql = f"""
# SELECT *
# FROM `v_event_badge` AS event_badge
# WHERE event_badge.event_id = :event_id
# AND (
# event_badge.given_name LIKE :query_str
# OR event_badge.family_name LIKE :query_str
# OR event_badge.email LIKE :query_str
# )
# {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
# AND (
# event_badge.given_name IN (:query_li)
# OR event_badge.family_name IN (:query_li)
# OR event_badge.email IN (:query_li)
# )
# {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:
# sql = f"""
# SELECT *
# FROM `v_event_badge` AS event_badge
# WHERE event_badge.account_id = :account_id
# AND (event_badge.external_id LIKE :external_id OR event_badge.external_id IS NULL)
# AND (event_badge.given_name LIKE :given_name
# AND event_badge.family_name LIKE :family_name)
# AND event_badge.email LIKE :email
# {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};
"""
if badge_only:
sql = f"""
SELECT *
FROM `v_event_badge_only` 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};
"""
else:
# sql = f"""
# SELECT *
# FROM `v_event_badge` AS event_badge
# WHERE event_badge.account_id = :account_id
# AND (event_badge.external_id LIKE :external_id OR event_badge.external_id IS NULL)
# AND (event_badge.given_name LIKE :given_name
# AND event_badge.family_name LIKE :family_name)
# AND event_badge.email LIKE :email
# {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)
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)
response_data = event_badge_obj
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)
# ### END ### API Event Badge ### get_event_badge_obj() ###