|
|
|
@@ -82,20 +82,38 @@ async def event_import_reg(
|
|
|
|
log.warning('Found custom fields section, but no list was found.')
|
|
|
|
log.warning('Found custom fields section, but no list was found.')
|
|
|
|
custom_fields = []
|
|
|
|
custom_fields = []
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
log.warning('The custom fields were not found at all. Are the "details" being included?')
|
|
|
|
log.warning('The custom fields section was not found at all. Are the "details" being included?')
|
|
|
|
pass
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
|
|
|
|
|
|
|
registrant_sessions = [] # NOTE: These are sessions (special events) for registration
|
|
|
|
|
|
|
|
log.debug(event_registrant.get('sessions'))
|
|
|
|
|
|
|
|
if registrant_sessions := event_registrant.get('sessions'):
|
|
|
|
|
|
|
|
if isinstance(registrant_sessions, list): pass
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
log.warning('Found sessions section, but no list was found.')
|
|
|
|
|
|
|
|
registrant_sessions = []
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
log.warning('The sessions section was not found at all. Are the "details" being included?')
|
|
|
|
|
|
|
|
log.debug(event_registrant)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
registrant_sessions = []
|
|
|
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
log.debug(registrant_sessions)
|
|
|
|
|
|
|
|
# log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
|
|
|
|
|
|
|
|
|
|
|
event_person_profile_data = {}
|
|
|
|
event_person_profile_data = {}
|
|
|
|
event_badge_data = {}
|
|
|
|
event_badge_data = {}
|
|
|
|
|
|
|
|
|
|
|
|
if account_id_random == 'd8TqXqf1EOg': # ISHLT
|
|
|
|
if account_id_random == 'd8TqXqf1EOg': # ISHLT
|
|
|
|
badge_type_code_m = ('current_industry', 'current_nurse_allied_nonphysician', 'current_physician')
|
|
|
|
badge_type_code_m = ('current_member', 'current_industry', 'current_nurse_allied_nonphysician', 'current_physician')
|
|
|
|
badge_type_code_nm = ('inactive_industry', 'inactive_nurse_allied_nonphysician', 'inactive_physician')
|
|
|
|
badge_type_code_nm = ('inactive_member', 'inactive_industry', 'inactive_nurse_allied_nonphysician', 'inactive_physician')
|
|
|
|
badge_type_code_student_m = ('current_trainee')
|
|
|
|
badge_type_code_student_m = ('current_student', 'current_trainee')
|
|
|
|
badge_type_code_student_nm = ('inactive_trainee')
|
|
|
|
badge_type_code_student_nm = ('current_trainee', 'inactive_trainee')
|
|
|
|
badge_type_code_ex_all = ('ex', 'ex_all')
|
|
|
|
badge_type_code_ex_all = ('ex', 'ex_all') # all access
|
|
|
|
badge_type_code_ex_booth = ('ex_booth', 'exo') # booth or hall only
|
|
|
|
badge_type_code_ex_booth = ('ex_booth', 'exo') # booth or hall only
|
|
|
|
badge_type_code_guest = ('guest')
|
|
|
|
badge_type_code_guest = ('guest')
|
|
|
|
|
|
|
|
badge_type_code_staff = ('staff')
|
|
|
|
|
|
|
|
|
|
|
|
if e_impexium_event_id == '2023_Annual Meeting':
|
|
|
|
if e_impexium_event_id == '2023_Annual Meeting':
|
|
|
|
log.info('Processing ISHLT 2023 Annual Meeting Registration...')
|
|
|
|
log.info('Processing ISHLT 2023 Annual Meeting Registration...')
|
|
|
|
@@ -290,10 +308,10 @@ async def event_import_reg(
|
|
|
|
pass
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
individual_profile_membership_li = []
|
|
|
|
individual_profile_membership_li = []
|
|
|
|
membership_code = None
|
|
|
|
# membership_code = None
|
|
|
|
membership_type = None
|
|
|
|
# membership_type = None
|
|
|
|
membership_effective_datetime = None
|
|
|
|
# membership_effective_datetime = None
|
|
|
|
membership_expire_datetime = None
|
|
|
|
# membership_expire_datetime = None
|
|
|
|
if individual_profile_membership_li := individual_profile_result.get('memberships'):
|
|
|
|
if individual_profile_membership_li := individual_profile_result.get('memberships'):
|
|
|
|
if isinstance(individual_profile_membership_li, list):
|
|
|
|
if isinstance(individual_profile_membership_li, list):
|
|
|
|
for individual_profile_membership in individual_profile_membership_li:
|
|
|
|
for individual_profile_membership in individual_profile_membership_li:
|
|
|
|
@@ -406,6 +424,8 @@ async def event_import_reg(
|
|
|
|
|
|
|
|
|
|
|
|
event_badge_data['allow_tracking'] = False
|
|
|
|
event_badge_data['allow_tracking'] = False
|
|
|
|
event_person_data['allow_tracking'] = False
|
|
|
|
event_person_data['allow_tracking'] = False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
event_badge_data['other_1'] = None
|
|
|
|
for field in custom_fields:
|
|
|
|
for field in custom_fields:
|
|
|
|
if field.get('name') == 'EventSponsorOptin' and field.get('value') == 'True':
|
|
|
|
if field.get('name') == 'EventSponsorOptin' and field.get('value') == 'True':
|
|
|
|
log.info('Allow Tracking')
|
|
|
|
log.info('Allow Tracking')
|
|
|
|
@@ -416,13 +436,34 @@ async def event_import_reg(
|
|
|
|
event_badge_data['allow_tracking'] = False
|
|
|
|
event_badge_data['allow_tracking'] = False
|
|
|
|
event_person_data['allow_tracking'] = False
|
|
|
|
event_person_data['allow_tracking'] = False
|
|
|
|
|
|
|
|
|
|
|
|
event_badge_data['member_type_code'] = event_registrant.get('customerType') # Using this as the member_type. Will update below if possible
|
|
|
|
if field.get('name') == 'dietary_restrictions2023' and field.get('value'):
|
|
|
|
event_badge_data['member_type'] = None # Using this as the member_type. Will update below if possible
|
|
|
|
log.info('Dietary Restrictions')
|
|
|
|
event_badge_data['member_status'] = None
|
|
|
|
if (field.get('value') != 'False'):
|
|
|
|
|
|
|
|
event_badge_data['other_1'] = field.get('value')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# customerType seems to only be I or G. G is for guests. I seems to be for members and non-members.
|
|
|
|
|
|
|
|
# event_badge_data['member_type_code'] = event_registrant.get('customerType') # Using this as the member_type. Will update below if possible
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if membership_code: pass
|
|
|
|
|
|
|
|
# event_badge_data['member_type_code'] = membership_code
|
|
|
|
|
|
|
|
elif event_registrant.get('customerType'):
|
|
|
|
|
|
|
|
membership_code = event_registrant.get('customerType')
|
|
|
|
|
|
|
|
# event_badge_data['member_type_code'] = event_registrant.get('customerType')
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
membership_code = None
|
|
|
|
|
|
|
|
event_badge_data['member_type_code'] = membership_code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if membership_type: pass
|
|
|
|
|
|
|
|
# event_badge_data['member_type'] = membership_type
|
|
|
|
|
|
|
|
elif event_registrant.get('customerType'):
|
|
|
|
|
|
|
|
membership_type = event_registrant.get('customerType')
|
|
|
|
|
|
|
|
# event_badge_data['member_type'] = event_registrant.get('customerType')
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
membership_type = None
|
|
|
|
|
|
|
|
event_badge_data['member_type'] = membership_type
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
event_badge_data['member_status'] = None # Using this as the member_status. Will update below if possible
|
|
|
|
|
|
|
|
|
|
|
|
if membership_code: event_badge_data['member_type_code'] = membership_code
|
|
|
|
|
|
|
|
else: event_badge_data['member_type_code'] = event_registrant.get('customerType')
|
|
|
|
|
|
|
|
if membership_type: event_badge_data['member_type'] = membership_type
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# NOTE: This membership expiration date should be the newest. There is a chance the person may have multiple overlapping membership types. Assuming this is not the case with ISHLT 2023.
|
|
|
|
# NOTE: This membership expiration date should be the newest. There is a chance the person may have multiple overlapping membership types. Assuming this is not the case with ISHLT 2023.
|
|
|
|
if membership_expire_datetime:
|
|
|
|
if membership_expire_datetime:
|
|
|
|
@@ -435,29 +476,30 @@ async def event_import_reg(
|
|
|
|
|
|
|
|
|
|
|
|
if membership_expire_datetime_obj > current_datetime_utc:
|
|
|
|
if membership_expire_datetime_obj > current_datetime_utc:
|
|
|
|
log.info('Current membership; not expired')
|
|
|
|
log.info('Current membership; not expired')
|
|
|
|
# member_status = 'current' # Active member; not expired
|
|
|
|
membership_status = 'current' # Active member; not expired
|
|
|
|
event_badge_data['member_status'] = 'current' # Active member; not expired
|
|
|
|
event_badge_data['member_status'] = 'current' # Active member; not expired
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
log.info('Inactive membership; expired')
|
|
|
|
log.info('Inactive membership; expired')
|
|
|
|
# member_status = 'inactive' # Inactive member; expired
|
|
|
|
membership_status = 'inactive' # Inactive member; expired
|
|
|
|
event_badge_data['member_status'] = 'inactive' # Inactive member; expired
|
|
|
|
event_badge_data['member_status'] = 'inactive' # Inactive member; expired
|
|
|
|
|
|
|
|
event_badge_data['member_status'] = membership_status
|
|
|
|
|
|
|
|
|
|
|
|
# More badge type code clean up
|
|
|
|
# More badge type code clean up
|
|
|
|
if e_impexium_event_id == '2023_Annual Meeting':
|
|
|
|
if e_impexium_event_id == '2023_Annual Meeting':
|
|
|
|
if event_badge_data['badge_type_code'] in ['industry', 'nurse_allied_nonphysician', 'physician']:
|
|
|
|
if event_badge_data['badge_type_code'] in ['industry', 'nurse_allied_nonphysician', 'physician']:
|
|
|
|
if event_badge_data['member_status'] == 'current':
|
|
|
|
if membership_status == 'current':
|
|
|
|
event_badge_data['badge_type_code'] = 'current_member'
|
|
|
|
event_badge_data['badge_type_code'] = 'current_member'
|
|
|
|
event_badge_data['badge_type'] = 'Member'
|
|
|
|
event_badge_data['badge_type'] = 'Member'
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
event_badge_data['badge_type_code'] = 'inactive_member'
|
|
|
|
event_badge_data['badge_type_code'] = 'inactive_member'
|
|
|
|
event_badge_data['badge_type'] = 'Non-Member'
|
|
|
|
event_badge_data['badge_type'] = 'Non-Member'
|
|
|
|
elif event_badge_data['badge_type_code'] in ['trainee']:
|
|
|
|
elif event_badge_data['badge_type_code'] in ['trainee']:
|
|
|
|
if event_badge_data['member_status'] == 'current':
|
|
|
|
if membership_status == 'current':
|
|
|
|
event_badge_data['badge_type_code'] = 'current_member_trainee'
|
|
|
|
event_badge_data['badge_type_code'] = 'current_member_trainee'
|
|
|
|
event_badge_data['badge_type'] = 'Trainee Member' # Student/Trainee?
|
|
|
|
event_badge_data['badge_type'] = 'Trainee Member' # Student/Trainee?
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
event_badge_data['badge_type_code'] = 'inactive_member_trainee'
|
|
|
|
event_badge_data['badge_type_code'] = 'inactive_member_trainee'
|
|
|
|
event_badge_data['badge_type_code'] = 'Trainee Non-Member' # Student/Trainee?
|
|
|
|
event_badge_data['badge_type'] = 'Trainee Non-Member' # Student/Trainee?
|
|
|
|
|
|
|
|
|
|
|
|
if address_line_1: event_badge_data['address_line_1'] = address_line_1
|
|
|
|
if address_line_1: event_badge_data['address_line_1'] = address_line_1
|
|
|
|
if address_line_2: event_badge_data['address_line_2'] = address_line_2
|
|
|
|
if address_line_2: event_badge_data['address_line_2'] = address_line_2
|
|
|
|
@@ -503,6 +545,17 @@ async def event_import_reg(
|
|
|
|
|
|
|
|
|
|
|
|
if location: event_badge_data['location'] = location
|
|
|
|
if location: event_badge_data['location'] = location
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Process for badge markings and ticket options
|
|
|
|
|
|
|
|
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
|
|
|
|
|
|
|
log.debug(registrant_sessions)
|
|
|
|
|
|
|
|
for registrant_session in registrant_sessions:
|
|
|
|
|
|
|
|
# if registrant_session.get('code') == 'Other Session???':
|
|
|
|
|
|
|
|
# event_badge_data['ticket_1_code'] = 'other_sessions_placeholder'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if registrant_session.get('code') == 'First Timer Orientation':
|
|
|
|
|
|
|
|
event_badge_data['ticket_3_code'] = 'first_timers_breakfast'
|
|
|
|
|
|
|
|
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
|
|
|
|
|
|
|
|
|
|
|
event_person_data['event_badge'] = {}
|
|
|
|
event_person_data['event_badge'] = {}
|
|
|
|
event_person_data['event_badge'] = event_badge_data
|
|
|
|
event_person_data['event_badge'] = event_badge_data
|
|
|
|
|
|
|
|
|
|
|
|
|