示例#1
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper.layout = Layout(
         Fieldset(
             "regulation_usage",
             "public_identifier",
             self._load_details_from_template(
                 "Help with public identifiers",
                 "regulations/help_public_identifiers.jinja",
             ),
             Field(
                 "url",
                 css_class="govuk-input",
             ),
             "regulation_group",
             self._load_details_from_template(
                 "Help with regulation group",
                 "regulations/help_regulation_group.jinja",
             ),
             "information_text",
             "start_date",
             "end_date",
             "published_at",
             Field(
                 "sequence_number",
                 css_class="govuk-input govuk-input--width-5",
             ),
             self._load_details_from_template(
                 "Help with sequence number",
                 "regulations/help_sequence_number.jinja",
             ),
             "approved",
         ),
         Submit("submit", "Save"),
     )
示例#2
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.helper = FormHelper(self)
        self.helper.form_tag = False

        self.helper.layout = Layout(
            Fieldset(
                Div(
                    Field(
                        "condition_code",
                        template="components/measure_condition_code/template.jinja",
                    ),
                    "condition_sid",
                ),
                Div(
                    Field("reference_price", css_class="govuk-input"),
                    "required_certificate",
                    css_class="govuk-radios__conditional",
                ),
                Field(
                    "action",
                    template="components/measure_condition_action_code/template.jinja",
                ),
                Div(
                    MeasureConditionComponentDuty("applicable_duty"),
                ),
                Field("DELETE", template="includes/common/formset-delete-button.jinja")
                if not self.prefix.endswith("__prefix__")
                else None,
                legend="Condition code",
                legend_size=Size.SMALL,
                data_field="condition_code",
            ),
        )
示例#3
0
    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",
            ),
        )
示例#4
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.fields[
            "type"
        ].label_from_instance = lambda obj: f"{obj.sid} - {obj.description}"
        self.fields["type"].label = "Additional code type"
        self.fields["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 = f"{self.instance.type.sid}{self.instance.code}"

            self.fields["type"].disabled = True
            self.fields["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("type"),
            Field("start_date"),
            Field("end_date"),
            Submit("submit", "Save"),
        )
示例#5
0
    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"),
        )
示例#6
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.layout = Layout(
         Field.radios("name",
                      legend_size=Size.MEDIUM,
                      legend_tag="h1",
                      inline=True),
         Field.radios("method", legend_size=Size.MEDIUM, small=True),
         Button("submit", "Submit"),
     )
示例#7
0
 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"),
     )
示例#8
0
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
示例#9
0
 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>',
         ),
     )
示例#10
0
    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>',
            ),
        )
示例#11
0
文件: forms.py 项目: uktrade/tamato
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.helper = FormHelper(self)
        self.helper.layout = Layout(
            Field("validity_start", context={"legend_size": "govuk-label--s"}),
            Field.textarea("description", label_size=Size.SMALL, rows=5),
            Submit(
                "submit",
                "Save",
                data_module="govuk-button",
                data_prevent_double_click="true",
            ),
        )
示例#12
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        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("start_date", context={"legend_size": "govuk-label--s"}),
            Field.textarea("description", label_size=Size.SMALL, rows=5),
            Submit("submit", "Save"),
        )
示例#13
0
 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",
         )
     )
示例#14
0
def test_threshold():
    """Verify info is shown after a certain number of words has been entered."""
    form = TextareaForm(initial={"description": "Field value"})
    form.helper = FormHelper()
    form.helper.layout = Layout(
        Field.textarea("description", max_words=100, threshold=50))
    assert parse_form(form) == parse_contents(RESULT_DIR, "threshold.html")
示例#15
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.layout = Layout(
         Field.textarea("description", rows=3, max_words=100,),
         Button("submit", "Submit"),
     )
示例#16
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper = FormHelper()
     self.helper.layout = Layout(
         Field.checkboxes("method", legend_size=Size.MEDIUM, small=True),
         Button("submit", "Submit"),
     )
示例#17
0
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.helper.layout = Layout(
         Fieldset(
             "public_identifier",
             self._load_details_from_template(
                 "Help with public identifiers",
                 "regulations/help_public_identifiers.jinja",
             ),
             Field(
                 "url",
                 css_class="govuk-input",
             ),
             "regulation_group",
             self._load_details_from_template(
                 "Help with regulation group",
                 "regulations/help_regulation_group.jinja",
             ),
             "information_text",
             "start_date",
             "end_date",
             "published_at",
             HTML.details(
                 "Help with Published date",
                 RegulationFormBase.PUBLISHED_AT_HELP_TEXT,
             ),
             "approved",
         ),
         Submit(
             "submit",
             "Save",
             data_module="govuk-button",
             data_prevent_double_click="true",
         ),
     )
def test_show_legend_as_heading():
    """Verify the field legend can be displayed as the page heading."""
    form = CheckboxesForm()
    form.helper = FormHelper()
    form.helper.layout = Layout(Field("method", context={"legend_tag": "h1"}))
    assert parse_form(form) == parse_contents(RESULT_DIR,
                                              "legend_heading.html")
示例#19
0
def test_small():
    """Verify size of the radio buttons can be changed."""
    form = RadiosForm()
    form.helper = FormHelper()
    form.helper.layout = Layout(Field("method", context={"radios_small":
                                                         True}))
    assert parse_form(form) == parse_contents(RESULT_DIR, "buttons_small.html")
示例#20
0
def test_show_label_as_heading():
    """Verify the field label can be displayed as the page heading."""
    form = TextareaForm()
    form.helper = FormHelper()
    form.helper.layout = Layout(
        Field("description", context={"label_tag": "h1"}))
    assert parse_form(form) == parse_contents(RESULT_DIR, "label_heading.html")
示例#21
0
def test_change_label_size():
    """Verify size of the field label can be changed from the default."""
    form = FileUploadForm()
    form.helper = FormHelper()
    form.helper.layout = Layout(
        Field("file", context={"label_size": Size.for_label("l")}))
    assert parse_form(form) == parse_contents(RESULT_DIR, "label_size.html")
示例#22
0
def test_checkbox_size():
    """Verify size of the checkbox can be changed from the default."""
    form = CheckboxForm()
    form.helper = FormHelper()
    form.helper.layout = Layout(
        Field("accept", context={"checkboxes_small": True}))
    assert parse_form(form) == parse_contents(RESULT_DIR, "checkbox_size.html")
def test_change_legend_size():
    """Verify size of the field legend can be changed from the default."""
    form = CheckboxesForm()
    form.helper = FormHelper()
    form.helper.layout = Layout(
        Field("method", context={"legend_size": Size.for_legend("l")}))
    assert parse_form(form) == parse_contents(RESULT_DIR, "legend_size.html")
示例#24
0
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")
示例#25
0
def test_character_count():
    """Verify the field can show the maximum number of characters allowed."""
    form = TextareaForm(initial={"description": "Field value"})
    form.helper = FormHelper()
    form.helper.layout = Layout(
        Field.textarea("description", max_characters=100))
    assert parse_form(form) == parse_contents(RESULT_DIR,
                                              "character_count.html")
示例#26
0
def test_inline():
    """Verify radio buttons can be displayed in a row."""
    form = RadiosForm()
    form.helper = FormHelper()
    form.helper.layout = Layout(
        Field("method", context={"radios_inline": True}))
    assert parse_form(form) == parse_contents(RESULT_DIR,
                                              "buttons_inline.html")
示例#27
0
def test_override_default_legend_size():
    """Verify a default legend size can be overridden on the field."""
    form = CheckboxesForm()
    form.helper = FormHelper()
    form.helper.legend_size = Size.MEDIUM
    form.helper.layout = Layout(
        Field.checkboxes("method", legend_size=Size.LARGE))
    assert parse_form(form) == parse_contents(RESULT_DIR,
                                              "override_legend_size.html")
示例#28
0
 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"
示例#29
0
文件: forms.py 项目: uktrade/tamato
 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"
示例#30
0
文件: forms.py 项目: uktrade/tamato
 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"