def firearm_replica_form(firearm_type): return Form( title=CreateGoodForm.FirearmGood.FirearmsReplica.TITLE, default_button_name="Save and continue", questions=[ HiddenField("type", firearm_type), HiddenField("is_replica_step", True), RadioButtons( title="", name="is_replica", options=[ Option( key=True, value="Yes", components=[ TextArea( title=CreateGoodForm.FirearmGood.FirearmsReplica.DESCRIPTION, description="", name="replica_description", optional=False, ), ], ), Option(key=False, value="No",), ], ), ], )
def form_with_hidden_fields(request, data, post_data, form, return_data, additional_context): for key, value in post_data.items(): # If the key is already in the questions in the next form, don't copy them # because the user will input their answers again form_question_names = [ q.name for q in form.questions if hasattr(q, "name") ] if key in form_question_names or f"{key}[]" in form_question_names: continue # If the keys value is a list, insert each individually if isinstance(value, list): for sub_value in value: form.questions.insert(0, HiddenField(key + "[]", sub_value)) else: form.questions.insert(0, HiddenField(key, value)) # Go to the next page return ( form_page(request, form, data=data, extra_data={ "form_pk": form.pk, **additional_context }), return_data, )
def firearms_capture_serial_numbers(number_of_items): if isinstance(number_of_items, str): try: number_of_items = int(number_of_items) except ValueError: number_of_items = 0 elif number_of_items is None: number_of_items = 0 questions = [ HiddenField("capture_serial_numbers_step", True), HiddenField("number_of_items", number_of_items), Label(text=f"Number of items: {number_of_items}"), ] input_fields = [ Group( id="serial_number_input_field_group", components=[Label(text=f"{i+1}"), TextInput(name=f"serial_number_input_{i}")], classes=["lite-input-with-label"], ) for i in range(number_of_items) ] questions.append(GroupWithLabel(id="serial_numbers", components=input_fields)) return Form( title="Enter the serial numbers for this product", description="Enter one serial number in every row", questions=questions, default_button_name="Save and continue", )
def upload_firearms_act_certificate_form(section, filename, back_link): return Form( title=f"Attach your Firearms Act 1968 {section} certificate", description="The file must be smaller than 50MB", questions=[ HiddenField("firearms_certificate_uploaded", False), FileUpload(), HiddenField("uploaded_file_name", filename), TextInput( title=CreateGoodForm.FirearmGood.FirearmsActCertificate.SECTION_CERTIFICATE_NUMBER, description="", name="section_certificate_number", optional=False, ), DateInput( title=CreateGoodForm.FirearmGood.FirearmsActCertificate.EXPIRY_DATE, description=CreateGoodForm.FirearmGood.FirearmsActCertificate.EXPIRY_DATE_HINT, prefix="section_certificate_date_of_expiry", name="section_certificate_date_of_expiry", ), Label(text="Or"), Checkboxes( name="section_certificate_missing", options=[Option(key="True", value=f"I do not have a Firearms Act 1968 {section} certificate",)], ), TextArea( title="Provide a reason why you do not have a certificate", name="section_certificate_missing_reason", optional=False, ), ], back_link=back_link, buttons=[Button("Save and continue", "submit")], javascript_imports={"/javascripts/add-good.js"}, )
def identification_markings_form(draft_pk=None, good_id=None): questions = [ HiddenField("identification_markings_step", True), RadioButtons( title="", name="has_identification_markings", options=[ Option(key=True, value=CreateGoodForm.FirearmGood.IdentificationMarkings.YES,), Option( key=False, value=CreateGoodForm.FirearmGood.IdentificationMarkings.NO, components=[ TextArea( title=CreateGoodForm.FirearmGood.IdentificationMarkings.NO_MARKINGS_DETAILS, description="", name="no_identification_markings_details", optional=False, ) ], ), ], ), HiddenField("pk", draft_pk) if draft_pk else None, HiddenField("good_id", good_id) if good_id else None, ] return Form( title=CreateGoodForm.FirearmGood.IdentificationMarkings.TITLE, questions=questions, default_button_name="Save and continue", )
def firearms_number_of_items(firearm_type): return Form( title="Number of items", questions=[ HiddenField("type", firearm_type), HiddenField("number_of_items_step", True), TextInput(name="number_of_items"), ], default_button_name="Save and continue", )
def select_flags(request, team_id, flags_to_include, flags_to_exclude, is_editing): flags_checkboxes = [ Option(flag["id"], flag["name"], data_attribute=get_flag_details_html(flag)) for flag in get_flags_for_team_of_level( request, level="", team_id=team_id, include_system_flags=True) ] return Form( title=Forms.FLAGS if not is_editing else "Edit flags", questions=[ HiddenField(name="flags_to_include", value=",".join(flags_to_include)), HiddenField(name="flags_to_exclude", value=",".join(flags_to_exclude)), HTMLBlock("<div id='routing-rules-flags-details'></div>"), Label(id="condition-label", text="Apply the routing rule to:"), RadioButtons( title="", name="routing_rules_flags_condition", options=[ Option(key="contain_selected_flags", value="Cases that contain selected flags"), Option(key="doesnot_contain_selected_flags", value="Cases that do not contain selected flags"), ], ), Filter(), Checkboxes( name="flags[]", options=flags_checkboxes, import_custom_js=[ "/javascripts/filter-checkbox-list-flags.js" ], ), ], buttons=[ Button("Save and continue", "submit", id="save_and_continue"), Button("Add another condition", "", ButtonStyle.SECONDARY, id="add-another-condition", link="#"), ], javascript_imports={"/javascripts/routing-rules-flags.js"}, )
def firearm_year_of_manufacture_details_form(good_id=None): return Form( title="What is the year of manufacture of the firearm?", default_button_name="Save and continue", questions=list( filter( bool, [ HiddenField("good_id", good_id) if good_id else None, HiddenField("firearm_year_of_manufacture_step", True), TextInput(description="", name="year_of_manufacture", optional=False,), ], ) ), )
def firearms_sporting_shotgun_form(firearm_type): title = get_sporting_shotgun_form_title(firearm_type) return Form( title=title, questions=[ HiddenField("type", firearm_type), HiddenField("sporting_shotgun_step", True), RadioButtons( title="", name="is_sporting_shotgun", options=[Option(key=True, value="Yes"), Option(key=False, value="No"),], ), ], default_button_name="Save and continue", )
def approve_licence_form(queue_pk, case_id, is_open_licence, editable_duration, goods, goods_html): return Form( title=lite_content.lite_internal_frontend.advice.FinaliseLicenceForm.APPROVE_TITLE, questions=[ DateInput( description=lite_content.lite_internal_frontend.advice.FinaliseLicenceForm.DATE_DESCRIPTION, title=lite_content.lite_internal_frontend.advice.FinaliseLicenceForm.DATE_TITLE, prefix="", ), conditional( editable_duration, TextInput( title=lite_content.lite_internal_frontend.advice.FinaliseLicenceForm.DURATION_TITLE, name="duration", description=lite_content.lite_internal_frontend.advice.FinaliseLicenceForm.DURATION_DESCRIPTION, ), ), HiddenField(name="action", value="approve"), conditional(goods, Custom(goods_html, data=goods,)), ], container="case", back_link=conditional( is_open_licence, BackLink( url=reverse_lazy("cases:finalise_goods_countries", kwargs={"queue_pk": queue_pk, "pk": case_id}), text=lite_content.lite_internal_frontend.advice.FinaliseLicenceForm.Actions.BACK_TO_DECISION_MATRIX_BUTTON, ), BackLink( url=reverse_lazy("cases:case", kwargs={"queue_pk": queue_pk, "pk": case_id, "tab": "final-advice"}), text=lite_content.lite_internal_frontend.advice.FinaliseLicenceForm.Actions.BACK_TO_ADVICE_BUTTON, ), ), )
def initial_routing_rule_questions(request, team_id, is_editing: bool): if is_editing: title = Forms.EDIT_TITLE else: title = Forms.CREATE_TITLE return Form( title=title, questions=[ Select(title=Forms.CASE_STATUS, name="status", options=get_statuses(request, True)), AutocompleteInput( title=Forms.QUEUE, name="queue", options=get_team_queues(request, team_id, True, True), ), TextInput(title=Forms.TIER, name="tier"), HiddenField(name="additional_rules[]", value=None), Checkboxes( title=Forms.ADDITIONAL_RULES, name="additional_rules[]", options=additional_rules, ), ], back_link=BackLink(Forms.BACK_BUTTON, reverse_lazy("routing_rules:list")), )
def new_location_form(request, application_type, location_type): exclude = [] if application_type in [CaseTypes.SITL, CaseTypes.SICL, CaseTypes.OICL]: exclude.append("GB") countries = get_countries(request, True, exclude) return Form( title=NewLocationForm.TITLE, description=NewLocationForm.DESCRIPTION, questions=[ HiddenField(name="external_locations", value=""), TextInput(name="name", title=NewLocationForm.Name.TITLE), TextArea( name="address", title=conditional( location_type == LocationType.SEA_BASED, NewLocationForm.Address.SEA_BASED_TITLE, NewLocationForm.Address.TITLE, ), description=conditional( application_type == CaseTypes.SITL, NewLocationForm.Address.SITL_DESCRIPTION, conditional( location_type == LocationType.SEA_BASED, NewLocationForm.Address.SEA_BASED_DESCRIPTION, NewLocationForm.Address.DESCRIPTION, ), ), ), conditional(location_type != LocationType.SEA_BASED, country_question(prefix="", countries=countries)), ], default_button_name=strings.SAVE_AND_CONTINUE, )
def done_with_case_form(request, queue_pk, case_pk, has_review_date): queue = None queues, _ = get_user_case_queues(request, case_pk) if not queues: queue = get_queue(request, queue_pk) return Form( title=DoneWithCaseOnQueueForm.TITLE if not queue else DoneWithCaseOnQueueForm.TITLE_SINGULAR.format(queue["name"]), questions=[ conditional( queues, Checkboxes( name="queues[]", options=[ Option(queue["id"], queue["name"]) for queue in queues ], title=DoneWithCaseOnQueueForm.CHECKBOX_TITLE, description=DoneWithCaseOnQueueForm.CHECKBOX_DESCRIPTION, ), HiddenField(name="queues[]", value=queue_pk), ), DetailComponent( title=DoneWithCaseOnQueueForm.NOTE, components=[ TextArea(name="note", classes=["govuk-!-margin-0"]), ], ), ], default_button_name=DoneWithCaseOnQueueForm.SUBMIT, container="case", javascript_imports=conditional(has_review_date, {"/javascripts/assign_queue.js"}, None), )
def product_uses_information_security(request): return Form( title=CreateGoodForm.ProductInformationSecurity.TITLE, questions=[ HiddenField("is_information_security_step", True), RadioButtons( title="", name="uses_information_security", options=[ Option( key=True, value="Yes", components=[ TextArea( title=CreateGoodForm.ProductInformationSecurity.INFORMATION_SECURITY_DETAILS, description="", name="information_security_details", optional=True, ), ], ), Option(key=False, value=CreateGoodForm.ProductInformationSecurity.NO), ], ), ], )
def product_military_use_form(request): return Form( title=CreateGoodForm.MilitaryUse.TITLE, questions=[ HiddenField("is_military_use_step", True), RadioButtons( title="", name="is_military_use", options=[ Option(key="yes_designed", value=CreateGoodForm.MilitaryUse.YES_DESIGNED), Option( key="yes_modified", value=CreateGoodForm.MilitaryUse.YES_MODIFIED, components=[ TextArea( title=CreateGoodForm.MilitaryUse.MODIFIED_MILITARY_USE_DETAILS, description="", name="modified_military_use_details", optional=False, ), ], ), Option(key="no", value=CreateGoodForm.MilitaryUse.NO), ], ), ], )
def dispatch(self, request, *args, **kwargs): query, _ = get_end_user_advisory(request, str(kwargs["pk"])) self.data = { "end_user.name": query["end_user"]["name"], "end_user.website": query["end_user"]["website"], "end_user.address": query["end_user"]["address"], "end_user.country": query["end_user"]["country"]["id"], "end_user.type": query["end_user"]["type"], "reasoning": query.get("reasoning", ""), "note": query.get("note", ""), "copy_of": query["id"], "contact_email": query["contact_email"], "contact_telephone": query["contact_telephone"], } individual, commercial = False, False sub_type = query["end_user"]["sub_type"]["key"] if sub_type != "individual": self.data["contact_name"] = query["contact_name"] self.data["contact_job_title"] = query["contact_job_title"] else: individual = True if sub_type == "commercial": commercial = True self.data["nature_of_business"] = query["nature_of_business"] self.forms = copy_end_user_advisory_form(request, individual, commercial) # Add the existing end user type as a hidden field to preserve its data self.forms.forms[0].questions.append(HiddenField("end_user.sub_type", query["end_user"]["sub_type"]["key"])) return super(CopyAdvisory, self).dispatch(request, *args, **kwargs)
def get(self, request, *args, **kwargs): open_general_licences = get_open_general_licences( request, **request.GET) control_list_entries = get_control_list_entries(request, True) countries = get_countries(request, True) filters = FiltersBar([ HiddenField("status", request.GET.get("status", "active")), TextInput(name="name", title="name"), Select(name="case_type", title="type", options=OpenGeneralExportLicences.as_options()), AutocompleteInput(name="control_list_entry", title="control list entry", options=control_list_entries), AutocompleteInput(name="country", title="country", options=countries), ]) context = { "filters": filters, "tab": request.GET.get("status", "active"), "open_general_licences": open_general_licences, } return render(request, "open-general-licences/index.html", context)
def register_a_commercial_organisation_group(request, location): from exporter.core.views import RegisterAnOrganisationTriage is_in_uk = location == RegisterAnOrganisationTriage.Locations.UNITED_KINGDOM return FormGroup([ Form( title=RegisterAnOrganisation.Commercial.TITLE, description=RegisterAnOrganisation.Commercial.DESCRIPTION, caption="Step 3 of 4", questions=[ HiddenField("location", location), TextInput( title=RegisterAnOrganisation.Commercial.NAME, description=RegisterAnOrganisation.Commercial. NAME_DESCRIPTION, name="name", ), TextInput( title=RegisterAnOrganisation.Commercial.EORI_NUMBER, description=RegisterAnOrganisation.Commercial. EORI_NUMBER_DESCRIPTION, short_title=RegisterAnOrganisation.Commercial. EORI_NUMBER_SHORT_TITLE, name="eori_number", optional=not is_in_uk, ), TextInput( title=RegisterAnOrganisation.Commercial.SIC_NUMBER, description=RegisterAnOrganisation.Commercial. SIC_NUMBER_DESCRIPTION, short_title=RegisterAnOrganisation.Commercial. SIC_NUMBER_SHORT_TITLE, name="sic_number", optional=not is_in_uk, ), TextInput( title=RegisterAnOrganisation.Commercial.VAT_NUMBER, description=RegisterAnOrganisation.Commercial. VAT_NUMBER_DESCRIPTION, short_title=RegisterAnOrganisation.Commercial. VAT_NUMBER_SHORT_TITLE, name="vat_number", optional=not is_in_uk, ), TextInput( title=RegisterAnOrganisation.Commercial.CRN_NUMBER, description=RegisterAnOrganisation.Commercial. CRN_NUMBER_DESCRIPTION, short_title=RegisterAnOrganisation.Commercial. CRN_NUMBER_SHORT_TITLE, name="registration_number", optional=not is_in_uk, ), ], default_button_name=generic.CONTINUE, ), site_form(request, False, location), ])
def firearm_calibre_details_form(): return Form( title="What is the calibre of the product?", default_button_name="Save and continue", questions=[ HiddenField("firearm_calibre_step", True), TextInput(title="", description="", name="calibre", optional=False,), ], )
def unit_quantity_value(request, good, sub_case_type, application_id): if sub_case_type["key"] == EXHIBITION: return exhibition_item_type(request, good.get("id"), application_id) else: questions = [ good_summary(good), HiddenField(name="good_id", value=good.get("id")), Select( title=AddGoodToApplicationForm.Units.TITLE, description="<noscript>" + AddGoodToApplicationForm.Units.DESCRIPTION + "</noscript>", name="unit", options=get_units(request), ), QuantityInput( title=AddGoodToApplicationForm.Quantity.TITLE, description=AddGoodToApplicationForm.Quantity.DESCRIPTION, name="quantity", ), CurrencyInput( title=AddGoodToApplicationForm.VALUE.TITLE, description=AddGoodToApplicationForm.VALUE.DESCRIPTION, name="value", ), RadioButtons( name="is_good_incorporated", title=AddGoodToApplicationForm.Incorporated.TITLE, description=AddGoodToApplicationForm.Incorporated.DESCRIPTION, options=[ Option(True, AddGoodToApplicationForm.Incorporated.YES), Option(False, AddGoodToApplicationForm.Incorporated.NO), ], classes=["govuk-radios--inline"], ), ] if good["item_category"]["key"] == PRODUCT_CATEGORY_FIREARM: firearm_type = good["firearm_details"]["type"]["key"] if firearm_type in ["ammunition", "firearms"]: questions.append(firearm_proof_mark_field()) elif firearm_type == "components_for_firearms": questions.append( does_firearm_component_require_proof_marks_field()) questions.append(firearm_is_deactivated_field()) return Form( title=AddGoodToApplicationForm.TITLE, description=AddGoodToApplicationForm.DESCRIPTION, questions=questions, back_link=BackLink( strings.BACK_TO_APPLICATION, reverse_lazy("applications:preexisting_good", kwargs={"pk": application_id}), ), javascript_imports={"/javascripts/add-good.js"}, )
def software_technology_details_form(request, category_type): category_text = get_category_display_string(category_type) return Form( title=CreateGoodForm.TechnologySoftware.TITLE + category_text, questions=[ HiddenField("is_software_or_technology_step", True), TextArea(title="", description="", name="software_or_technology_details", optional=False,), ], )
def software_technology_details_form(request, item_category=None): category = get_category_display_string( request.POST.get("item_category", "") if not item_category else item_category ) return Form( title=CreateGoodForm.TechnologySoftware.TITLE + category, questions=[ HiddenField("is_software_or_technology_step", True), TextArea(title="", description="", name="software_or_technology_details", optional=False,), ], )
def firearms_act_confirmation_form(): return Form( title=CreateGoodForm.FirearmGood.FirearmsActCertificate.TITLE, questions=[ HiddenField("section_certificate_step", True), Label(CreateGoodForm.FirearmGood.FirearmsActCertificate.FIREARMS_ACT), Label( id="section-1-link", text=linkify( CreateGoodForm.FirearmGood.FirearmsActCertificate.SECTION_ONE_LINK, name=CreateGoodForm.FirearmGood.FirearmsActCertificate.SECTION_ONE, ), ), Label( id="section-2-link", text=linkify( CreateGoodForm.FirearmGood.FirearmsActCertificate.SECTION_TWO_LINK, name=CreateGoodForm.FirearmGood.FirearmsActCertificate.SECTION_TWO, ), ), Label( id="section-5-link", text=linkify( CreateGoodForm.FirearmGood.FirearmsActCertificate.SECTION_FIVE_LINK, name=CreateGoodForm.FirearmGood.FirearmsActCertificate.SECTION_FIVE, ), ), RadioButtons( title="", name="is_covered_by_firearm_act_section_one_two_or_five", options=[ Option( key=True, value=CreateGoodForm.FirearmGood.FirearmsActCertificate.YES, components=[ TextInput( title=CreateGoodForm.FirearmGood.FirearmsActCertificate.SECTION_CERTIFICATE_NUMBER, description="", name="section_certificate_number", optional=False, ), DateInput( title=CreateGoodForm.FirearmGood.FirearmsActCertificate.EXPIRY_DATE, description=CreateGoodForm.FirearmGood.FirearmsActCertificate.EXPIRY_DATE_HINT, prefix="section_certificate_date_of_expiry", name="section_certificate_date_of_expiry", ), ], ), Option(key=False, value=CreateGoodForm.FirearmGood.FirearmsActCertificate.NO), ], ), ], )
def product_component_form(request): return Form( title=CreateGoodForm.ProductComponent.TITLE, questions=[ HiddenField("is_component_step", True), RadioButtons( title="", name="is_component", options=[ Option( key="yes_designed", value=CreateGoodForm.ProductComponent.YES_DESIGNED, components=[ TextArea( title=CreateGoodForm.ProductComponent. DESIGNED_DETAILS, description="", name="designed_details", optional=False, ), ], ), Option( key="yes_modified", value=CreateGoodForm.ProductComponent.YES_MODIFIED, components=[ TextArea( title=CreateGoodForm.ProductComponent. MODIFIED_DETAILS, description="", name="modified_details", optional=False, ), ], ), Option( key="yes_general", value=CreateGoodForm.ProductComponent. YES_GENERAL_PURPOSE, components=[ TextArea( title=CreateGoodForm.ProductComponent. GENERAL_DETAILS, description="", name="general_details", optional=False, ), ], ), Option(key="no", value=CreateGoodForm.ProductComponent.NO), ], ), ], )
def insert_hidden_fields(data: dict, form: Form): for key, value in data.items(): add = True # Only add hidden fields if the data isn't already being passed through a component for question in form.questions: if hasattr(question, "name"): if question.name == key or question.name[:-2] == key: add = False if add: form.questions.insert(0, HiddenField(key, value))
def get(self, request, **kwargs): search_term = request.GET.get("search_term", "").strip() org_type = request.GET.get("org_type", "").strip() params = { "page": int(request.GET.get("page", 1)), "status": request.GET.get("status", "active") } if search_term: params["search_term"] = search_term if org_type: params["org_type"] = org_type organisations, _ = get_organisations( request, convert_dict_to_query_params(params)) filters = FiltersBar([ TextInput(name="search_term", title=OrganisationsPage.Filters.NAME), Select( name="org_type", title=OrganisationsPage.Filters.TYPE, options=[ Option("individual", OrganisationsPage.Filters.Types.INDIVIDUAL), Option("commercial", OrganisationsPage.Filters.Types.COMMERCIAL), Option("hmrc", OrganisationsPage.Filters.Types.HMRC), ], ), HiddenField(name="status", value=params["status"]), ]) context = { "data": organisations, "filters": filters, "search_term": params.get("search_term", ""), "tab": params.get("status"), "in_review_total": get_menu_notifications(request)["notifications"].get( "organisations"), "can_manage_organisations": Permission.MANAGE_ORGANISATIONS.value in get_user_permissions(request), } return render(request, "organisations/index.html", context)
def good_on_application_form(request, good, sub_case_type, application_id): if sub_case_type["key"] == EXHIBITION: return exhibition_good_on_application_form(request, good.get("id"), application_id) else: return Form( title=AddGoodToApplicationForm.TITLE, description=AddGoodToApplicationForm.DESCRIPTION, questions=[ good_summary(good), HiddenField(name="good_id", value=good.get("id")), Select( title=AddGoodToApplicationForm.Units.TITLE, description="<noscript>" + AddGoodToApplicationForm.Units.DESCRIPTION + "</noscript>", name="unit", options=get_units(request), ), QuantityInput( title=AddGoodToApplicationForm.Quantity.TITLE, description=AddGoodToApplicationForm.Quantity.DESCRIPTION, name="quantity", ), CurrencyInput( title=AddGoodToApplicationForm.VALUE.TITLE, description=AddGoodToApplicationForm.VALUE.DESCRIPTION, name="value", ), RadioButtons( name="is_good_incorporated", title=AddGoodToApplicationForm.Incorporated.TITLE, description=AddGoodToApplicationForm.Incorporated. DESCRIPTION, options=[ Option(True, AddGoodToApplicationForm.Incorporated.YES), Option(False, AddGoodToApplicationForm.Incorporated.NO), ], classes=["govuk-radios--inline"], ), ], back_link=BackLink( strings.BACK_TO_APPLICATION, reverse_lazy("applications:preexisting_good", kwargs={"pk": application_id}), ), javascript_imports={"/javascripts/add-good.js"}, )
def users_team_queues(request, queue_pk, case_pk, user_pk): queues = get_users_team_queues(request, user_pk, True) return Form( title=cases.Manage.AssignUserAndQueue.QUEUE_TITLE, description=cases.Manage.AssignUserAndQueue.QUEUE_DESCRIPTION, questions=[ Filter(), RadioButtons("queue", queues, filterable=True), HiddenField("user_pk", user_pk), HiddenField("case_pk", case_pk), DetailComponent( title=cases.Manage.AssignUserAndQueue.NOTE, components=[ TextArea(name="note", classes=["govuk-!-margin-0"]), ], ), ], back_link=BackLink(url=reverse_lazy("cases:assign_user", kwargs={ "queue_pk": queue_pk, "pk": case_pk })), container="case", )
def group_two_product_type_form(back_link=None): form = Form( title=CreateGoodForm.FirearmGood.ProductType.TITLE, questions=[ HiddenField("product_type_step", True), RadioButtons( title="", name="type", options=[ Option( key="firearms", value=CreateGoodForm.FirearmGood.ProductType.FIREARM), Option(key="ammunition", value=CreateGoodForm.FirearmGood.ProductType. AMMUNITION), Option( key="components_for_firearms", value=CreateGoodForm.FirearmGood.ProductType. COMPONENTS_FOR_FIREARM, ), Option( key="components_for_ammunition", value=CreateGoodForm.FirearmGood.ProductType. COMPONENTS_FOR_AMMUNITION, ), Option(key="firearms_accessory", value=CreateGoodForm.FirearmGood.ProductType. FIREARMS_ACCESSORY), Option( key="software_related_to_firearms", value=CreateGoodForm.FirearmGood.ProductType. SOFTWARE_RELATED_TO_FIREARM, ), Option( key="technology_related_to_firearms", value=CreateGoodForm.FirearmGood.ProductType. TECHNOLOGY_RELATED_TO_FIREARM, ), ], ), ], default_button_name="Save and continue", ) if back_link: form.back_link = BackLink("Back", back_link) return form
def confirm_organisation_form(organisation): return Form( title=strings.Hmrc.ConfirmOrg.TITLE, questions=[ Summary( values={ "Name": organisation["name"], "Registration number": organisation["registration_number"], "EORI number": organisation["eori_number"], "VAT number": organisation["vat_number"], "Joined on": str_date_only(organisation["created_at"]), }), HiddenField("organisation", organisation["id"]), ], default_button_name=strings.Hmrc.ConfirmOrg.BUTTON_TEXT, )