def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.helper = FormHelper() self.helper.label_size = Size.for_label(Size.SMALL) self.helper.layout = Layout( Fieldset( Field.text("name"), Field.text("email", field_width=Fluid.TWO_THIRDS), Field.text("phone", field_width=Fixed.TEN), ), Button("submit", "Submit"), )
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>', ), )
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.helper = FormHelper() self.helper.layout = Layout( Fieldset( Field.text("street1", field_width=Fluid.THREE_QUARTERS), Field.text("street2", field_width=Fluid.THREE_QUARTERS), Field.text("city", field_width=Fluid.ONE_HALF), Field.text("county", field_width=Fluid.ONE_HALF), Field.text("postcode", field_width=Fluid.ONE_QUARTER), legend="What is your address?", legend_size=Size.LARGE, legend_tag="h1", ) )
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields[ "certificate_type"].label_from_instance = lambda obj: f"{obj.sid} - {obj.description}" self.fields["certificate_type"].required = False if self.instance: self.fields["code"].disabled = True self.fields["code"].help_text = "You can't edit this" self.fields["code"].initial = self.instance.code self.fields["certificate_type"].disabled = True self.fields["certificate_type"].help_text = "You can't edit this" self.helper = FormHelper(self) self.helper.label_size = Size.SMALL self.helper.legend_size = Size.SMALL self.helper.layout = Layout( Field.text( "code", field_width=Fixed.TEN, ), "certificate_type", "start_date", "end_date", Submit("submit", "Save"), )
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["footnote_type"].label_from_instance = ( lambda obj: f"{obj.footnote_type_id} - {obj.description}") self.fields["footnote_type"].label = "Footnote type" self.fields["footnote_type"].required = False if self.instance: self.fields["code"].disabled = True self.fields["code"].help_text = "You can't edit this" self.fields["code"].initial = str(self.instance) self.fields["footnote_type"].disabled = True self.fields["footnote_type"].help_text = "You can't edit this" self.helper = FormHelper(self) self.helper.label_size = Size.SMALL self.helper.legend_size = Size.SMALL self.helper.layout = Layout( Field.text( "code", field_width=Fixed.TEN, ), Field("footnote_type"), Field("start_date"), Field("end_date"), Submit( "submit", "Save", data_module="govuk-button", data_prevent_double_click="true", ), )
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["footnote_type"].label_from_instance = ( lambda obj: f"{obj.footnote_type_id} - {obj.description}") self.fields["footnote_type"].label = "Footnote type" self.fields["footnote_type"].required = False if self.instance: self.fields["code"].disabled = True self.fields["code"].help_text = "You can't edit this" self.fields["code"].initial = str(self.instance) self.fields["footnote_type"].disabled = True self.fields["footnote_type"].help_text = "You can't edit this" if self.instance.valid_between.lower: self.fields[ "start_date"].initial = self.instance.valid_between.lower if self.instance.valid_between.upper: self.fields[ "end_date"].initial = self.instance.valid_between.upper self.helper = FormHelper(self) self.helper.layout = Layout( Field.text( "code", field_width=Fixed.TEN, label_size=Size.SMALL, ), Field("footnote_type", context={"label_size": "govuk-label--s"}), Field("start_date", context={"legend_size": "govuk-label--s"}), Field("end_date", context={"legend_size": "govuk-label--s"}), Submit("submit", "Save"), )
def test_override_default_label_size(): """Verify a default label size can be overridden on the field.""" form = TextInputForm() form.helper = FormHelper() form.helper.label_size = Size.MEDIUM form.helper.layout = Layout(Field.text("name", label_size=Size.LARGE)) assert parse_form(form) == parse_contents(RESULT_DIR, "override_label_size.html")
def field_to_layout(field_name, field): """ Converts fields into their GDS styled counterparts. If the counterpart is unknown, return the field_name as default """ if isinstance(field, forms.CharField): return Field.text(field_name, label_size=Size.SMALL) if isinstance(field, forms.ChoiceField): return Field.checkboxes(field_name, legend_size=Size.SMALL) return field_name
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.helper = FormHelper() self.helper.label_size = Size.SMALL self.helper.legend_size = Size.SMALL self.helper.layout = Layout( Div( Field.text("sid", field_width=Fluid.TWO_THIRDS), "goods_nomenclature", "additional_code", "order_number", "measure_type", "regulation", "geographical_area", "footnote", css_class="govuk-grid-row quarters", ), HTML( '<hr class="govuk-section-break govuk-section-break--s govuk-section-break--visible">', ), Div( Div( Field.radios( "start_date_modifier", inline=True, ), "start_date", css_class= "govuk-grid-column-one-half form-group-margin-bottom-2", ), Div( Field.radios( "end_date_modifier", inline=True, ), "end_date", css_class= "govuk-grid-column-one-half form-group-margin-bottom-2", ), css_class="govuk-grid-row govuk-!-margin-top-6", ), HTML( '<hr class="govuk-section-break govuk-section-break--s govuk-section-break--visible">', ), 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>', ), )
def __init__(self, *args, **kwargs): self.request = kwargs.pop("request", None) super().__init__(*args, **kwargs) self.fields[ "type" ].label_from_instance = lambda obj: f"{obj.sid} - {obj.description}" self.helper = FormHelper(self) self.helper.label_size = Size.SMALL self.helper.legend_size = Size.SMALL self.helper.layout = Layout( "type", Field.text("code", field_width=Fluid.ONE_QUARTER, maxlength="3"), "start_date", Field.textarea("description", rows=5), DescriptionHelpBox(), Submit("submit", "Save"), )
def test_text_field_defaults(): field = Field.text("name") assert field.context == {} assert field.attrs == {}
def test_text_invalid_fluid_width(): with pytest.raises(ValueError): Field.text("name", field_width="ninety-percent")
def test_text_field_fluid_width(): field = Field.text("name", field_width=Fluid.THREE_QUARTERS) assert field.attrs["class"] == "govuk-!-width-three-quarters" assert field.context == {}
def test_text_invalid_fixed_width(): with pytest.raises(ValueError): Field.text("name", field_width=1)
def test_text_field_fixed_width(): field = Field.text("name", field_width=Fixed.TEN) assert field.attrs["class"] == "govuk-input--width-10" assert field.context == {}
def test_text_invalid_label_size(): with pytest.raises(ValueError): Field.text("name", label_size="other")
def test_text_field_label_size(): field = Field.text("name", label_size=Size.MEDIUM) assert field.context["label_size"] == "govuk-label--m" assert field.attrs == {}