def get(self, request, **kwargs): status_props, _ = get_status_properties( request, self.application["status"]["key"]) context = { "case_id": self.application_id, "application": self.application, "type": self.view_type, "answers": { **convert_application_to_check_your_answers(self.application) }, "status_is_read_only": status_props["is_read_only"], "status_is_terminal": status_props["is_terminal"], "errors": kwargs.get("errors"), "text": kwargs.get("text", ""), } context["activity"] = get_activity(request, self.application_id) or {} if self.application.sub_type != HMRC: if self.view_type == "case-notes": context["notes"] = get_case_notes(request, self.case_id)["case_notes"] if self.view_type == "ecju-queries": context["open_queries"], context[ "closed_queries"] = get_application_ecju_queries( request, self.case_id) if self.view_type == "generated-documents": generated_documents, _ = get_case_generated_documents( request, self.application_id) context["generated_documents"] = generated_documents["results"] return render(request, "applications/application.html", context)
def get(self, request, **kwargs): application_id = str(kwargs["pk"]) application = get_application(request, application_id) notes = get_case_notes(request, application_id)["case_notes"] context = { "application": application, "notes": notes, "post_url": reverse_lazy("applications:notes", kwargs={"pk": application_id}), "error": kwargs.get("error"), "text": kwargs.get("text", ""), } return render(request, "applications/case-notes.html", context)
def get(self, request, **kwargs): context = { "case_id": self.application_id, "application": self.application, "answers": { **convert_application_to_check_your_answers(self.application, summary=True) }, "summary_page": True, "application_type": get_application_type_string(self.application), } if self.application.sub_type != HMRC: context["notes"] = get_case_notes(request, self.case_id)["case_notes"] if self.application.sub_type == STANDARD: context["reference_code"] = get_reference_number_description( self.application) return render(request, "applications/application.html", context)
def get(self, request, pk, tab, **kwargs): data = get_compliance_detail(request, pk) data["tab"] = tab if tab == "case-notes": data["notes"] = get_case_notes(request, str(pk))["case_notes"] elif tab == "ecju-queries": data["open_queries"], data[ "closed_queries"] = get_application_ecju_queries( request, str(pk)) elif tab == "generated-documents": generated_documents, _ = get_case_generated_documents( request, str(pk)) data["generated_documents"] = generated_documents["results"] elif tab == "visit-reports": data["visit_reports"] = get_case_visit_reports( request, str(pk), request.GET.get("page")) if kwargs.get("errors"): data["errors"] = kwargs["errors"] data["text"] = kwargs["text"] return render(request, "compliance/compliance/site-case.html", data)
def get(self, request, **kwargs): documents = get_good_documents(request, str(self.good_id)) context = { "good": self.good, "documents": documents, "type": self.view_type, "error": kwargs.get("error"), "text": kwargs.get("text", ""), } if self.good["query"]: context["case_id"] = self.good["query"]["id"] status_props, _ = get_status_properties( request, self.good["case_status"]["key"]) context["status_is_read_only"] = status_props["is_read_only"] context["status_is_terminal"] = status_props["is_terminal"] if self.view_type == "ecju-generated-documents": generated_documents, _ = get_case_generated_documents( request, self.good["query"]["id"]) context["generated_documents"] = generated_documents["results"] if self.view_type == "case-notes": if self.good.get("case_id"): case_notes = get_case_notes(request, self.good["case_id"])["case_notes"] context["notes"] = filter( lambda note: note["is_visible_to_exporter"], case_notes) if self.view_type == "ecju-queries": context["open_queries"], context[ "closed_queries"] = get_application_ecju_queries( request, self.good["case_id"]) return render(request, "goods/good.html", context)
def get(self, request, **kwargs): context = { "case_id": self.case_id, "end_user_advisory": self.end_user_advisory, "type": self.view_type, "error": kwargs.get("error"), "text": kwargs.get("text", ""), } if self.view_type == "case-notes": case_notes = get_case_notes(request, self.case_id)["case_notes"] context["notes"] = case_notes if self.view_type == "ecju-queries": context["open_queries"], context[ "closed_queries"] = get_application_ecju_queries( request, self.case_id) if self.view_type == "ecju-generated-documents": generated_documents, _ = get_case_generated_documents( request, self.case_id) context["generated_documents"] = generated_documents["results"] return render(request, "end-users/end-user.html", context)
def get_application_task_list(request, application, errors=None): user_permissions = get_user_permissions(request) additional_documents, _ = get_additional_documents(request, application["id"]) sites, _ = get_sites_on_draft(request, application["id"]) external_locations, _ = get_external_locations_on_draft( request, application["id"]) application_type = application.sub_type is_editing, edit_type = get_edit_type(application) context = { "strings": _get_strings(application_type), "application": application, "application_type": application_type, "is_editing": is_editing, "edit_type": edit_type, "licence_type": get_application_type_string(application), "errors": errors, } if application_type == HMRC: context["locations"] = application["goods_locations"] or application[ "have_goods_departed"] return render(request, "applications/hmrc-application.html", context) context[ "can_submit"] = Permissions.SUBMIT_LICENCE_APPLICATION in user_permissions context["supporting_documents"] = additional_documents["documents"] context["locations"] = sites["sites"] or external_locations[ "external_locations"] context["notes"] = get_case_notes(request, application["id"])["case_notes"] if application_type == STANDARD: context[ "reference_number_description"] = get_reference_number_description( application) context["route_of_goods"] = get_route_of_goods(application) if _is_application_export_type_temporary(application): context["temporary_export_details"] = get_temporary_export_details( application) elif application_type == OPEN: context["countries"] = [ country_entry["country_id"] for country_entry in get_application_countries_and_contract_types( request, application["id"])["countries"] ] context["goodstypes"] = application["goods_types"] if _is_application_export_type_temporary(application): context["temporary_export_details"] = get_temporary_export_details( application) goods_types = application.get("goods_types") if goods_types: destination_countries = [ goods_type["countries"] for goods_type in goods_types ][0] context["destinations"] = set( [destination["id"] for destination in destination_countries]) if application["goodstype_category"][ "key"] == GoodsTypeCategory.MILITARY: context["ultimate_end_users_required"] = True in [ goods_type["is_good_incorporated"] for goods_type in goods_types ] context["route_of_goods"] = get_route_of_goods(application) context[ "is_oicl_appplication"] = application.type_reference == CaseTypes.OICL if application.get("goodstype_category"): goodstype_category = application.get("goodstype_category").get( "key") context["is_uk_continental_shelf_application"] = ( goodstype_category == GoodsTypeCategory.UK_CONTINENTAL_SHELF) countries_and_contract_types = get_application_countries_and_contract_types( request, application["id"])["countries"] if context["is_uk_continental_shelf_application"]: context["countries_missing_contract_types"] = [ entry["country_id"] for entry in countries_and_contract_types if not entry["contract_types"] ] context[ "is_crypto_application"] = goodstype_category == GoodsTypeCategory.CRYPTOGRAPHIC context[ "is_military_dual_use_application"] = goodstype_category == GoodsTypeCategory.MILITARY context[ "oiel_noneditable_countries"] = OielLicenceTypes.is_non_editable_country( goodstype_category) # Check if contract types include 'nuclear_related' and set attribute end_user_mandatory contract_types = [] for country in countries_and_contract_types: if country["contract_types"]: contract_types.extend(country["contract_types"].split(",")) context["end_user_mandatory"] = "nuclear_related" in set( contract_types) if not application_type == OPEN: context["goods"] = get_application_goods(request, application["id"]) context["ultimate_end_users_required"] = True in [ good["is_good_incorporated"] for good in context["goods"] ] return render(request, "applications/task-list.html", context)