Working on event registration and related.

This commit is contained in:
Scott Idem
2021-08-17 20:53:01 -04:00
parent 2f037290d9
commit ad9417911a
11 changed files with 294 additions and 35 deletions

View File

@@ -34,9 +34,15 @@ class Event_Person_Base(BaseModel):
event_id_random: Optional[str]
event_id: Optional[int]
event_badge_id_random: Optional[str]
event_badge_id_random: Optional[str] # Default attendee badge
event_badge_id: Optional[int]
event_badge_vendor_id_random: Optional[str] # Additional vendor badge
event_badge_vendor_id: Optional[int]
event_badge_vip_id_random: Optional[str] # Additional VIP badge
event_badge_vip_id: Optional[int]
event_registration_id_random: Optional[str]
event_registration_id: Optional[int]
@@ -57,7 +63,9 @@ class Event_Person_Base(BaseModel):
# Including other related objects
# event: Optional[Event_Base] # Causes an import loop
event_abstract_list: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more abstracts
event_badge: Optional[Event_Badge_Base]
event_badge: Optional[Event_Badge_Base] # Default attendee badge
event_badge_vendor: Optional[Event_Badge_Base] # Additional vendor badge
event_badge_vip: Optional[Event_Badge_Base] # Additional VIP badge
event_exhibit_list: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more exhibits
event_file_list: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more files
event_location_list: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more locations (but unlikely?)
@@ -118,6 +126,24 @@ class Event_Person_Base(BaseModel):
return redis_lookup_id_random(record_id_random=values['event_badge_id_random'], table_name='event_badge')
return None
@validator('event_badge_vendor_id', always=True)
def event_badge_vendor_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['event_badge_vendor_id_random']:
return redis_lookup_id_random(record_id_random=values['event_badge_vendor_id_random'], table_name='event_badge')
return None
@validator('event_badge_vip_id', always=True)
def event_badge_vip_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
log.debug(locals())
if values['event_badge_vip_id_random']:
return redis_lookup_id_random(record_id_random=values['event_badge_vip_id_random'], table_name='event_badge')
return None
@validator('event_registration_id', always=True)
def event_registration_id_lookup(cls, v, values, **kwargs):
log.setLevel(logging.WARNING)
@@ -147,6 +173,7 @@ class Event_Person_Base(BaseModel):
class Config:
underscore_attrs_are_private = True
allow_population_by_field_name = True
fields = base_fields
@@ -160,7 +187,7 @@ class Event_Person_New_Base(BaseModel):
default_factory = lambda:secrets.token_urlsafe(default_num_bytes),
)
id: Optional[int] = Field(
#alias = 'event_person_id'
alias = 'event_person_id'
)
account_id_random: Optional[str]
account_id: Optional[int]
@@ -234,4 +261,5 @@ class Event_Person_New_Base(BaseModel):
class Config:
underscore_attrs_are_private = True
allow_population_by_field_name = True
fields = base_fields