class OrganizationForm(ModelForm): model_class = Organization name = fields.StringField(_('Name'), [validators.required()]) acronym = fields.StringField(_('Acronym'), description=_('Shorter organization name')) description = fields.MarkdownField( _('Description'), [validators.required()], description=_('The details about your organization')) url = fields.URLField(_('Website'), description=_('The organization website URL')) image_url = fields.URLField(_('Logo'), description=_('Your organization logo URL')) logo = fields.ImageField(_('Logo'), sizes=LOGO_SIZES) def save(self, commit=True, **kwargs): '''Register the current user as admin on creation''' org = super(OrganizationForm, self).save(commit=False, **kwargs) if not org.id: user = current_user._get_current_object() member = Member(user=user, role='admin') org.members.append(member) if commit: org.save() return org
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 UserProfileForm(ModelForm): model_class = User first_name = fields.StringField(_('First name'), [validators.required()]) last_name = fields.StringField(_('Last name'), [validators.required()]) avatar = fields.ImageField(_('Avatar'), sizes=AVATAR_SIZES) website = fields.URLField(_('Website')) about = fields.MarkdownField(_('About'))
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 UserProfileForm(ModelForm): model_class = User first_name = fields.StringField(_('First name'), [validators.DataRequired(), validators.NoURLs(_('URLs not allowed in this field'))]) last_name = fields.StringField(_('Last name'), [validators.DataRequired(), validators.NoURLs(_('URLs not allowed in this field'))]) email = fields.StringField(_('Email'), [validators.DataRequired(), validators.Email()]) avatar = fields.ImageField(_('Avatar'), sizes=AVATAR_SIZES) website = fields.URLField(_('Website')) about = fields.MarkdownField(_('About'))
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 PostForm(ModelForm): model_class = Post owner = fields.CurrentUserField() name = fields.StringField(_('Name'), [validators.DataRequired()]) headline = fields.StringField(_('Headline'), widget=widgets.TextArea()) content = fields.MarkdownField(_('Content'), [validators.DataRequired()]) datasets = fields.DatasetListField(_('Associated datasets')) reuses = fields.ReuseListField(_('Associated reuses')) image = fields.ImageField(_('Image'), sizes=IMAGE_SIZES) credit_to = fields.StringField(_('Image credits')) credit_url = fields.URLField(_('Credit URL')) tags = fields.TagField(_('Tags'))
class PostForm(UserModelForm): model_class = Post name = fields.StringField(_('Name'), [validators.required()]) headline = fields.StringField(_('Headline'), widget=widgets.TextArea()) content = fields.MarkdownField(_('Content'), [validators.required()]) datasets = fields.DatasetListField(_('Associated datasets')) reuses = fields.ReuseListField(_('Associated reuses')) image = fields.ImageField(_('Image'), sizes=IMAGE_SIZES) # image_url = fields.UploadableURLField(_('Image URL'), description=_('The post thumbnail'), # endpoint='storage.add_image') credit_to = fields.StringField(_('Image credits')) credit_url = fields.URLField(_('Credit URL')) tags = fields.TagField(_('Tags')) private = fields.BooleanField(_('Private'))
class ReuseForm(ModelForm): model_class = Reuse title = fields.StringField(_('Title'), [validators.required()]) description = fields.MarkdownField( _('Description'), [validators.required()], description= _('The details about the reuse (build process, specifics, self-critics...).' )) type = fields.SelectField(_('Type'), choices=REUSE_TYPES.items()) url = fields.URLField(_('URL'), [validators.required(), check_url_does_not_exists]) # image_url = fields.URLField(_('Image URL'), # description=_('The reuse thumbnail')) 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.' ))
class FakeForm(Form): url = fields.URLField()