def _convert_goods_locations(goods_locations): if "type" not in goods_locations: return if goods_locations["type"] == "sites": return [{ "Site": site["name"], "Address": get_address(site) } for site in goods_locations["data"]] else: return [{ "Name": external_location["name"], "Address": get_address(external_location), } for external_location in goods_locations["data"]]
def convert_party(party, application, editable): if not party: return {} has_clearance = application["case_type"]["sub_type"]["key"] == F680 data = { "Name": party["name"], "Type": party["sub_type_other"] if party["sub_type_other"] else party["sub_type"]["value"], "Clearance level": None, "Descriptors": party.get("descriptors"), "Address": get_address(party), "Website": convert_to_link(party["website"]), } if party["type"] == "end_user": data["Signatory name"] = party.get("signatory_name_euu") if party["type"] == "third_party": data["Role"] = party.get("role_other") if party.get( "role_other") else party.get("role").get("value") if application["case_type"]["sub_type"]["key"] != OPEN: if party.get("document"): document_type = party[ "type"] if party["type"] != "end_user" else "end-user" document = _convert_document(party, document_type, application["id"], editable) else: document = convert_to_link( reverse( f"applications:{party['type']}_attach_document", kwargs={ "pk": application["id"], "obj_pk": party["id"] }, ), "Attach document", ) data["Document"] = document if has_clearance: data["Clearance level"] = party["clearance_level"].get( "value") if party["clearance_level"] else None else: data.pop("Clearance level") # Only display descriptors on third parties for non F680 applications if party["type"] != "third_party" and not data.get("Descriptors"): data.pop("Descriptors") return data
def review_organisation_form(request, pk): organisation = get_organisation(request, str(pk)) matching_organisation_details = get_organisation_matching_details( request, str(pk)) return Form( title=ReviewOrganisationPage.TITLE, questions=[ conditional( matching_organisation_details, WarningBanner( id="org_warning", text= f"{ReviewOrganisationPage.WARNING_BANNER}{', '.join(matching_organisation_details)}", ), ), Summary(values={ ReviewOrganisationPage.Summary.NAME: organisation["name"], ReviewOrganisationPage.Summary.TYPE: organisation["type"]["value"], ReviewOrganisationPage.Summary.EORI: organisation["eori_number"], ReviewOrganisationPage.Summary.SIC: organisation["sic_number"], ReviewOrganisationPage.Summary.VAT: organisation["vat_number"], ReviewOrganisationPage.Summary.REGISTRATION: organisation["registration_number"], ReviewOrganisationPage.Summary.SITE_NAME: organisation["primary_site"]["name"], ReviewOrganisationPage.Summary.SITE_ADDRESS: get_address(organisation["primary_site"]), }, ), RadioButtons( title=ReviewOrganisationPage.DECISION_TITLE, name="status", options=[ Option(key="active", value=ReviewOrganisationPage.APPROVE_OPTION), Option(key="rejected", value=ReviewOrganisationPage.REJECT_OPTION), ], ), ], )