Working on membership still...

This commit is contained in:
Scott Idem
2021-06-24 14:17:29 -04:00
parent 6f21a567a7
commit ea254c584f
11 changed files with 133 additions and 93 deletions

View File

@@ -7,9 +7,11 @@ from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, v
from app.lib_general import log, logging
from app.db_sql import redis_lookup_id_random, sql_insert_or_update, sql_select
from app.methods.membership_cfg_methods import load_membership_cfg_obj
from app.methods.membership_group_member_methods import get_membership_group_member_rec_list, load_membership_group_member_obj
from app.methods.membership_group_methods import get_membership_group_rec_list, load_membership_group_obj
from app.methods.membership_member_profile_methods import get_membership_member_profile_rec_list, load_membership_member_profile_obj
# from app.methods.membership_type_methods import load_membership_type_obj
from app.methods.person_methods import load_person_obj
from app.methods.user_methods import load_user_obj
@@ -27,13 +29,14 @@ def load_membership_member_obj(
inc_address: bool = False,
inc_contact: bool = False,
inc_membership_cfg: bool = False,
inc_membership_group_list: bool = False,
inc_membership_group_list: bool = False, # The list of groups the member is a part of
inc_membership_member_profile: bool = False,
inc_membership_type: bool = False,
# inc_membership_member_profile_cust: bool = False,
inc_membership_member_profile_cust: bool = False, # Extended profile?
inc_membership_type: bool = False, # The member_type the member is
inc_organization: bool = False,
inc_person: bool = False,
inc_product: bool = False, # The product the person actually purchased for a member_type or member_group
inc_product_list: bool = False, # The list of products that give access to a member_type or member_group
inc_user: bool = False,
) -> Membership_Member_Base:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
@@ -51,8 +54,19 @@ def load_membership_member_obj(
except ValidationError as e:
log.error(e.json())
# Updated 2021-06-24
if inc_membership_cfg:
if membership_cfg_obj_result := load_membership_cfg_obj(
account_id = membership_member_rec.get('account_id', None),
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
):
membership_member_obj.cfg = membership_cfg_obj_result
else: membership_member_obj.cfg = None
# Updated 2021-06-18
if inc_membership_group_list:
if inc_membership_group_list: # The list of groups the member is a part of
if membership_group_rec_list_result := get_membership_group_rec_list(
for_obj_type = 'membership_member',
for_obj_id = membership_member_id,
@@ -73,22 +87,11 @@ def load_membership_member_obj(
# inc_organization = inc_organization,
# inc_person = inc_person,
# inc_product = inc_product,
inc_product_list = inc_product_list,
# inc_user = inc_user,
):
membership_group_result_list.append(load_membership_group_result)
else: membership_group_result_list.append(None)
# membership_group_result_list.append(
# 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,
# )
# )
membership_member_obj.membership_group_list = membership_group_result_list
else: membership_member_obj.membership_group_list = []
@@ -104,6 +107,7 @@ def load_membership_member_obj(
inc_address = inc_address,
inc_contact = inc_contact,
# inc_membership = inc_membership,
# inc_membership_cfg = inc_membership_cfg,
inc_organization = inc_organization,
):
membership_member_obj.membership_member_profile = membership_member_profile_result
@@ -112,17 +116,22 @@ def load_membership_member_obj(
# Updated 2021-06-18
if inc_membership_type:
from app.methods.membership_type_methods import load_membership_type_obj
membership_type_id = membership_member_rec.get('membership_type_id', None)
log.debug(membership_type_id)
if membership_type_result := load_membership_type_obj(
membership_type_id = membership_type_id,
limit = limit,
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
inc_address = inc_address,
inc_contact = inc_contact,
enabled = enabled,
# inc_address = inc_address,
# inc_contact = inc_contact,
# inc_membership = inc_membership,
# inc_membership_cfg = inc_membership_cfg,
# inc_organization = inc_organization,
inc_product_list = inc_product_list,
):
membership_member_obj.membership_type = membership_type_result
else: membership_member_obj.membership_type = None