def request_new(request): if request.method == 'POST': request_form = RequestForm(request.POST, request.FILES) if request_form.is_valid(): try: req = request_form.save(commit=False) req.owner = request.user try: req.save() gcode_process_out = subprocess.check_output( 'Slic3r/slic3r.pl ' + str(req.cad_file.path), shell=True, timeout=5) messages.success(request, "Solicitação recebida!") return redirect('request:Request_list') except subprocess.CalledProcessError as gcode_exception: req.delete() print("error code " + str(gcode_exception.returncode) + str(gcode_exception.output)) messages.error(request, "Arquivo STL não pôde ser validado!") except Exception as e: print(e) traceback.print_exc() messages.error(request, "Falha ao salvar solicitação!") else: request_form = RequestForm() return render(request, 'request/request_form.html', {'form': request_form})
def collection_requests(request, pk): try: collection = Collection.objects.get(pk=pk) requests = collection.request_set.all() except Collection.DoesNotExist: requests = [] if request.method == 'POST': data = {'meta': {'status': 'OK'}} requests = json.loads(request.body).get('requests', []) for req in requests: p = urlparse(req['url']['href']) req.update(dict(p._asdict())) req_instance = Request.objects.get(pk=req['pk']) form = RequestForm(req, instance=req_instance) if form.is_valid(): # need check permission form.save() else: data['meta']['status'] = 'error' return HttpResponse(content=json.dumps(data), status=400) else: data = { 'meta': { 'status': 'OK' }, 'data': [req.as_dict() for req in requests] } return HttpResponse(content=json.dumps(data), status=200)
def dispatch(self, request, *args, **kwargs): if self.request.method == "POST": flight_from = self.request.POST.get("flight_from") flight_to = self.request.POST.get("flight_to") departure_date = self.request.POST.get("departure_date") return_flight_date = self.request.POST.get("return_flight_date") amount_adults = self.request.POST.get("adults") amount_children = self.request.POST.get("children") travel_class = self.request.POST.get("travel_class") flight_type = self.request.POST.get("flight_type") phone = self.request.POST.get("phone") print(f"jo: {amount_adults}") form = RequestForm(self.request.POST) if form.is_valid() is True: body = "<strong>Abflug</strong><br/>" body += f" <strong>Von: </strong>: {flight_from}<br/>" body += f" <strong>Datum: </strong>: {departure_date}<br/>" body += "<strong>Ankunft</strong><br/>" body += f" <strong>In: </strong>: {flight_to}<br/>" body += "<strong>Rückflug</strong><br/>" body += f" <strong>Datum: </strong>: {return_flight_date}<br/>" body += f"<strong>Anzahl Erwachsene:</strong> {amount_adults}<br/>" body += f"<strong>Anzahl Kinder:</strong> {amount_children}<br/>" body += f"<strong>Reiseklasse:</strong> {travel_class}<br/>" body += f"<strong>{flight_type}</strong><br/>" body += f"<strong>Rufnummer: </strong>{phone}<br/>" email = EmailMessage(f"{flight_from} - {flight_to}", body, to=["*****@*****.**", "*****@*****.**", "*****@*****.**"]) email.content_subtype = "html" status = email.send() if status == 1: return JsonResponse(data={"message": "Email wurde erfolgreich abgesendet", "status": "SUCCESS"}, status=201, safe=False) else: return JsonResponse(data={"message": "Email konnte nicht abgesendet werden", "status": "FAILURE"}, status=500, safe=False) else: errors = {} for e in form.errors: errors[e] = form.errors[e] print(f"{e} : {errors[e]}") return JsonResponse(data={"message": "form_error", "errors": errors, "status": "FAILURE"}, status=400, safe=False)