More work on abstract submissions and related grants
This commit is contained in:
@@ -52,9 +52,15 @@ class Event_Abstract_Base(BaseModel):
|
|||||||
# poc_event_person_id: Optional[int] # Maybe change this to primary_event_person?
|
# poc_event_person_id: Optional[int] # Maybe change this to primary_event_person?
|
||||||
|
|
||||||
external_id: Optional[str]
|
external_id: Optional[str]
|
||||||
grant_id: Optional[str]
|
|
||||||
code: Optional[str]
|
code: Optional[str]
|
||||||
|
|
||||||
|
grant_id_random: Optional[str]
|
||||||
|
grant_id: Optional[int]
|
||||||
|
|
||||||
|
grant_code: Optional[str]
|
||||||
|
# grant_type_code: Optional[str]
|
||||||
|
# grant_json: Optional[Union[Json, None]]
|
||||||
|
|
||||||
name: Optional[str]
|
name: Optional[str]
|
||||||
description: Optional[str]
|
description: Optional[str]
|
||||||
abstract: Optional[str]
|
abstract: Optional[str]
|
||||||
@@ -131,6 +137,13 @@ class Event_Abstract_Base(BaseModel):
|
|||||||
return redis_lookup_id_random(record_id_random=id_random, table_name='event_session')
|
return redis_lookup_id_random(record_id_random=id_random, table_name='event_session')
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@validator('grant_id', always=True)
|
||||||
|
def grant_id_lookup(cls, v, values, **kwargs):
|
||||||
|
if isinstance(v, int) and v > 0: return v
|
||||||
|
elif id_random := values.get('grant_id_random'):
|
||||||
|
return redis_lookup_id_random(record_id_random=id_random, table_name='grant')
|
||||||
|
return None
|
||||||
|
|
||||||
# @validator('poc_event_person_id', always=True)
|
# @validator('poc_event_person_id', always=True)
|
||||||
# def poc_event_person_id_lookup(cls, v, values, **kwargs):
|
# def poc_event_person_id_lookup(cls, v, values, **kwargs):
|
||||||
# log.setLevel(logging.WARNING)
|
# log.setLevel(logging.WARNING)
|
||||||
@@ -188,7 +201,9 @@ class Event_Abstract_Base_New(Core_Std_Obj_Base):
|
|||||||
|
|
||||||
passcode: Optional[str]
|
passcode: Optional[str]
|
||||||
|
|
||||||
|
grant_id_random: Optional[str]
|
||||||
grant_id: Optional[int]
|
grant_id: Optional[int]
|
||||||
|
|
||||||
grant_code: Optional[str]
|
grant_code: Optional[str]
|
||||||
grant_type_code: Optional[str]
|
grant_type_code: Optional[str]
|
||||||
grant_json: Optional[Union[Json, None]]
|
grant_json: Optional[Union[Json, None]]
|
||||||
@@ -201,6 +216,13 @@ class Event_Abstract_Base_New(Core_Std_Obj_Base):
|
|||||||
submitter_json: Optional[Union[Json, None]]
|
submitter_json: Optional[Union[Json, None]]
|
||||||
coauthors_json: Optional[Union[Json, None]]
|
coauthors_json: Optional[Union[Json, None]]
|
||||||
|
|
||||||
|
@validator('event_person_id', always=True)
|
||||||
|
def event_person_id_lookup(cls, v, values, **kwargs):
|
||||||
|
if isinstance(v, int) and v > 0: return v
|
||||||
|
elif id_random := values.get('event_person_id_random'):
|
||||||
|
return redis_lookup_id_random(record_id_random=id_random, table_name='event_person')
|
||||||
|
return None
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
underscore_attrs_are_private = True
|
underscore_attrs_are_private = True
|
||||||
allow_population_by_field_name = True
|
allow_population_by_field_name = True
|
||||||
@@ -269,14 +291,12 @@ class Event_Abstract_In(Event_Abstract_Base_New):
|
|||||||
return redis_lookup_id_random(record_id_random=id_random, table_name='event_session')
|
return redis_lookup_id_random(record_id_random=id_random, table_name='event_session')
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# @validator('poc_event_person_id', always=True)
|
@validator('grant_id', always=True)
|
||||||
# def poc_event_person_id_lookup(cls, v, values, **kwargs):
|
def grant_id_lookup(cls, v, values, **kwargs):
|
||||||
# log.setLevel(logging.WARNING)
|
if isinstance(v, int) and v > 0: return v
|
||||||
# log.debug(locals())
|
elif id_random := values.get('grant_id_random'):
|
||||||
|
return redis_lookup_id_random(record_id_random=id_random, table_name='grant')
|
||||||
# if values['poc_event_person_id_random']:
|
return None
|
||||||
# return redis_lookup_id_random(record_id_random=values['poc_event_person_id_random'], table_name='poc_event_person')
|
|
||||||
# return None
|
|
||||||
# ### END ### API Event Abstract Models ### Event_Abstract_In() ###
|
# ### END ### API Event Abstract Models ### Event_Abstract_In() ###
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -80,8 +80,22 @@ class Event_Person_Base(BaseModel):
|
|||||||
|
|
||||||
# Including convenience data
|
# Including convenience data
|
||||||
# This is only for convenience. Probably going to keep unless it causes a problem.
|
# This is only for convenience. Probably going to keep unless it causes a problem.
|
||||||
|
# This block of person data should come from the event_person_profile table
|
||||||
|
informal_name: Optional[str]
|
||||||
|
given_name: Optional[str]
|
||||||
|
middle_name: Optional[str]
|
||||||
|
family_name: Optional[str]
|
||||||
|
full_name_override: Optional[str]
|
||||||
|
full_name: Optional[str]
|
||||||
|
affiliations: Optional[str]
|
||||||
|
email: Optional[str]
|
||||||
|
website_url: Optional[str]
|
||||||
|
# state_province_name: Optional[str] # Using extended_json for now for AACC abstracts
|
||||||
|
extended_json: Optional[Union[Json, None]]
|
||||||
|
|
||||||
event_badge_informal_name: Optional[str]
|
event_badge_informal_name: Optional[str]
|
||||||
event_badge_given_name: Optional[str]
|
event_badge_given_name: Optional[str]
|
||||||
|
event_badge_middle_name: Optional[str]
|
||||||
event_badge_family_name: Optional[str]
|
event_badge_family_name: Optional[str]
|
||||||
event_badge_full_name: Optional[str]
|
event_badge_full_name: Optional[str]
|
||||||
event_badge_full_name_override: Optional[str]
|
event_badge_full_name_override: Optional[str]
|
||||||
@@ -92,16 +106,20 @@ class Event_Person_Base(BaseModel):
|
|||||||
event_badge_country_alpha_2_code: Optional[str]
|
event_badge_country_alpha_2_code: Optional[str]
|
||||||
event_badge_country: Optional[str]
|
event_badge_country: Optional[str]
|
||||||
|
|
||||||
|
# This is the same as the other person data above
|
||||||
event_person_informal_name: Optional[str]
|
event_person_informal_name: Optional[str]
|
||||||
event_person_given_name: Optional[str]
|
event_person_given_name: Optional[str]
|
||||||
|
event_person_middle_name: Optional[str]
|
||||||
event_person_family_name: Optional[str]
|
event_person_family_name: Optional[str]
|
||||||
event_person_name_override: Optional[str]
|
event_person_name_override: Optional[str]
|
||||||
event_person_full_name: Optional[str]
|
event_person_full_name: Optional[str]
|
||||||
event_person_affiliations: Optional[str]
|
event_person_affiliations: Optional[str]
|
||||||
event_person_email: Optional[str]
|
event_person_email: Optional[str]
|
||||||
|
event_person_extended_json: Optional[Union[Json, None]]
|
||||||
|
|
||||||
person_informal_name: Optional[str]
|
person_informal_name: Optional[str]
|
||||||
person_given_name: Optional[str]
|
person_given_name: Optional[str]
|
||||||
|
person_middle_name: Optional[str]
|
||||||
person_family_name: Optional[str]
|
person_family_name: Optional[str]
|
||||||
person_display_name: Optional[str]
|
person_display_name: Optional[str]
|
||||||
person_full_name: Optional[str]
|
person_full_name: Optional[str]
|
||||||
@@ -234,14 +252,54 @@ class Event_Person_New_Base(BaseModel):
|
|||||||
event_id_random: Optional[str]
|
event_id_random: Optional[str]
|
||||||
event_id: Optional[int]
|
event_id: Optional[int]
|
||||||
|
|
||||||
|
extended_json: Optional[Union[Json, None]]
|
||||||
|
|
||||||
|
# Including convenience data
|
||||||
|
# This is only for convenience. Probably going to keep unless it causes a problem.
|
||||||
|
# This block of person data should come from the event_person_profile table
|
||||||
|
informal_name: Optional[str]
|
||||||
|
given_name: Optional[str]
|
||||||
|
middle_name: Optional[str]
|
||||||
|
family_name: Optional[str]
|
||||||
|
full_name: Optional[str]
|
||||||
|
full_name_override: Optional[str]
|
||||||
|
affiliations: Optional[str]
|
||||||
|
email: Optional[str]
|
||||||
|
website_url: Optional[str]
|
||||||
|
state_province_name: Optional[str]
|
||||||
|
|
||||||
|
event_badge_informal_name: Optional[str]
|
||||||
|
event_badge_given_name: Optional[str]
|
||||||
|
event_badge_middle_name: Optional[str]
|
||||||
|
event_badge_family_name: Optional[str]
|
||||||
|
event_badge_full_name: Optional[str]
|
||||||
|
event_badge_full_name_override: Optional[str]
|
||||||
|
event_badge_affiliations: Optional[str]
|
||||||
|
event_badge_email: Optional[str]
|
||||||
|
event_badge_city: Optional[str]
|
||||||
|
event_badge_state_province: Optional[str]
|
||||||
|
event_badge_country_alpha_2_code: Optional[str]
|
||||||
|
event_badge_country: Optional[str]
|
||||||
|
|
||||||
|
# This is the same as the other person data above
|
||||||
|
event_person_informal_name: Optional[str]
|
||||||
|
event_person_given_name: Optional[str]
|
||||||
|
event_person_middle_name: Optional[str]
|
||||||
|
event_person_family_name: Optional[str]
|
||||||
|
event_person_name_override: Optional[str]
|
||||||
|
event_person_full_name: Optional[str]
|
||||||
|
event_person_affiliations: Optional[str]
|
||||||
|
event_person_email: Optional[str]
|
||||||
|
|
||||||
person_given_name: Optional[str]
|
person_given_name: Optional[str]
|
||||||
|
person_middle_name: Optional[str]
|
||||||
person_family_name: Optional[str]
|
person_family_name: Optional[str]
|
||||||
person_full_name: Optional[str]
|
person_full_name: Optional[str]
|
||||||
person_display_name: Optional[str]
|
person_display_name: Optional[str]
|
||||||
|
|
||||||
affiliations: Optional[str] # One or more affiliations with organizations, companies, and other groups
|
# affiliations: Optional[str] # One or more affiliations with organizations, companies, and other groups
|
||||||
|
|
||||||
email: Optional[str]
|
# email: Optional[str]
|
||||||
|
|
||||||
#new_password: str = Field(default_factory = lambda:secrets.token_urlsafe(default_num_bytes))
|
#new_password: str = Field(default_factory = lambda:secrets.token_urlsafe(default_num_bytes))
|
||||||
#password: Optional[str]
|
#password: Optional[str]
|
||||||
|
|||||||
Reference in New Issue
Block a user