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)
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)
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)
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)
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)
), "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)
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)