From 5db340c9b85887a03cf1010399776b840b8bda8e Mon Sep 17 00:00:00 2001 From: Filipp Lepalaan Date: Thu, 10 Sep 2015 14:19:40 +0300 Subject: Added GSX repair import --- servo/views/gsx.py | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'servo/views/gsx.py') diff --git a/servo/views/gsx.py b/servo/views/gsx.py index 1e20354..0269462 100644 --- a/servo/views/gsx.py +++ b/servo/views/gsx.py @@ -34,7 +34,7 @@ from django.shortcuts import render, redirect, get_object_or_404 from django.contrib.auth.decorators import permission_required from servo.models import Order, GsxAccount, Repair, ServicePart -from servo.forms import GsxCustomerForm, GsxRepairForm, GsxComponentForm +from servo.forms import GsxCustomerForm, GsxRepairForm, GsxComponentForm, ImportForm class RepairDetails(object): @@ -56,15 +56,37 @@ def register_return(request, part_id): try: part.register_for_return(request.user) messages.success(request, _(u"Part %s updated") % part.order_item.code) - except Exception, e: + except Exception as e: messages.error(request, e) return redirect(part.repair.order) @permission_required("servo.change_repair") -def import_repair(request, pk): - pass +def import_repair(request, order_pk, device_pk): + from servo.models import Device + order = get_object_or_404(Order, pk=order_pk) + device = get_object_or_404(Device, pk=device_pk) + + action = request.path + form = ImportForm() + + if request.method == 'POST': + form = ImportForm(request.POST) + if form.is_valid(): + confirmation = form.cleaned_data['confirmation'] + + try: + repair = Repair.create_from_gsx(confirmation, + order, + device, + request.user) + return redirect(repair) + except Exception as e: + messages.error(request, e) + return redirect(order) + + return render(request, "repairs/import_repair.html", locals()) @permission_required("servo.change_order") @@ -309,7 +331,7 @@ def create_repair(request, order_id, device_id, type): try: repair.gsx_account = GsxAccount.default(request.user, order.queue) - except Exception, e: + except Exception as e: messages.error(request, e) return redirect(order) -- cgit v1.2.3