def put(self, request, pk, format=None): uid = request.user.id body = request.data if not body: return HttpResponseBadRequest("Missing request body") app = get_app_object(pk, uid) if not app: return HttpResponseNotFound("No record found") (steps_key_id, steps_enc) = self.encrypt_steps(body["steps"]) app.last_updated = timezone.now() app.app_type = body.get("type") app.current_step = body.get("currentStep") app.steps = steps_enc app.user_type = body.get("userType") app.applicant_name = body.get("applicantName") app.user_name = body.get("userName") app.deceased_name = body.get("deceasedName") app.deceased_date_of_death = body.get("deceasedDateOfDeath") app.date_of_will = body.get("dateOfWill") app.application_location = body.get("applicationLocation") app.save() return Response("success")
def put(self, request, pk, format=None): uid = request.user.id body = request.data if not body: return HttpResponseBadRequest("Missing request body") app = get_app_object(pk, uid) if not app: return HttpResponseNotFound("No record found") (steps_key_id, steps_enc) = self.encrypt_steps(body["steps"]) app.last_updated = timezone.now() app.app_type = body.get("type") app.current_step = body.get("currentStep") app.steps = steps_enc app.user_type = body.get("userType") app.applicant_name = body.get("applicantName") app.user_name = body.get("userName") app.respondent_name = body.get("respondentName") app.protected_party_name = body.get("protectedPartyName") app.protected_child_name = body.get("protectedChildName") app.application_location = body.get("applicationLocation") app.save() return Response("success")
def post(self, request, pk, name=None): data = request.data uid = request.user.id app = get_app_object(pk, uid) if not app: return HttpResponseNotFound("No record found") name = request.query_params.get("name") try: pdf_result = self.get_pdf(pk) if not pdf_result: pdf_content = self.generate_pdf(name, data) (pdf_key_id, pdf_content_enc) = settings.ENCRYPTOR.encrypt(pdf_content) pdf_response = PreparedPdf(data=pdf_content_enc, key_id=pdf_key_id) pdf_response.save() app.prepared_pdf_id = pdf_response.pk elif app.last_printed is None or app.last_updated > app.last_printed: pdf_queryset = PreparedPdf.objects.filter(id=pdf_result.id) pdf_content = self.generate_pdf(name, data) (pdf_key_id, pdf_content_enc) = settings.ENCRYPTOR.encrypt(pdf_content) pdf_queryset.update(data=pdf_content_enc) pdf_queryset.update(created_date=timezone.now()) else: pdf_content = self.generate_pdf(name, data) # pdf_content = settings.ENCRYPTOR.decrypt( # pdf_result.key_id, pdf_result.data # ) app.last_printed = timezone.now() app.save() except Exception as ex: LOGGER.error("ERROR: Pdf generation failed %s", ex) raise response = HttpResponse(content_type='application/pdf') response['Content-Disposition'] = 'attachment; filename="report.pdf"' response.write(pdf_content) return response
def get(self, request, pk, format=None): uid = request.user.id application = get_app_object(pk, uid) steps_dec = settings.ENCRYPTOR.decrypt(application.key_id, application.steps) steps = json.loads(steps_dec) data = {"id": application.id, "type": application.app_type, "steps": steps, "lastUpdate": application.last_updated, "lastFiled": application.last_filed, "lastPrinted": application.last_printed, "currentStep": application.current_step, "allCompleted": application.all_completed, "userType": application.user_type, "userName": application.user_name, "userId": application.user_id, "applicantName": application.applicant_name, "deceasedName": application.deceased_name, "deceasedDateOfDeath": application.deceased_date_of_death, "dateOfWill": application.date_of_will, "applicationLocation": application.application_location} return Response(data)
def get(self, request, pk, format=None): uid = request.user.id application = get_app_object(pk, uid) steps_dec = settings.ENCRYPTOR.decrypt(application.key_id, application.steps) steps = json.loads(steps_dec) data = {"id": application.id, "type": application.app_type, "steps": steps, "lastUpdate": application.last_updated, "lastFiled": application.last_filed, "lastPrinted": application.last_printed, "currentStep": application.current_step, "allCompleted": application.all_completed, "userType": application.user_type, "userName": application.user_name, "userId": application.user_id, "applicantName": application.applicant_name, "respondentName": application.respondent_name, "protectedPartyName": application.protected_party_name, "protectedChildName": application.protected_child_name, "applicationLocation": application.application_location} return Response(data)
def delete(self, request, pk, format=None): uid = request.user.id application = get_app_object(pk, uid) application.delete() return Response(status=status.HTTP_204_NO_CONTENT)