def init(self, request, **kwargs): self.object_pk = kwargs["pk"] application = get_application(self.request, self.object_pk) good, _ = get_good(request, kwargs["good_pk"]) self.form = good_on_application_form(request, good, application["case_type"]["sub_type"], self.object_pk) self.action = post_good_on_application self.success_url = reverse_lazy("applications:goods", kwargs={"pk": self.object_pk})
def get_success_url(self): good = get_good(self.request, self.object_pk, full_detail=True)[0] is_software_technology = good.get("item_category")["key"] in [ "group3_software", "group3_technology" ] # Next question information security if good is software/hardware if is_software_technology: if good.get("uses_information_security") is None: if "good_pk" in self.kwargs: return reverse_lazy( "applications:good_information_security", kwargs={ "pk": self.application_id, "good_pk": self.object_pk }, ) else: return reverse_lazy("goods:good_information_security", kwargs={"pk": self.object_pk}) # Next question good component if good is in category 1 if not good.get("is_component") and not is_software_technology: if "good_pk" in self.kwargs: return reverse_lazy("applications:good_component", kwargs={ "pk": self.application_id, "good_pk": self.object_pk }) else: return reverse_lazy("goods:good_component", kwargs={"pk": self.object_pk}) # Edit else: return return_to_good_summary(self.kwargs, self.application_id, self.object_pk)
def get(self, request, **kwargs): application_id = str(kwargs["pk"]) good_id = str(kwargs["good_pk"]) good = get_good(request, good_id, full_detail=True)[0] context = {"good": good, "application_id": application_id, "good_id": good_id} return render(request, "applications/goods/add-good-detail-summary.html", context)
def init(self, request, **kwargs): if "good_pk" in kwargs: # coming from the application self.object_pk = str(kwargs["good_pk"]) self.application_id = str(kwargs["pk"]) else: self.object_pk = str(kwargs["pk"]) self.data = get_good(request, self.object_pk)[0] self.form = edit_grading_form(request, self.object_pk) self.action = edit_good_pv_grading
def dispatch(self, request, *args, **kwargs): self.good_id = str(kwargs["pk"]) self.good = get_good(request, self.good_id, full_detail=True)[0] self.view_type = kwargs["type"] if self.view_type not in [ "case-notes", "ecju-queries", "ecju-generated-documents" ]: return Http404 return super(GoodsDetail, self).dispatch(request, *args, **kwargs)
def init(self, request, **kwargs): self.object_pk = str(kwargs["pk"]) good, _ = get_good(request, self.object_pk) raise_a_clc_query = "unsure" == good["is_good_controlled"]["key"] raise_a_pv_query = "grading_required" == good["is_pv_graded"]["key"] self.form = raise_a_goods_query(self.object_pk, raise_a_clc_query, raise_a_pv_query) self.action = raise_goods_query self.success_url = reverse_lazy("goods:good", kwargs={"pk": self.object_pk})
def get(self, request, **kwargs): good, status_code = get_good(request, str(kwargs['pk'])) good = good.get('good') context = { 'title': 'Add a pre-existing good to your application', 'page': forms.preexisting_good_form(good.get('id'), good.get('description'), good.get('control_code'), good.get('part_number')), } return render(request, 'form/form.html', context)
def dispatch(self, request, *args, **kwargs): self.case_id = str(kwargs["case_pk"]) self.object_type = kwargs["object_type"] self.ecju_query_id = str(kwargs["query_pk"]) self.ecju_query = get_ecju_query(request, self.case_id, self.ecju_query_id) if self.object_type == "good": self.extra_id = kwargs["extra_pk"] good, _ = get_good(request, self.extra_id, full_detail=True) self.case_id = good["case_id"] self.ecju_query = get_ecju_query(request, self.case_id, self.ecju_query_id) if self.object_type == "application": self.back_link = reverse_lazy("applications:application", kwargs={ "pk": self.case_id, "type": "ecju-queries" }) elif self.object_type == "good": self.back_link = reverse_lazy("goods:good_detail", kwargs={ "pk": self.extra_id, "type": "ecju-queries" }) elif self.object_type == "end-user-advisory": self.back_link = reverse_lazy("end_users:end_user_detail", kwargs={ "pk": self.case_id, "type": "ecju-queries" }) elif self.object_type == "compliance-site": self.back_link = reverse_lazy("compliance:compliance_site_details", kwargs={ "pk": self.case_id, "tab": "ecju-queries" }) elif self.object_type == "compliance-visit": self.extra_id = kwargs["extra_pk"] self.back_link = reverse_lazy( "compliance:compliance_visit_details", kwargs={ "site_case_id": self.extra_id, "pk": self.case_id, "tab": "ecju-queries" }, ) if self.ecju_query["response"]: return redirect(self.back_link) return super(RespondToQuery, self).dispatch(request, *args, **kwargs)
def get_success_url(self): good = get_good(self.request, self.object_pk, full_detail=True)[0] # Next question military use if not good.get("is_military_use"): if "good_pk" in self.kwargs: return reverse_lazy("applications:good_military_use", kwargs={ "pk": self.application_id, "good_pk": self.object_pk }) else: return reverse_lazy("goods:good_military_use", kwargs={"pk": self.object_pk}) # Edit else: return return_to_good_summary(self.kwargs, self.application_id, self.object_pk)
def get_success_url(self): good = get_good(self.request, self.object_pk, full_detail=True)[0] # Next question information security - boolean if good.get("uses_information_security") is None: if "good_pk" in self.kwargs: return reverse_lazy( "applications:good_information_security", kwargs={ "pk": self.application_id, "good_pk": self.object_pk }, ) else: return reverse_lazy("goods:good_information_security", kwargs={"pk": self.object_pk}) # Edit else: return return_to_good_summary(self.kwargs, self.application_id, self.object_pk)
def post(self, request, **kwargs): draft_id = request.GET.get('id') data, status_code = post_draft_preexisting_goods(request, draft_id, request.POST) if status_code != 201: good, status_code = get_good(request, str(kwargs['pk'])) good = good.get('good') context = { 'title': 'Add a pre-existing good to your application', 'page': forms.preexisting_good_form(good.get('id'), good.get('description'), good.get('control_code'), good.get('part_number')), 'body': request.POST, 'errors': data.get('errors'), } return render(request, 'form/form.html', context) return redirect(reverse_lazy('new_application:goods') + '?id=' + draft_id)
def get_success_url(self): if "good_pk" in self.kwargs: return reverse_lazy("applications:add_good_summary", kwargs={ "pk": self.application_id, "good_pk": self.object_pk }) good = get_good(self.request, self.object_pk, full_detail=True)[0] raise_a_clc_query = "unsure" == good["is_good_controlled"]["key"] raise_a_pv_query = "grading_required" == good["is_pv_graded"]["key"] if not good.get("documents") and not good.get( "missing_document_reason"): return reverse_lazy("goods:add_document", kwargs={"pk": self.object_pk}) elif raise_a_clc_query or raise_a_pv_query: return reverse_lazy("goods:raise_goods_query", kwargs={"pk": self.object_pk}) else: return reverse_lazy("goods:good", kwargs={"pk": self.object_pk})
def post(self, request, **kwargs): if self.view_type != "case-notes": return Http404 good_id = kwargs["pk"] data, _ = get_good(request, str(good_id), full_detail=True) response, _ = post_case_notes(request, data["case_id"], request.POST) if "errors" in response: return self.get(request, error=response["errors"]["text"][0], text=request.POST.get("text"), **kwargs) return redirect( reverse_lazy("goods:good_detail", kwargs={ "pk": good_id, "type": "case-notes" }))
def post(self, request, **kwargs): self.request.upload_handlers.insert(0, S3FileUploadHandler(request)) good_id = str(kwargs["pk"]) good, _ = get_good(request, good_id) data, error = add_document_data(request) if error: return error_page(request, error) data, status_code = post_good_documents(request, good_id, data) if status_code != HTTPStatus.CREATED: return error_page(request, data["errors"]["file"]) raise_a_clc_query = "unsure" == good["is_good_controlled"]["key"] raise_a_pv_query = "grading_required" == good["is_pv_graded"]["key"] if not (raise_a_clc_query or raise_a_pv_query): return redirect(reverse("goods:good", kwargs={"pk": good_id})) else: return redirect( reverse("goods:raise_goods_query", kwargs={"pk": good_id}))
def get(self, request, **kwargs): data, _ = get_good(request, str(kwargs["pk"])) return form_page(request, delete_good_form(data))