class ReuseForm(ModelForm): model_class = Reuse title = fields.StringField( _('Title'), [validators.DataRequired(), validators.Length(max=TITLE_SIZE_LIMIT)]) description = fields.MarkdownField( _('Description'), [ validators.DataRequired(), validators.Length(max=DESCRIPTION_SIZE_LIMIT) ], description=_('The details about the reuse (build process, specifics, ' 'self-critics...).')) type = fields.SelectField(_('Type'), choices=list(REUSE_TYPES.items())) url = fields.URLField( _('URL'), [validators.DataRequired(), check_url_does_not_exists]) image = fields.ImageField(_('Image'), sizes=IMAGE_SIZES, placeholder='reuse') tags = fields.TagField(_('Tags'), description=_('Some taxonomy keywords')) datasets = fields.DatasetListField(_('Used datasets')) private = fields.BooleanField( _('Private'), description=_('Restrict the dataset visibility to you or ' 'your organization only.')) topic = fields.SelectField(_('Topic'), choices=list(REUSE_TOPICS.items())) owner = fields.CurrentUserField() organization = fields.PublishAsField(_('Publish as')) deleted = fields.DateTimeField()
class DatasetForm(ModelForm): model_class = Dataset title = fields.StringField(_('Title'), [validators.required()]) description = fields.MarkdownField( _('Description'), [validators.required()], description=_('The details about the dataset ' '(collection process, specifics...).')) license = fields.ModelSelectField(_('License'), model=License, allow_blank=True) frequency = fields.SelectField( _('Update frequency'), choices=UPDATE_FREQUENCIES.items(), default=DEFAULT_FREQUENCY, validators=[validators.optional()], description=_('The frequency at which data are updated.')) frequency_date = fields.DateTimeField(_('Expected frequency date')) temporal_coverage = fields.DateRangeField( _('Temporal coverage'), description=_('The period covered by the data')) spatial = SpatialCoverageField( _('Spatial coverage'), description=_('The geographical area covered by the data.')) tags = fields.TagField(_('Tags'), description=_('Some taxonomy keywords')) private = fields.BooleanField( _('Private'), description=_('Restrict the dataset visibility to you or ' 'your organization only.')) owner = fields.CurrentUserField() organization = fields.PublishAsField(_('Publish as')) extras = fields.ExtrasField(extras=Dataset.extras) resources = fields.NestedModelList(ResourceForm)
class HarvestSourceForm(Form): name = fields.StringField(_('Name'), [validators.required()]) description = fields.MarkdownField( _('Description'), description=_('Some optionnal details about this harvester')) url = fields.URLField(_('URL'), [validators.required()]) backend = fields.SelectField(_('Backend'), choices=backends) owner = fields.CurrentUserField() organization = fields.PublishAsField(_('Publish as'))
class DatasetCreateForm(DatasetForm): organization = fields.PublishAsField(_('Publish as')) def save(self, commit=True, **kwargs): dataset = super(DatasetCreateForm, self).save(commit=False, **kwargs) if not dataset.organization: dataset.owner = current_user._get_current_object() if commit: dataset.save() return dataset
class ReuseCreateForm(ReuseForm): organization = fields.PublishAsField(_('Publish as')) def save(self, commit=True, **kwargs): reuse = super(ReuseCreateForm, self).save(commit=False, **kwargs) if not reuse.organization: reuse.owner = current_user._get_current_object() if commit: reuse.save() return reuse
class HarvestSourceForm(Form): name = fields.StringField(_('Name'), [validators.required()]) description = fields.MarkdownField( _('Description'), description=_('Some optionnal details about this harvester')) url = fields.URLField(_('URL'), [validators.required()]) backend = fields.SelectField(_('Backend'), choices=lambda: [(b.name, b.display_name) for b in list_backends()]) owner = fields.CurrentUserField() organization = fields.PublishAsField(_('Publish as')) config = HarvestConfigField()
class CommunityResourceForm(BaseResourceForm): model_class = CommunityResource dataset = fields.DatasetField(_('Related dataset')) owner = fields.CurrentUserField() organization = fields.PublishAsField(_('Publish as'))
class DatasetFullForm(DatasetForm): organization = fields.PublishAsField() extras = fields.ExtrasField(extras=Dataset.extras)
class OwnableForm(ModelForm): model_class = Ownable owner = fields.CurrentUserField() organization = fields.PublishAsField(*args, **kwargs)