A lot of work on event related modules
This commit is contained in:
@@ -32,6 +32,7 @@ base_fields['event_file_id_random'] = xxx_id_random_field_schema
|
||||
base_fields['event_id_random'] = xxx_id_random_field_schema
|
||||
base_fields['event_abstract_id_random'] = xxx_id_random_field_schema
|
||||
base_fields['event_badge_id_random'] = xxx_id_random_field_schema
|
||||
base_fields['event_cfg_id_random'] = xxx_id_random_field_schema # Not really ready yet
|
||||
base_fields['event_device_id_random'] = xxx_id_random_field_schema
|
||||
base_fields['event_location_id_random'] = xxx_id_random_field_schema
|
||||
base_fields['event_person_id_random'] = xxx_id_random_field_schema
|
||||
|
||||
@@ -106,9 +106,11 @@ class Event_Base(BaseModel):
|
||||
contact_2: Optional[Contact_Base]
|
||||
contact_3: Optional[Contact_Base]
|
||||
event_abstract_list: Optional[list] # Optional[Event_Abstract_Base]
|
||||
event_cfg: Optional[Event_Cfg_Base]
|
||||
event_device_list: Optional[list] # Optional[Event_Device_Base]
|
||||
event_file_list: Optional[list] # Optional[Event_File_Base]
|
||||
event_location_list: Optional[list] # Optional[Event_Location_Base]
|
||||
event_person_list: Optional[list]
|
||||
event_presentation_list: Optional[list] # Optional[Event_Presentation_Base]
|
||||
event_presenter_list: Optional[list] # Optional[Event_Presenter_Base]
|
||||
event_session_list: Optional[list] # Optional[Event_Session_Base]
|
||||
@@ -179,4 +181,102 @@ class Event_Base(BaseModel):
|
||||
underscore_attrs_are_private = True
|
||||
fields = base_fields
|
||||
|
||||
Event_Base.update_forward_refs()
|
||||
|
||||
class Event_Cfg_Base(BaseModel):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
# id_random: Optional[str] = Field(
|
||||
# **base_fields['event_cfg_id_random'],
|
||||
# alias='event_cfg_id_random',
|
||||
# default_factory=lambda:secrets.token_urlsafe(default_num_bytes),
|
||||
# )
|
||||
# id: Optional[int] = Field(
|
||||
# #alias='event_cfg_id'
|
||||
# )
|
||||
|
||||
enable: Optional[bool]
|
||||
enable_from: Optional[datetime.datetime]
|
||||
enable_to: Optional[datetime.datetime]
|
||||
|
||||
enable_comments: Optional[bool]
|
||||
disable_navigation: Optional[bool]
|
||||
|
||||
enable_event_file_upload_for_event: Optional[bool]
|
||||
enable_event_file_upload_for_location: Optional[bool]
|
||||
enable_event_file_upload_for_presentation: Optional[bool]
|
||||
enable_event_file_upload_for_presenter: Optional[bool]
|
||||
enable_event_file_upload_for_session: Optional[bool]
|
||||
enable_event_file_upload_for_track: Optional[bool]
|
||||
# enable_event_file_upload_for_event_track: Optional[bool] # Change to this pattern in the future?
|
||||
# enable_file_upload_for_track: Optional[bool] # Change to this pattern in the future?
|
||||
|
||||
enable_event_file_upload_review_question: Optional[bool]
|
||||
enable_event_file_upload_email_question: Optional[bool]
|
||||
enable_event_file_upload_comments_question: Optional[bool]
|
||||
enable_event_file_approval_option: Optional[bool]
|
||||
enable_event_file_public_use_option: Optional[bool]
|
||||
enable_event_file_member_use_option: Optional[bool]
|
||||
enable_event_file_attendee_use_option: Optional[bool]
|
||||
enable_event_file_publish_option: Optional[bool]
|
||||
enable_event_file_purpose_option: Optional[bool]
|
||||
enable_event_file_os_selection_option: Optional[bool]
|
||||
enable_event_file_os_change_option: Optional[bool]
|
||||
|
||||
custom_event_file_upload_description: Optional[str]
|
||||
custom_event_file_agreement_1_text: Optional[str]
|
||||
custom_event_file_agreement_1_description: Optional[str]
|
||||
|
||||
ask_speaker_ready_room: Optional[bool]
|
||||
ask_presentation_publish_optout: Optional[bool]
|
||||
|
||||
default_event_file_to_public_use: Optional[bool]
|
||||
ask_for_public_version: Optional[bool]
|
||||
|
||||
file_approval_enabled: Optional[bool]
|
||||
|
||||
hide_file_upload_presentation_name: Optional[bool]
|
||||
hide_file_upload_review_input: Optional[bool]
|
||||
hide_file_upload_email_input: Optional[bool]
|
||||
hide_file_upload_comments_input: Optional[bool]
|
||||
|
||||
hide_session_codes: Optional[bool]
|
||||
|
||||
unauthenticated_access: Optional[bool]
|
||||
unauthenticated_access_public_endpoint: Optional[bool]
|
||||
|
||||
hide: Optional[bool]
|
||||
status: Optional[int]
|
||||
review: Optional[bool]
|
||||
approve: Optional[bool]
|
||||
ready: Optional[bool]
|
||||
ready_on: Optional[datetime.datetime]
|
||||
archive: Optional[bool]
|
||||
archive_on: Optional[datetime.datetime]
|
||||
priority: Optional[bool]
|
||||
sort: Optional[int]
|
||||
group: Optional[str]
|
||||
notes: Optional[str]
|
||||
|
||||
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
|
||||
|
||||
#@validator('event_cfg_id_random', always=True)
|
||||
# def event_cfg_id_random_copy(cls, v, values, **kwargs):
|
||||
# log.setLevel(logging.WARNING)
|
||||
# log.debug(locals())
|
||||
|
||||
# if values['id_random']:
|
||||
# return values['id_random']
|
||||
# return None
|
||||
|
||||
# @validator('id', always=True)
|
||||
# def event_cfg_id_lookup(cls, v, values, **kwargs):
|
||||
# log.setLevel(logging.WARNING)
|
||||
# log.debug(locals())
|
||||
|
||||
# if values['id_random']:
|
||||
# log.debug(values['id_random'])
|
||||
# return redis_lookup_id_random(record_id_random=values['id_random'], table_name='event')
|
||||
# return None
|
||||
|
||||
Event_Base.update_forward_refs() # NOTE: This is needed since Event_Cfg_Base is below Event_Base.
|
||||
@@ -11,7 +11,7 @@ from .common_field_schema import base_fields, default_num_bytes
|
||||
|
||||
#from .event_models import Event_Base
|
||||
from .event_badge_models import Event_Badge_Base
|
||||
from .event_person_detail_models import Event_Person_Detail_Base
|
||||
#from .event_person_detail_models import Event_Person_Detail_Base
|
||||
from .event_registration_models import Event_Registration_Base
|
||||
from .person_models import Person_Base
|
||||
from .user_models import User_Base, User_Out_Base
|
||||
@@ -33,10 +33,10 @@ class Event_Person_Base(BaseModel):
|
||||
account_id: Optional[int]
|
||||
event_id_random: Optional[str]
|
||||
event_id: Optional[int]
|
||||
event_registration_id_random: Optional[str]
|
||||
event_registration_id: Optional[int]
|
||||
event_badge_id_random: Optional[str]
|
||||
event_badge_id: Optional[int]
|
||||
event_registration_id_random: Optional[str]
|
||||
event_registration_id: Optional[int]
|
||||
person_id_random: Optional[str]
|
||||
person_id: Optional[int]
|
||||
user_id_random: Optional[str]
|
||||
@@ -51,18 +51,17 @@ class Event_Person_Base(BaseModel):
|
||||
updated_on: Optional[datetime.datetime] = None
|
||||
|
||||
# Including other related objects
|
||||
#event: Optional[Event_Base]
|
||||
event_abstract: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more abstracts
|
||||
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_exhibit: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more exhibits
|
||||
event_file: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more files
|
||||
event_location: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more locations (but unlikely?)
|
||||
event_presentation: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more presentations
|
||||
event_presenter: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more presenters (part of multiple presentations)
|
||||
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?)
|
||||
#event_person_detail_list: Optional[list] # list of Event_Person_Detail
|
||||
event_presentation_list: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more presentations
|
||||
event_presenter_list: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more presenters (part of multiple presentations)
|
||||
event_registration: Optional[Event_Registration_Base]
|
||||
event_session: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more sessions
|
||||
event_track: Optional[list] # Use event_person_detail table. An event_person record can be linked to one or more tracks
|
||||
#event_person_detail_list: Optional[list] # list of Event_Person_Detail
|
||||
event_registration: Optional[Event_Registration_Base]
|
||||
person: Optional[Person_Base]
|
||||
user: Optional[User_Base]
|
||||
|
||||
@@ -105,15 +104,6 @@ class Event_Person_Base(BaseModel):
|
||||
return redis_lookup_id_random(record_id_random=values['event_id_random'], table_name='event')
|
||||
return None
|
||||
|
||||
@validator('event_registration_id', always=True)
|
||||
def event_registration_id_lookup(cls, v, values, **kwargs):
|
||||
log.setLevel(logging.WARNING)
|
||||
log.debug(locals())
|
||||
|
||||
if values['event_registration_id_random']:
|
||||
return redis_lookup_id_random(record_id_random=values['event_registration_id_random'], table_name='event_registration')
|
||||
return None
|
||||
|
||||
@validator('event_badge_id', always=True)
|
||||
def event_badge_id_lookup(cls, v, values, **kwargs):
|
||||
log.setLevel(logging.WARNING)
|
||||
@@ -123,6 +113,15 @@ 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_registration_id', always=True)
|
||||
def event_registration_id_lookup(cls, v, values, **kwargs):
|
||||
log.setLevel(logging.WARNING)
|
||||
log.debug(locals())
|
||||
|
||||
if values['event_registration_id_random']:
|
||||
return redis_lookup_id_random(record_id_random=values['event_registration_id_random'], table_name='event_registration')
|
||||
return None
|
||||
|
||||
@validator('person_id', always=True)
|
||||
def person_id_lookup(cls, v, values, **kwargs):
|
||||
log.setLevel(logging.WARNING)
|
||||
|
||||
@@ -11,7 +11,7 @@ from .common_field_schema import base_fields, default_num_bytes
|
||||
|
||||
#from .event_models import Event_Base
|
||||
from .event_location_models import Event_Location_Base
|
||||
#from .event_person_models import Event_Person_Base
|
||||
#from .event_person_models import Event_Person_Base # NOTE: Using thi will probably create an import loop
|
||||
from .event_track_models import Event_Track_Base
|
||||
from .person_models import Person_Base
|
||||
|
||||
@@ -89,15 +89,16 @@ class Event_Session_Base(BaseModel):
|
||||
# Including other related objects
|
||||
#event: Optional[Event_Base]
|
||||
event_abstract_list: Optional[list] # Optional[Event_Abstract_Base]
|
||||
event_badge_list: Optional[list] # Optional[Event_Abstract_Base]
|
||||
event_device_list: Optional[list] # Optional[Event_Device_Base]
|
||||
event_file_list: Optional[list] # Optional[Event_File_Base]
|
||||
event_location: Optional[Event_Location_Base]
|
||||
event_location: Optional[Union[Event_Location_Base, None]]
|
||||
event_person_list: Optional[list]
|
||||
event_presenter_cat: Optional[Union[str, None]]
|
||||
event_presentation_list: Optional[list] # Optional[Event_Presentation_Base]
|
||||
event_presenter_list: Optional[list] # Optional[Event_Presenter_Base]
|
||||
event_track: Optional[Event_Track_Base]
|
||||
|
||||
#poc_event_person: Optional[Event_Person_Base]
|
||||
poc_person: Optional[Person_Base]
|
||||
#poc_event_person: Optional[Event_Person_Base] # NOTE: Using thi will probably create an import loop
|
||||
|
||||
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user