Work on person methods and related

This commit is contained in:
Scott Idem
2021-09-08 12:22:22 -04:00
parent 84aecddc7c
commit d0d8392817
12 changed files with 533 additions and 277 deletions

View File

@@ -13,13 +13,14 @@ from app.methods.event_badge_methods import load_event_badge_obj
# from app.methods.event_file_methods import load_event_file_obj
from app.methods.event_person_profile_methods import load_event_person_profile_obj
# from app.methods.event_presentation_methods import load_event_presentation_obj
# from app.methods.event_presenter_methods import load_event_presenter_obj
# from app.methods.event_presenter_methods import get_event_presenter_rec_list, load_event_presenter_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_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.common_field_schema import default_num_bytes
from app.models.event_person_models import Event_Person_New_Base, Event_Person_Base
@@ -108,7 +109,39 @@ def load_event_person_obj(
event_person_obj.event_person_profile = None
if inc_event_presentation_list: pass
if inc_event_presenter_list: pass
if inc_event_presenter_list:
log.info('Need to include event presenter list...')
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
from app.methods.event_presenter_methods import get_event_presenter_rec_list, load_event_presenter_obj
if event_presenter_rec_list_result := get_event_presenter_rec_list(
event_person_id = event_person_id,
# event_presentation_id = event_presentation_id,
enabled = enabled,
limit = limit,
):
event_presenter_result_list = []
for event_presenter_rec in event_presenter_rec_list_result:
if load_event_presenter_result := load_event_presenter_obj(
event_presenter_id = event_presenter_rec.get('event_presenter_id', None),
enabled = enabled,
limit = limit,
inc_event_file_list = inc_event_file_list,
inc_event_person = False,
by_alias = by_alias,
exclude_unset = exclude_unset,
# model_as_dict = model_as_dict,
):
event_presenter_result_list.append(load_event_presenter_result)
else:
event_presenter_result_list.append(None)
log.debug(event_presenter_result_list)
event_person_obj.event_presenter_list = event_presenter_result_list
elif isinstance(event_presenter_rec_list_result, list):
event_person_obj.event_presenter_list = []
else:
event_person_obj.event_presenter_list = None
if inc_event_registration: pass
if inc_event_session_list: pass
if inc_event_track_list: pass
@@ -270,9 +303,9 @@ def get_event_id_w_event_person_id(
# Rewrite and updated 2021-08-25
def create_update_event_person_obj_v4(
event_person_dict_obj: Event_Person_Base|dict,
event_person_id: int|str = None,
account_id: int|str = None,
event_id: int|str = None,
event_person_id: int|str|None = None,
account_id: int|str|None = None,
event_id: int|str|None = None,
create_sub_obj: bool = False,
fail_any: bool = False, # Fail if any thing goes wrong for sub objects
return_outline: bool = False,
@@ -299,7 +332,7 @@ def create_update_event_person_obj_v4(
if event_id := get_event_id_w_for_type_id(for_type='event_person', for_id=event_person_id): pass
else:
log.error('Unable to get Event ID from related object.')
False
# return False
if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass
else:
@@ -311,7 +344,7 @@ def create_update_event_person_obj_v4(
elif account_id := get_account_id_w_for_type_id(for_type='event_person', for_id=event_person_id): pass
else:
log.error('Unable to get Account ID from related object.')
False
# return False
else:
log.info('No Event Person ID passed. Create new Event Person. Required: Account ID, Event ID')
@@ -330,7 +363,7 @@ def create_update_event_person_obj_v4(
if account_id := get_account_id_w_for_type_id(for_type='event', for_id=event_id): pass
else:
log.error('Unable to get Account ID from related object.')
False
return False
log.debug(type(event_person_dict_obj))
if isinstance(event_person_dict_obj, dict):
@@ -368,7 +401,7 @@ def create_update_event_person_obj_v4(
return False
log.debug(event_person_dict_up_result)
else:
if event_person_dict_in_result := sql_insert(data=event_person_dict, table_name='event_person', rm_id_random=True, id_random_length=8): pass
if event_person_dict_in_result := sql_insert(data=event_person_dict, table_name='event_person', rm_id_random=True, id_random_length=default_num_bytes): pass
else:
log.warning(f'Event Person not created.')
log.debug(event_person_dict_in_result)
@@ -408,6 +441,34 @@ def create_update_event_person_obj_v4(
# event_person_outline['event_badge_id'] = event_badge_id
# NOTE: WARNING: This has not been fully tested yet. 2021-09-07
# NOTE: Use object model version because of better type checking and validations
if event_person_obj.event_person_profile:
event_person_outline['event_person_profile_id'] = None
event_person_profile_obj = event_person_obj.event_person_profile
if event_person_profile_id := event_person_obj.event_person_profile_id: pass
elif event_person_profile_id := event_person_profile_obj.id: pass
else: event_person_profile_id = None
# event_person_profile_obj.id
event_person_profile_obj.event_person_id = event_person_id
create_update_event_person_profile_obj_result = create_update_event_person_profile_obj_v4(
event_person_profile_dict_obj = event_person_profile_obj,
event_person_profile_id = event_person_profile_id,
account_id = account_id,
event_id = event_id,
event_person_id = event_person_id,
fail_any = fail_any,
return_outline = return_outline,
)
if isinstance(create_update_event_person_profile_obj_result, int):
event_person_profile_id = create_update_event_person_profile_obj_result
elif create_update_event_person_profile_obj_result == True: pass
else:
log.warning(f'Create or Update failed while trying create_update_event_person_profile_obj_v4(): {create_update_event_person_profile_obj_result}')
event_person_profile_id = None
event_person_outline['event_person_profile_id'] = event_person_profile_id
if return_outline:
log.debug(f'Returning the Event Person Outline: {event_person_outline}')
return event_person_outline