From 212d69cbe3c4d04feafbb02e0f8a65594c4fb6d3 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Wed, 16 Mar 2022 09:25:32 -0400 Subject: [PATCH] More updates for Cvent and IDAA custom status field. Only using pending status if it is specificially passed. Otherwise using unknown or whatever is passed. --- app/methods/e_cvent_methods.py | 29 +++++++++++++++-------------- app/routers/c_idaa.py | 4 ++-- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/app/methods/e_cvent_methods.py b/app/methods/e_cvent_methods.py index a447343..e8ca151 100644 --- a/app/methods/e_cvent_methods.py +++ b/app/methods/e_cvent_methods.py @@ -632,20 +632,21 @@ def create_update_aether_person( membership_person_type_data['last_end_on'] = datetime.datetime.strptime(cvent_contact_obj.get('membership').get('expiration'), '%Y-%m-%d') current_datetime = datetime.datetime.now() - log.debug(status) - if status == 'unknown': - log.debug(current_datetime) - buffer_datetime = current_datetime - datetime.timedelta(minutes=1440) # 720 min = 12 hours - log.debug(buffer_datetime) - log.debug(membership_person_type_data['first_start_on']) - log.info('Status is unknown. Going to try and make a guess...') - if membership_person_type_data['first_start_on'] < buffer_datetime and membership_person_type_data['end_on'] >= current_datetime: - person_data['status'] = 'approved' # approved and current - elif membership_person_type_data['first_start_on'] < current_datetime and membership_person_type_data['end_on'] < current_datetime: - person_data['status'] = 'approved' # approved but expired - else: - person_data['status'] = 'pending' # likely new? - log.debug(person_data['status']) + + # log.debug(status) + # if status == 'unknown': + # log.debug(current_datetime) + # buffer_datetime = current_datetime - datetime.timedelta(minutes=1440) # 720 min = 12 hours + # log.debug(buffer_datetime) + # log.debug(membership_person_type_data['first_start_on']) + # log.info('Status is unknown. Going to try and make a guess...') + # if membership_person_type_data['first_start_on'] < buffer_datetime and membership_person_type_data['end_on'] >= current_datetime: + # person_data['status'] = 'approved' # approved and current + # elif membership_person_type_data['first_start_on'] < current_datetime and membership_person_type_data['end_on'] < current_datetime: + # person_data['status'] = 'approved' # approved but expired + # else: + # person_data['status'] = 'pending' # likely new? + # log.debug(person_data['status']) if membership_person_type_data['end_on'] >= current_datetime: membership_person_type_data['lu_membership_type_status_id'] = 5 # 5 = active; expiration is > now diff --git a/app/routers/c_idaa.py b/app/routers/c_idaa.py index bc3f3d9..dd6bf45 100644 --- a/app/routers/c_idaa.py +++ b/app/routers/c_idaa.py @@ -52,7 +52,7 @@ async def refresh_membership_status( INNER JOIN membership_person ON person.id = membership_person.person_id SET user.email_verified = 1, user.enable = 1, user.enable_from = membership_person.start_on, user.enable_to = membership_person.end_on, user.verified = 1, user.group = 'current_member' WHERE user.account_id = 13 AND membership_person.end_on >= NOW() - AND (person.status IS NULL OR person.status = 'approved'); + AND (person.status IS NULL OR person.status = '' OR person.status = 'approved' OR person.status = 'unknown'); """ if user_update_result := sql_update(sql=sql): # Pull out IDs of existing person record @@ -125,7 +125,7 @@ async def refresh_membership_status( INNER JOIN membership_person ON person.id = membership_person.person_id SET person.enable = 1, person.group = 'current_member' WHERE person.account_id = 13 AND membership_person.end_on >= NOW() - AND (person.status IS NULL OR person.status = 'approved'); + AND (person.status IS NULL OR person.status = '' OR person.status = 'approved' OR person.status = 'unknown'); """ if person_update_result := sql_update(sql=sql): # Pull out IDs of existing person record