Esempio n. 1
0
from crispy_forms_gds.layout import Field

from common.forms import CreateDescriptionForm
from common.forms import delete_form_for
from geo_areas.models import GeographicalArea
from geo_areas.models import GeographicalAreaDescription


class GeographicalAreaCreateDescriptionForm(CreateDescriptionForm):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper.layout.insert(
            0,
            Field(
                "described_geographicalarea",
                type="hidden",
            ),
        )
        self.fields["description"].label = "Geographical area description"

    class Meta:
        model = GeographicalAreaDescription
        fields = ("described_geographicalarea", "description",
                  "validity_start")


GeographicalAreaDeleteForm = delete_form_for(GeographicalArea)

GeographicalAreaDescriptionDeleteForm = delete_form_for(
    GeographicalAreaDescription)
Esempio n. 2
0
        fields = ("certificate_type", "sid", "valid_between")


class CertificateDescriptionForm(DescriptionForm):
    class Meta:
        model = models.CertificateDescription
        fields = DescriptionForm.Meta.fields


class CertificateCreateDescriptionForm(CreateDescriptionForm):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper.layout.insert(
            0,
            Field(
                "described_certificate",
                type="hidden",
            ),
        )
        self.fields["description"].label = "Certificate description"

    class Meta:
        model = models.CertificateDescription
        fields = ("described_certificate", "description", "validity_start")


CertificateDeleteForm = delete_form_for(models.Certificate)

CertificateDescriptionDeleteForm = delete_form_for(
    models.CertificateDescription)
Esempio n. 3
0
        model = models.Footnote
        fields = ("footnote_type", "valid_between")


class FootnoteDescriptionForm(DescriptionForm):
    class Meta:
        model = models.FootnoteDescription
        fields = DescriptionForm.Meta.fields


class FootnoteCreateDescriptionForm(CreateDescriptionForm):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.helper.layout.insert(
            0,
            Field(
                "described_footnote",
                type="hidden",
            ),
        )
        self.fields["description"].label = "Footnote description"

    class Meta:
        model = models.FootnoteDescription
        fields = ("described_footnote", "description", "validity_start")


FootnoteDeleteForm = delete_form_for(models.Footnote)
FootnoteDescriptionDeleteForm = delete_form_for(models.FootnoteDescription)
Esempio n. 4
0
        return instance


class AdditionalCodeDescriptionForm(DescriptionForm):
    class Meta:
        model = models.AdditionalCodeDescription
        fields = DescriptionForm.Meta.fields


class AdditionalCodeCreateDescriptionForm(CreateDescriptionForm):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper.layout.insert(
            0,
            Field(
                "described_additionalcode",
                type="hidden",
            ),
        )
        self.fields["description"].label = "Additional code description"

    class Meta:
        model = models.AdditionalCodeDescription
        fields = ("described_additionalcode", "description", "validity_start")


AdditionalCodeDeleteForm = delete_form_for(models.AdditionalCode)

AdditionalCodeDescriptionDeleteForm = delete_form_for(
    models.AdditionalCodeDescription)
Esempio n. 5
0
class MeasureUpdateFootnotesForm(MeasureFootnotesForm):
    """
    Used with edit measure, this form has two buttons each submitting to
    different routes: one for submitting to the edit measure view
    (MeasureUpdate) and the other for submitting to the edit measure footnote
    view (MeasureFootnotesUpdate).

    This is done by setting the submit button's "formaction" attribute. This
    requires that the path is passed here on kwargs, allowing it to be accessed
    and used when rendering the edit forms' submit buttons.
    """

    def __init__(self, *args, **kwargs):
        path = kwargs.pop("path")
        if "edit" in path:
            self.path = path[:-1] + "-footnotes/"

        super().__init__(*args, **kwargs)


class MeasureUpdateFootnotesFormSet(FormSet):
    form = MeasureUpdateFootnotesForm


class MeasureReviewForm(forms.Form):
    pass


MeasureDeleteForm = delete_form_for(models.Measure)
Esempio n. 6
0
                ),
                "approved",
            ),
            Submit(
                "submit",
                "Save",
                data_module="govuk-button",
                data_prevent_double_click="true",
            ),
        )

    def clean(self):
        cleaned_data = super().clean()
        cleaned_data["regulation_id"] = self.instance.regulation_id

        if self.errors:
            return cleaned_data

        if (not cleaned_data["approved"] and cleaned_data["regulation_usage"]
                != RegulationUsage.DRAFT_REGULATION):
            self.add_error(
                "approved",
                'Regulation status "Not approved" may only be applied '
                'when Regulation usage is "C: Draft regulation"',
            )

        return cleaned_data


RegulationDeleteForm = delete_form_for(Regulation)
Esempio n. 7
0
from crispy_forms_gds.helper import FormHelper
from crispy_forms_gds.layout import HTML
from crispy_forms_gds.layout import Button
from crispy_forms_gds.layout import Field
from crispy_forms_gds.layout import Layout
from crispy_forms_gds.layout import Size
from django import forms

from common.forms import delete_form_for
from quotas import models


class QuotaFilterForm(forms.Form):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper()

        self.helper.layout = Layout(
            Field.text("order_number", label_size=Size.SMALL),
            Field.text("origin", label_size=Size.SMALL),
            Field.radios("mechanism", legend_size=Size.SMALL),
            Field.radios("category", legend_size=Size.SMALL),
            Button("submit", "Search and Filter", css_class="govuk-!-margin-top-6"),
            HTML(
                f'<a class="govuk-button govuk-button--secondary govuk-!-margin-top-6" href="{self.clear_url}"> Clear </a>',
            ),
        )


QuotaDeleteForm = delete_form_for(models.QuotaOrderNumber)