Work on membership and related
This commit is contained in:
@@ -8,6 +8,7 @@ from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_updat
|
||||
from app.lib_general import log, logging
|
||||
# from app.methods.membership_person_methods import get_membership_person_rec_list, load_membership_person_obj
|
||||
|
||||
from app.models.common_field_schema import default_num_bytes
|
||||
from app.models.membership_person_group_models import Membership_Person_Group_Base
|
||||
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ from app.methods.person_methods import load_person_obj
|
||||
from app.methods.product_methods import load_product_obj
|
||||
from app.methods.user_methods import load_user_obj
|
||||
|
||||
from app.models.common_field_schema import default_num_bytes
|
||||
from app.models.membership_person_models import Membership_Person_Base
|
||||
|
||||
|
||||
@@ -32,13 +33,13 @@ def load_membership_person_obj(
|
||||
inc_contact: bool = False,
|
||||
inc_membership_cfg: bool = False,
|
||||
# inc_membership_group: bool = False, # Their primary membership group
|
||||
inc_membership_group_list: bool = False, # List of membership group for a person - 2022-01-11
|
||||
inc_membership_person_group_list: bool = False, # List of membership group for a person - 2022-01-11
|
||||
# inc_membership_person_group: bool = False, # The person information for their primary membership group
|
||||
# inc_membership_person_group_list: bool = False, # The person information for all of their membership groups
|
||||
# inc_membership_person_profile: bool = False,
|
||||
# inc_membership_person_profile_cust: bool = False, # Extended profile?
|
||||
inc_membership_profile: bool = False, # Membership profile for a person - 2022-01-11
|
||||
inc_membership_type: bool = False, # Primary membership type for a person - 2022-01-11
|
||||
inc_membership_person_profile: bool = False, # Membership profile for a person - 2022-01-11
|
||||
inc_membership_person_type: bool = False, # Primary membership type for a person - 2022-01-11
|
||||
# inc_membership_type_list: bool = False, # The list of membership types the person is a part of
|
||||
# inc_membership_person_type: bool = False, # The person information for their primary membership type
|
||||
# inc_membership_person_type_list: bool = False, # The person information for all of their membership types
|
||||
@@ -80,19 +81,19 @@ def load_membership_person_obj(
|
||||
membership_person_obj.membership_cfg = membership_cfg_obj_result
|
||||
else: membership_person_obj.membership_cfg = {} # None
|
||||
|
||||
if inc_membership_group: pass # The primary membership group the person is a part of. Not used at this time. 2021-12-16
|
||||
# if inc_membership_group: pass # The primary membership group the person is a part of. Not used at this time. 2021-12-16
|
||||
|
||||
# Updated 2021-07-09
|
||||
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(
|
||||
# Updated 2021-01-12
|
||||
if inc_membership_person_group_list: # List of membership group for a person - 2022-01-11
|
||||
if membership_person_group_rec_list_result := get_membership_person_group_rec_list(
|
||||
membership_person_id = membership_person_id,
|
||||
limit = limit,
|
||||
enabled = enabled,
|
||||
):
|
||||
membership_group_result_list = []
|
||||
for membership_group_rec in membership_group_rec_list_result:
|
||||
if load_membership_group_result := load_membership_group_obj(
|
||||
membership_group_id = membership_group_rec.get('membership_group_id', None),
|
||||
membership_person_group_result_list = []
|
||||
for membership_person_group_rec in membership_person_group_rec_list_result:
|
||||
if load_membership_person_group_result := load_membership_person_group_obj(
|
||||
membership_person_group_id = membership_person_group_rec.get('membership_person_group_id', None),
|
||||
limit = limit,
|
||||
by_alias = by_alias,
|
||||
exclude_unset = exclude_unset,
|
||||
@@ -106,10 +107,10 @@ def load_membership_person_obj(
|
||||
# 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_person_obj.membership_group_list = membership_group_result_list
|
||||
else: membership_person_obj.membership_group_list = []
|
||||
membership_person_group_result_list.append(load_membership_person_group_result)
|
||||
else: membership_person_group_result_list.append(None)
|
||||
membership_person_obj.membership_group_list = membership_person_group_result_list
|
||||
else: membership_person_obj.membership_person_group_list = []
|
||||
|
||||
# Updated 2021-07-09
|
||||
# if inc_membership_person_group_list: # The person information for the list of groups the member is a part of
|
||||
@@ -143,7 +144,7 @@ def load_membership_person_obj(
|
||||
# else: membership_person_obj.membership_person_group_list = []
|
||||
|
||||
# Updated 2021-06-21
|
||||
if inc_membership_profile:
|
||||
if inc_membership_person_profile: # Membership profile for a person - 2022-01-11
|
||||
membership_person_profile_id = membership_person_rec.get('membership_person_profile_id', None)
|
||||
log.debug(membership_person_profile_id)
|
||||
if membership_person_profile_result := load_membership_person_profile_obj(
|
||||
@@ -161,13 +162,13 @@ def load_membership_person_obj(
|
||||
else: membership_person_obj.membership_person_profile = {} # None
|
||||
log.debug(membership_person_profile_result)
|
||||
|
||||
# Updated 2021-07-09
|
||||
if inc_membership_type: # The primary membership type for the person
|
||||
from app.methods.membership_type_methods import load_membership_type_obj
|
||||
membership_type_id = membership_person_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,
|
||||
# Updated 2021-01-12
|
||||
if inc_membership_person_type: # Primary membership type for a person - 2022-01-11
|
||||
from app.methods.membership_person_type_methods import load_membership_person_type_obj
|
||||
membership_person_type_id = membership_person_rec.get('membership_person_type_id', None)
|
||||
log.debug(membership_person_type_id)
|
||||
if membership_person_type_result := load_membership_person_type_obj(
|
||||
membership_person_type_id = membership_person_type_id,
|
||||
limit = limit,
|
||||
by_alias = by_alias,
|
||||
exclude_unset = exclude_unset,
|
||||
@@ -180,11 +181,11 @@ def load_membership_person_obj(
|
||||
# inc_organization = inc_organization,
|
||||
inc_product_list = inc_product_list,
|
||||
):
|
||||
membership_person_obj.membership_type = membership_type_result
|
||||
else: membership_person_obj.membership_type = {} # None
|
||||
log.debug(membership_type_result)
|
||||
membership_person_obj.membership_person_type = membership_person_type_result
|
||||
else: membership_person_obj.membership_person_type = {} # None
|
||||
log.debug(membership_person_type_result)
|
||||
|
||||
if inc_membership_type_list: pass # All of the membership types the person is a part of
|
||||
# if inc_membership_person_type_list: pass # All of the membership types the person is a part of
|
||||
|
||||
# Updated 2021-07-09
|
||||
# if inc_membership_person_type: # The primary membership type person information for the person
|
||||
@@ -453,21 +454,21 @@ def create_membership_person_obj(
|
||||
membership_person_outline['membership_person_type'] = {}
|
||||
membership_person_outline['membership_person_type_id'] = None
|
||||
|
||||
if membership_person_obj.membership_person_type_list:
|
||||
if membership_person_obj.membership_person_group_list:
|
||||
log.info('Looping through Membership Person Group object list')
|
||||
for membership_person_type_obj in membership_person_type_obj_list_result:
|
||||
if membership_person_type_obj.id:
|
||||
for membership_person_group_obj in membership_person_group_obj_list_result:
|
||||
if membership_person_group_obj.id:
|
||||
log.info('Updating Membership Person Group object')
|
||||
if membership_person_type_update_result := update_membership_person_type_obj(
|
||||
membership_person_type_id = membership_person_type_id,
|
||||
membership_person_type_dict_obj = membership_person_type_obj,
|
||||
if membership_person_group_update_result := update_membership_person_group_obj(
|
||||
membership_person_group_id = membership_person_group_id,
|
||||
membership_person_group_dict_obj = membership_person_group_obj,
|
||||
): pass
|
||||
else: return False
|
||||
else:
|
||||
log.info('Creating Membership Person Group object')
|
||||
if membership_person_type_create_result := create_membership_person_type_obj(
|
||||
if membership_person_group_create_result := create_membership_person_group_obj(
|
||||
membership_person_id = membership_person_id,
|
||||
membership_person_type_dict_obj = membership_person_type_obj,
|
||||
membership_person_group_dict_obj = membership_person_group_obj,
|
||||
): pass
|
||||
else: pass
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ from app.lib_general import log, logging
|
||||
from app.methods.membership_cfg_methods import load_membership_cfg_obj
|
||||
from app.methods.product_methods import get_product_rec_list, load_product_obj
|
||||
|
||||
from app.models.common_field_schema import default_num_bytes
|
||||
from app.models.membership_person_type_models import Membership_Person_Type_Base
|
||||
|
||||
|
||||
@@ -192,7 +193,7 @@ def create_membership_person_type_obj(
|
||||
fail_any: bool = False, # Fail if any thing goes wrong for sub objects
|
||||
return_outline: bool = False,
|
||||
) -> bool|dict|int:
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
# ### SECTION ### Secondary data validation
|
||||
@@ -237,6 +238,24 @@ def create_membership_person_type_obj(
|
||||
log.debug(membership_person_type_dict_in_result)
|
||||
membership_person_type_id = membership_person_type_dict_in_result
|
||||
|
||||
membership_person_data = {}
|
||||
membership_person_data['id'] = membership_person_id
|
||||
membership_person_data['membership_person_type_id'] = membership_person_type_id
|
||||
|
||||
# NOTE: Need to update the membership_person record with the new primary membership person type record.
|
||||
# NOTE: This makes it so that there is only one primary type.
|
||||
if membership_person_dict_up_result := sql_update(
|
||||
data = membership_person_data,
|
||||
table_name = 'membership_person',
|
||||
rm_id_random = True
|
||||
):
|
||||
log.debug(f'Returning True')
|
||||
log.debug(membership_person_dict_up_result)
|
||||
else:
|
||||
log.warning(f'Membership Person not updated with the new Membership Person Type ID. Membership Person ID: {membership_person_id}; Membership Person Type ID: {membership_person_type_id}')
|
||||
log.debug(membership_person_type_dict_up_result)
|
||||
return False
|
||||
|
||||
log.info(f'Returning the Membership Person Type ID: {membership_person_type_id}')
|
||||
|
||||
return membership_person_type_id
|
||||
|
||||
Reference in New Issue
Block a user