A lot of changes related to person and membership

This commit is contained in:
Scott Idem
2021-07-09 17:34:02 -04:00
parent 2b8d00551c
commit 49805f48c9
49 changed files with 1389 additions and 758 deletions

View File

@@ -30,7 +30,19 @@ def load_person_obj(
inc_event_list: bool = False,
inc_journal_list: bool = False,
inc_journal_entry_list: bool = False,
inc_membership_member: bool = False,
inc_membership_cfg: bool = False,
inc_membership_group: bool = False,
inc_membership_person_group: bool = False,
inc_membership_group_list: bool = False,
inc_membership_group_person_list: bool = False,
inc_membership_person: bool = False, # NOTE: Same as inc_membership_person_list
inc_membership_person_list: bool = False, # NOTE: Same as inc_membership_person
inc_membership_person_profile: bool = False,
inc_membership_person_profile_cust: bool = False,
inc_membership_type: bool = False,
inc_membership_type_person: bool = False,
inc_membership_type_list: bool = False,
inc_membership_type_person_list: bool = False,
inc_order_cfg: bool = False,
inc_order_line_list: bool = False,
inc_order_list: bool = False,
@@ -38,9 +50,10 @@ def load_person_obj(
inc_organization: bool = False,
inc_post_list: bool = False,
inc_post_comment_list: bool = False,
inc_product: bool = False,
inc_user: bool = False,
) -> Person_Base|bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass
@@ -55,7 +68,7 @@ def load_person_obj(
except ValidationError as e:
log.error(e.json())
# Updated 2021-06-18
# Updated 2021-07-09
if inc_contact:
contact_id = person_rec.get('contact_id', None)
log.debug(contact_id)
@@ -71,6 +84,93 @@ def load_person_obj(
person_obj.contact = contact_result
else: person_obj.contact = None
# Updated 2021-07-09
# if inc_membership_group_list:
# from app.methods.membership_group_methods import get_membership_group_rec_list, load_membership_group_obj
# if membership_group_rec_list_result := get_membership_group_rec_list(
# for_obj_type = 'person',
# for_obj_id = person_id,
# limit = limit,
# enabled = enabled,
# ):
# membership_group_result_list = []
# for membership_group_rec in membership_group_rec_list_result:
# if membership_group_result := load_membership_group_obj(
# membership_group_id = membership_group_rec.get('membership_group_id', None),
# limit = limit,
# by_alias = by_alias,
# exclude_unset = exclude_unset,
# model_as_dict = model_as_dict,
# enabled = enabled,
# inc_membership_group_profile = inc_membership_group_profile,
# inc_membership_group_profile_cust = inc_membership_group_profile_cust,
# inc_membership_type = inc_membership_type,
# inc_product = inc_product,
# ):
# membership_group_result_list.append(membership_group_result)
# else:
# membership_group_result_list.append(None)
# person_obj.membership_group_list = membership_group_result_list
# else: person_obj.membership_group_list = []
# Updated 2021-07-09
if inc_membership_person:
from app.methods.membership_person_methods import load_membership_person_obj
membership_person_id = person_rec.get('membership_person_id', None)
log.debug(membership_person_id)
if membership_person_result := load_membership_person_obj(
membership_person_id = membership_person_id,
limit = limit,
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
enabled = enabled,
inc_address = inc_address,
inc_contact = inc_contact,
inc_membership_cfg = inc_membership_cfg,
inc_membership_group = inc_membership_group, # The primary membership group, if there is one.
inc_membership_group_list = inc_membership_group_list, # All membership groups they are a part of.
inc_membership_person_profile = inc_membership_person_profile,
inc_membership_person_profile_cust = inc_membership_person_profile_cust,
inc_membership_type = inc_membership_type, # The primary membership type, if there is one.
inc_membership_type_list = inc_membership_type_list, # All the membership types they are a part of.
# inc_person = inc_person,
inc_product = inc_product,
# inc_product_list = inc_product_list,
# inc_user = inc_user,
):
person_obj.membership_person = membership_person_result
else: person_obj.membership_person = None
# Updated 2021-07-09
# if inc_membership_type or inc_membership_type_list: # Technically should this be inc_membership_type_list???
# from app.methods.membership_type_methods import get_membership_type_rec_list, load_membership_type_obj
# if membership_type_rec_list_result := get_membership_type_rec_list(
# for_obj_type = 'person',
# for_obj_id = person_id,
# limit = limit,
# enabled = enabled,
# ):
# membership_type_result_list = []
# for membership_type_rec in membership_type_rec_list_result:
# if membership_type_result := load_membership_type_obj(
# membership_type_id = membership_type_rec.get('membership_type_id', None),
# limit = limit,
# by_alias = by_alias,
# exclude_unset = exclude_unset,
# model_as_dict = model_as_dict,
# enabled = enabled,
# inc_membership_type_profile = inc_membership_type_profile,
# inc_membership_type_profile_cust = inc_membership_type_profile_cust,
# inc_membership_type = inc_membership_type,
# inc_product = inc_product,
# ):
# membership_type_result_list.append(membership_type_result)
# else:
# membership_type_result_list.append(None)
# type_obj.membership_type_list = membership_type_result_list
# else: type_obj.membership_type_list = []
# Updated 2021-06-18
if inc_order_list:
if order_rec_list_result := get_order_rec_list(
@@ -147,7 +247,7 @@ def get_person_rec_list(
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if for_obj_id := redis_lookup_id_random(record_id_random=for_obj_id, table_name='for_obj_type'): pass
if for_obj_id := redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type): pass
else: return False
data = {}
data[f'{for_obj_type}_id'] = for_obj_id