swh.web.alter.forms module#

class swh.web.alter.forms.MultipleOriginField(*, choices=(), **kwargs)[source]#

Bases: MultipleChoiceField

validate(value)[source]#

Validate a list of origin.

class swh.web.alter.forms.EmailVerificationForm(*args, request: HttpRequest, **kwargs)[source]#

Bases: Form

Email verification form.

Store the extra request parameters.

Parameters:

request – an HttpRequest

clean_email() str[source]#

Check that email has not been blocked.

Returns:

the cleaned email

Raised:

ValidationError: email or its domain is blocked.

clean() dict[str, Any] | None[source]#

Send the verification email.

Returns:

Form’s cleaned data.

base_fields = {'email': <django.forms.fields.EmailField object>}#
declared_fields = {'email': <django.forms.fields.EmailField object>}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.OriginSearchForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)[source]#

Bases: Form

Search Origins.

base_fields = {'query': <django.forms.fields.CharField object>}#
declared_fields = {'query': <django.forms.fields.CharField object>}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.OriginSelectForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)[source]#

Bases: Form

Select Origins.

base_fields = {'urls': <swh.web.alter.forms.MultipleOriginField object>}#
declared_fields = {'urls': <swh.web.alter.forms.MultipleOriginField object>}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.ReasonsForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)[source]#

Bases: Form

Alteration request’s reasons and expected outcome.

base_fields = {'expected_outcome': <django.forms.fields.CharField object>, 'reasons': <django.forms.fields.CharField object>}#
declared_fields = {'expected_outcome': <django.forms.fields.CharField object>, 'reasons': <django.forms.fields.CharField object>}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.ConfirmationForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)[source]#

Bases: Form

Confirm the alteration request.

base_fields = {'confirm': <django.forms.fields.BooleanField object>}#
declared_fields = {'confirm': <django.forms.fields.BooleanField object>}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.CategoryForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)[source]#

Bases: Form

Choose an alteration category.

This form is solely used for data validation, the assistant_category template will display each choices as a submit button.

base_fields = {'category': <django.forms.fields.ChoiceField object>}#
declared_fields = {'category': <django.forms.fields.ChoiceField object>}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.AlterationAccessForm(*args, alteration: Alteration, request: HttpRequest, **kwargs)[source]#

Bases: Form

Security check before accessing an Alteration.

Store the extra alteration & request parameters.

Parameters:
  • alteration – an Alteration instance

  • request – an HttpRequest

clean() dict[str, Any] | None[source]#

Check that email matches the requested Alteration.

If it matches, send an email containing a magic link to auth the requester, if or else do nothing.

Returns:

Form’s cleaned data.

base_fields = {'email': <django.forms.fields.EmailField object>}#
declared_fields = {'email': <django.forms.fields.EmailField object>}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.AlterationSearchForm(*args, **kwargs)[source]#

Bases: ModelForm

Search alterations.

class Meta[source]#

Bases: object

model#

alias of Alteration

fields = ['status']#
search() Page[source]#

Search/filter results and handle pagination.

Returns:

A paginated list of Alteration.

base_fields = {'page': <django.forms.fields.IntegerField object>, 'query': <django.forms.fields.CharField object>, 'status': <django.forms.fields.TypedChoiceField object>}#
declared_fields = {'page': <django.forms.fields.IntegerField object>, 'query': <django.forms.fields.CharField object>}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.OriginAdminForm(*args, request: HttpRequest | None = None, **kwargs)[source]#

Bases: ModelForm

Update an Origin.

class Meta[source]#

Bases: object

model#

alias of Origin

exclude = ['id', 'alteration']#
widgets = {'code_license': <django.forms.widgets.TextInput object>, 'reason': <django.forms.widgets.Textarea object>}#
save(commit=True) Origin[source]#

Save and generate a changelog if needed.

base_fields = {'available': <django.forms.fields.NullBooleanField object>, 'code_license': <django.forms.fields.CharField object>, 'outcome': <django.forms.fields.TypedChoiceField object>, 'ownership': <django.forms.fields.TypedChoiceField object>, 'reason': <django.forms.fields.CharField object>, 'url': <django.forms.fields.URLField object>}#
declared_fields = {}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.AlterationForm(*args, author: str = '', **kwargs)[source]#

Bases: ModelForm

Update an Alteration.

class Meta[source]#

Bases: object

model#

alias of Alteration

exclude = ['id', 'origins', 'events', 'status', 'category', 'email']#
save(commit=True) Alteration[source]#

Save and generate a changelog if needed.

base_fields = {'expected_outcome': <django.forms.fields.CharField object>, 'reasons': <django.forms.fields.CharField object>}#
declared_fields = {}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.AlterationAdminForm(*args, author: str = '', **kwargs)[source]#

Bases: AlterationForm

Update an Alteration.

class Meta[source]#

Bases: object

model#

alias of Alteration

exclude = ['id', 'origins', 'events']#
base_fields = {'category': <django.forms.fields.TypedChoiceField object>, 'email': <django.forms.fields.EmailField object>, 'expected_outcome': <django.forms.fields.CharField object>, 'reasons': <django.forms.fields.CharField object>, 'status': <django.forms.fields.TypedChoiceField object>}#
declared_fields = {}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.MessageForm(*args, alteration: Alteration, **kwargs)[source]#

Bases: ModelForm

Message form for requesters.

class Meta[source]#

Bases: object

model#

alias of Event

fields = ['content']#
widgets = {'content': <django.forms.widgets.Textarea object>}#
labels = {'content': 'Your message'}#
save(commit=True) Event[source]#

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

base_fields = {'content': <django.forms.fields.CharField object>}#
declared_fields = {}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.MessageAdminForm(*args, alteration: Alteration, author: str, **kwargs)[source]#

Bases: ModelForm

Message form for admins.

class Meta[source]#

Bases: object

model#

alias of Event

fields = ['recipient', 'internal', 'content']#
widgets = {'content': <django.forms.widgets.Textarea object>}#
clean()[source]#

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

save(commit=True) Event[source]#

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

base_fields = {'content': <django.forms.fields.CharField object>, 'internal': <django.forms.fields.BooleanField object>, 'recipient': <django.forms.fields.TypedChoiceField object>}#
declared_fields = {}#
property media#

Return all media required to render the widgets on this form.

class swh.web.alter.forms.EventAdminForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[source]#

Bases: ModelForm

Update an Event.

class Meta[source]#

Bases: object

model#

alias of Event

exclude = ['id', 'alteration', 'category']#
widgets = {'content': <django.forms.widgets.Textarea object>}#
base_fields = {'author': <django.forms.fields.CharField object>, 'content': <django.forms.fields.CharField object>, 'internal': <django.forms.fields.BooleanField object>, 'recipient': <django.forms.fields.TypedChoiceField object>}#
declared_fields = {}#
property media#

Return all media required to render the widgets on this form.