def _add_contrib_type_hidden_unless(cls): # In the bulk form we need to hide/disable the contrib type selector unless we want to # override the type specified in the abstract. However, multiple HiddenUnless validators # are not supported in the client-side JS so we only add it to this form - it removes # inactive fields on the server side so it still works (the JavaScript picks up the last # HiddenUnless validator) inject_validators(BulkAbstractJudgmentForm, 'accepted_contrib_type', [HiddenUnless('override_contrib_type')])
def __init__(self, *args, **kwargs): event = kwargs['event'] self.track_field_disabled = ( kwargs.get('abstract') and kwargs['abstract'].edit_track_mode != EditTrackMode.both) if abstracts_settings.get( event, 'tracks_required') and not self.track_field_disabled: inject_validators(self, 'submitted_for_tracks', [DataRequired()]) super(MultiTrackMixin, self).__init__(*args, **kwargs) self.submitted_for_tracks.query = Track.query.with_parent( event).order_by(Track.position)
def __init__(self, *args, **kwargs): if config.LOCAL_IDENTITIES: for field in ('username', 'password', 'confirm_password'): inject_validators(self, field, [HiddenUnless('create_identity')], early=True) super(AdminAccountRegistrationForm, self).__init__(*args, **kwargs) del self.comment if not config.LOCAL_IDENTITIES: del self.username del self.password del self.confirm_password del self.create_identity
def __init__(self, *args, **kwargs): self.event = kwargs.pop('event') self.abstract = kwargs.pop('abstract', None) description_settings = abstracts_settings.get(self.event, 'description_settings') description_validators = self._get_description_validators( description_settings) if description_validators: inject_validators(self, 'description', description_validators) if abstracts_settings.get(self.event, 'contrib_type_required'): inject_validators(self, 'submitted_contrib_type', [DataRequired()]) super(AbstractForm, self).__init__(*args, **kwargs) self.submitted_contrib_type.query = self.event.contribution_types if not self.submitted_contrib_type.query.count(): del self.submitted_contrib_type if not self.event.cfa.allow_attachments: del self.attachments if not description_settings['is_active']: del self.description self.person_links.require_speaker_author = abstracts_settings.get( self.event, 'speakers_required') self.person_links.allow_speakers = abstracts_settings.get( self.event, 'allow_speakers')
def __init__(self, *args, **kwargs): template = kwargs.pop('template', None) if template is None: inject_validators(self, 'template', [DataRequired()]) super(PaperTemplateForm, self).__init__(*args, **kwargs)