Ejemplo n.º 1
0
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"]]
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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),
                ],
            ),
        ],
    )