class AdvisorsInlineForm(INSPIREForm): """Advisors inline form.""" name = fields.TextField( widget_classes='form-control', placeholder="Name. Type for suggestions", autocomplete='author', widget=ColumnInput(class_="col-xs-5", description=u"Family name, First name"), export_key='full_name', ) degree_type = fields.SelectField( label=_('Degree Type'), widget_classes="form-control", default="PhD", widget=ColumnSelect(class_="col-xs-5", description=u"Degree Type"), ) def __init__(self, *args, **kwargs): """Constructor.""" super(AdvisorsInlineForm, self).__init__(*args, **kwargs) # FIXME invenio_knowledge not Invenio 3 ready # from invenio_knowledge.api import get_kb_mappings # self.degree_type.choices = [('', '')] + [ # (x['value'], x['value']) # for x in get_kb_mappings(current_app.config["DEPOSIT_INSPIRE_DEGREE_KB"]) # ] self.degree_type.choices = [("Bachelor", "Bachelor"), ("Diploma", "Diploma"), ("Habilitation", "Habilitation"), ("Laurea", "Laurea"), ("Master", "Master"), ("PhD", "PhD"), ("Thesis", "Thesis")]
class AdvisorsInlineForm(INSPIREForm): """Advisors inline form.""" name = fields.TextField( widget_classes='form-control', placeholder="Name. Type for suggestions", autocomplete='author', widget=ColumnInput( class_="col-xs-5", description=u"Family name, First name"), export_key='full_name', ) degree_type = fields.SelectField( label=_('Degree Type'), widget_classes="form-control", default="PHD", widget=ColumnSelect(class_="col-xs-5", description=u"Degree Type"), ) def __init__(self, *args, **kwargs): """Constructor.""" super(AdvisorsInlineForm, self).__init__(*args, **kwargs) self.degree_type.choices = [ ("BACHELOR", _("Bachelor")), ("MASTER", _("Master")), ("PHD", _("PhD")), ("OTHER", _("Other")), ]
class AdvisorsInlineForm(INSPIREForm): """Advisors inline form.""" name = fields.TextField( widget_classes='form-control', placeholder="Name. Type for suggestions", autocomplete='author', widget=ColumnInput( class_="col-xs-5", description=u"Family name, First name"), export_key='full_name', ) degree_types_schema = load_schema('elements/degree_type.json') degree_type_options = [ (val, val.capitalize()) for val in degree_types_schema['enum'] ] degree_type_options.sort(key=lambda x: x[1]) degree_type = fields.SelectField( choices=degree_type_options, label='Degree Type', widget_classes="form-control", default="phd", widget=ColumnSelect(class_="col-xs-5", description=u"Degree Type"), )
class InstitutionInlineForm(INSPIREForm): """Institution inline form.""" rank_options = [("rank", _("Rank")), ("SENIOR", _("Senior (permanent)")), ("JUNIOR", _("Junior (leads to Senior)")), ("STAFF", _("Staff (non-research)")), ("VISITOR", _("Visitor")), ("PD", _("PostDoc")), ("PHD", _("PhD")), ("MAS", _("Master")), ("UG", _("Undergrad"))] name = fields.StringField( widget_classes='form-control', widget=ColumnInput(class_="col-md-6"), autocomplete='affiliation', placeholder=_("Institution. Type for suggestions"), ) rank = fields.SelectField( choices=rank_options, default="rank", widget=ColumnSelect(class_="col-md-6"), widget_classes='form-control', validators=[validators.DataRequired()], ) start_year = fields.StringField( placeholder=_('Start Year'), description=u'Format: YYYY.', widget=WrappedInput( wrapped_widget=TextInput(), wrapper='<div class="col-md-6 col-margin-top">%(field)s</div>'), validators=[ RegexpStopValidator( "^(\d{4})?$", message="{} is not a valid year. Please use <i>yyyy</i> format." ) ], widget_classes="datepicker form-control") end_year = fields.StringField( placeholder=_('End Year'), description=u'Format: YYYY.', widget=WrappedInput( wrapped_widget=TextInput(), wrapper='<div class="col-md-6 col-margin-top">%(field)s</div>'), validators=[ RegexpStopValidator( "^(\d{4})?$", message="{} is not a valid year. Please use <i>yyyy</i> format." ) ], widget_classes="datepicker form-control") current = fields.BooleanField(widget=currentCheckboxWidget) email = fields.HiddenField() old_email = fields.HiddenField()
class WebpageInlineForm(INSPIREForm): """URL inline form.""" webpage = fields.StringField( label='Your Webpage', placeholder='http://www.example.com', widget=ColumnInput(class_="col-xs-10"), widget_classes="form-control", )
class UrlInlineForm(INSPIREForm): """Url inline form.""" url = fields.TextField( widget_classes='form-control', widget=ColumnInput(class_="col-xs-10"), export_key='full_url', placeholder='http://www.example.com', )
class ReportNumberInlineForm(INSPIREForm): """Repor number inline form.""" report_number = fields.TextField( label=_('Report Number'), widget=ColumnInput(class_="col-xs-10"), widget_classes="form-control" )
class AuthorInlineForm(INSPIREForm): """Author inline form.""" name = fields.TextField( widget_classes='form-control', widget=ColumnInput(class_="col-xs-6", description="Family name, First name"), # validators=[ # validators.Required(), # ], export_key='full_name', ) affiliation = fields.TextField( autocomplete='affiliation', placeholder='Start typing for suggestions', autocomplete_limit=5, widget_classes='form-control', widget=ColumnInput(class_="col-xs-4 col-pad-0", description="Affiliation"), export_key='affiliation', )
class ExperimentsInlineForm(INSPIREForm): """Experiments inline form.""" name = fields.StringField( placeholder="Experiment. Type for suggestions", label='Experiment', widget=ColumnInput(class_="col-md-6"), widget_classes="form-control", autocomplete="experiment" ) start_year = fields.StringField( placeholder='Start Year', description=u'Format: YYYY.', widget=WrappedInput( wrapped_widget=TextInput(), wrapper='<div class="col-md-6">%(field)s</div>', ), validators=[ LessThan('end_year', message='Start year should be earlier than End year'), RegexpStopValidator( r'^(\d{4})?$', message='{} is not a valid year. Please use <i>yyyy</i> format.', ), ], widget_classes="form-control" ) end_year = fields.StringField( placeholder='End Year', description=u'Format: YYYY.', widget=WrappedInput( wrapped_widget=TextInput(), wrapper='<div class="col-md-6 col-margin-top">%(field)s</div>' ), validators=[ RegexpStopValidator( r'^(\d{4})?$', message='{} is not a valid year. Please use <i>yyyy</i> format.', ), ], widget_classes="form-control" ) current = fields.BooleanField( widget=currentCheckboxWidget )
class ExperimentsInlineForm(INSPIREForm): """Experiments inline form.""" name = fields.StringField( placeholder=_("Experiment. Type for suggestions"), label=_('Experiment'), widget=ColumnInput(class_="col-md-6"), widget_classes="form-control", autocomplete="experiment" ) start_year = fields.StringField( placeholder=_('Start Year'), description=u'Format: YYYY.', widget=WrappedInput(wrapped_widget=TextInput(), wrapper='<div class="col-md-6">%(field)s</div>' ), validators=[RegexpStopValidator( "^(\d{4})?$", message="{} is not a valid year. Please use <i>yyyy</i> format." )], widget_classes="datepicker form-control" ) end_year = fields.StringField( placeholder=_('End Year'), description=u'Format: YYYY.', widget=WrappedInput( wrapped_widget=TextInput(), wrapper='<div class="col-md-6 col-margin-top">%(field)s</div>' ), validators=[RegexpStopValidator( "^(\d{4})?$", message="{} is not a valid year. Please use <i>yyyy</i> format." )], widget_classes="datepicker form-control" ) status = fields.BooleanField( widget=currentCheckboxWidget )
class InstitutionInlineForm(INSPIREForm): """Institution inline form.""" rank_options = [ ("rank", "Rank"), ("SENIOR", "Senior (permanent)"), ("JUNIOR", "Junior (leads to Senior)"), ("STAFF", "Staff (non-research)"), ("VISITOR", "Visitor"), ("PD", "PostDoc"), ("PHD", "PhD"), ("MASTER", "Master"), ("UNDERGRADUATE", "Undergrad"), ("OTHER", "Other"), ] name = fields.StringField( widget_classes='form-control', widget=ColumnInput(class_="col-md-6"), autocomplete='affiliation', placeholder="Institution. Type for suggestions", ) rank = fields.SelectField( choices=rank_options, default="rank", widget=ColumnSelect(class_="col-md-6"), widget_classes='form-control', validators=[validators.DataRequired()], ) start_year = fields.StringField( placeholder='Start Year', description=u'Format: YYYY.', widget=WrappedInput( wrapped_widget=TextInput(), wrapper='<div class="col-md-6 col-margin-top">%(field)s</div>'), validators=[ LessThan('end_year', message='Start year should be earlier than End year'), RegexpStopValidator( r'^(\d{4})?$', message= '{} is not a valid year. Please use <i>yyyy</i> format.', ), ], widget_classes="form-control") end_year = fields.StringField( placeholder='End Year', description=u'Format: YYYY.', widget=WrappedInput( wrapped_widget=TextInput(), wrapper='<div class="col-md-6 col-margin-top">%(field)s</div>'), validators=[ RegexpStopValidator( "^(\d{4})?$", message="{} is not a valid year. Please use <i>yyyy</i> format." ) ], widget_classes="form-control") current = fields.BooleanField(widget=currentCheckboxWidget) emails = fields.FieldList(fields.HiddenField(label=''), widget_classes='hidden-list') old_emails = fields.FieldList(fields.HiddenField(label=''), widget_classes='hidden-list')