Working on event person, registration, badge, session, presentation, and presenter create and update. _v3 things
This commit is contained in:
@@ -16,7 +16,7 @@ from app.methods.event_badge_methods import load_event_badge_obj
|
||||
# from app.methods.event_registration_methods import create_event_registration_obj, load_event_registration_obj, update_event_registration_obj_v3
|
||||
# from app.methods.event_session_methods import load_event_session_obj
|
||||
# from app.methods.event_track_methods import load_event_track_obj
|
||||
from app.methods.person_methods import create_person_obj, load_person_obj, update_person_obj
|
||||
from app.methods.person_methods import create_person_obj_v3, load_person_obj, update_person_obj
|
||||
from app.methods.user_methods import create_user_obj, load_user_obj, update_user_obj
|
||||
|
||||
from app.models.event_person_models import Event_Person_New_Base, Event_Person_Base
|
||||
@@ -184,11 +184,73 @@ def get_event_person_rec_list(
|
||||
# ### END ### API Event Person Methods ### get_event_person_rec_list() ###
|
||||
|
||||
|
||||
# ### BEGIN ### API Event Person Methods ### get_account_id_w_event_person_id() ###
|
||||
# Updated 2021-08-24
|
||||
def get_account_id_w_event_person_id(
|
||||
event_person_id: int|str,
|
||||
) -> bool|int|None:
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if event_person_id := redis_lookup_id_random(record_id_random=event_person_id, table_name='event_person'): pass
|
||||
else: return False
|
||||
|
||||
data = {}
|
||||
data['event_person_id'] = event_person_id
|
||||
|
||||
sql = f"""
|
||||
SELECT `event_person`.id AS 'event_person_id', `event_person`.id_random AS 'event_person_id_random', `event_person`.account_id AS account_id
|
||||
FROM `event_person` AS `event_person`
|
||||
WHERE `event_person`.id = :event_person_id
|
||||
LIMIT 1;
|
||||
"""
|
||||
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
if event_person_data_result := sql_select(data=data, sql=sql):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(event_person_data_result)
|
||||
if account_id := event_person_data_result.get('account_id', None): return account_id
|
||||
else: return False
|
||||
else: return None
|
||||
# ### END ### API Event Person Methods ### get_account_id_w_event_person_id() ###
|
||||
|
||||
|
||||
# ### BEGIN ### API Event Person Methods ### get_event_id_w_event_person_id() ###
|
||||
# Updated 2021-08-24
|
||||
def get_event_id_w_event_person_id(
|
||||
event_person_id: int|str,
|
||||
) -> bool|int|None:
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if event_person_id := redis_lookup_id_random(record_id_random=event_person_id, table_name='event_person'): pass
|
||||
else: return False
|
||||
|
||||
data = {}
|
||||
data['event_person_id'] = event_person_id
|
||||
|
||||
sql = f"""
|
||||
SELECT `event_person`.id AS 'event_person_id', `event_person`.id_random AS 'event_person_id_random', `event_person`.event_id AS event_id
|
||||
FROM `event_person` AS `event_person`
|
||||
WHERE `event_person`.id = :event_person_id
|
||||
LIMIT 1;
|
||||
"""
|
||||
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
if event_person_data_result := sql_select(data=data, sql=sql):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(event_person_data_result)
|
||||
if event_id := event_person_data_result.get('event_id', None): return event_id
|
||||
else: return False
|
||||
else: return None
|
||||
# ### END ### API Event Person Methods ### get_event_id_w_event_person_id() ###
|
||||
|
||||
|
||||
# ### BEGIN ### API Event Person Methods ### create_event_person_obj() ###
|
||||
# NOTE: This will create an event_person. This event_person should include at least a person_id.
|
||||
# NOTE: Is it a good idea to create and or update a person and or user here??? The create_event_person_obj() below does do that.
|
||||
# NOTE NOTE NOTE NOTE: I don't like the idea of creating or updating person and or user here. It just does not seem right... Security risk? Complexity?
|
||||
# Reviewed and updated 2021-08-10
|
||||
# Updated 2021-08-24
|
||||
def create_event_person_obj(
|
||||
event_id: int|str,
|
||||
event_person_obj_new: Event_Person_Base,
|
||||
@@ -218,6 +280,7 @@ def create_event_person_obj(
|
||||
return_dict['event_registration_id'] = None
|
||||
|
||||
if event_person_obj_new.event_badge and isinstance(event_person_obj_new.event_badge, dict):
|
||||
log.info(f'Event Badge was found. Create a new Event Badge and link it to the new Event Person or update existing Event Badge. Event Person ID: {event_person_id}')
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
event_badge_obj_unknown = event_person_obj_new.event_badge
|
||||
log.debug(event_badge_obj_unknown)
|
||||
@@ -274,6 +337,7 @@ def create_event_person_obj(
|
||||
pass
|
||||
|
||||
if event_person_obj_new.event_registration and isinstance(event_person_obj_new.event_registration, dict):
|
||||
log.info(f'Event Registration was found. Create a new Event Registration and link it to the new Event Person or update existing Event Registration. Event Person ID: {event_person_id}')
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
event_registration_obj_unknown = event_person_obj_new.event_registration
|
||||
log.debug(event_registration_obj_unknown)
|
||||
@@ -341,13 +405,13 @@ def create_event_person_obj(
|
||||
if event_person_obj_new.event_session and event_person_obj_new.poc_event_session_id: pass # POC for event session; could be more than one
|
||||
if event_person_obj_new.event_registration and event_person_obj_new.poc_event_registration_id: pass # Primary registrant for registration; only one
|
||||
|
||||
log.info(f'The event person has been created. Event Person ID: {event_person_id}')
|
||||
log.info(f'The Event Person has been created. Event Person ID: {event_person_id}')
|
||||
return event_person_id
|
||||
# ### END ### API Event Person Methods ### create_event_person_obj() ###
|
||||
|
||||
|
||||
# ### BEGIN ### API Event Person Methods ### update_event_person_obj_v3() ###
|
||||
# Updated 2021-08-21
|
||||
# Updated 2021-08-24
|
||||
def update_event_person_obj_v3(
|
||||
event_person_id: int|str,
|
||||
event_person_obj_exist: Event_Person_Base,
|
||||
@@ -489,15 +553,13 @@ def update_event_person_obj_v3(
|
||||
log.info('Event Registration not found or not in a dict.')
|
||||
pass
|
||||
|
||||
log.info(f'The event person has been updated. Event Person ID: {event_person_id}')
|
||||
log.info(f'The Event Person has been updated. Event Person ID: {event_person_id}')
|
||||
return True
|
||||
# ### END ### API Event Person Methods ### update_event_person_obj_v3() ###
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ### BEGIN ### API Event Person Methods ### update_event_person_obj() ###
|
||||
# NOTE: This will update an event_person. This also tries to create or update a person or user if that data is passed.
|
||||
# NOTE: Is it a good idea to create and or update a person and or user here???
|
||||
@@ -515,6 +577,8 @@ def update_event_person_obj(
|
||||
if event_person_id := redis_lookup_id_random(record_id_random=event_person_id, table_name='event_person'): pass
|
||||
else: return False
|
||||
|
||||
account_id = get_account_id_w_event_person_id(event_person_id)
|
||||
|
||||
event_person_obj_up.id = event_person_id
|
||||
|
||||
log.debug(event_person_obj_up)
|
||||
@@ -540,7 +604,7 @@ def update_event_person_obj(
|
||||
# NOTE: This will blindly create a new person even if there was one associated but the event_person.person_id was not found.
|
||||
person_obj_in = event_person_obj_up.person
|
||||
log.debug(person_obj_in)
|
||||
if person_obj_in_result := create_person_obj(person_obj_new=person_obj_in):
|
||||
if person_obj_in_result := create_person_obj_v3(account_id=account_id, person_obj_new=person_obj_in):
|
||||
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(person_obj_in_result)
|
||||
event_person_obj_up.person_id = person_obj_in_result
|
||||
|
||||
Reference in New Issue
Block a user