diff options
Diffstat (limited to 'servo')
-rw-r--r-- | servo/models/order.py | 6 | ||||
-rwxr-xr-x | servo/templates/orders/devices.html | 5 | ||||
-rw-r--r-- | servo/views/gsx.py | 4 |
3 files changed, 10 insertions, 5 deletions
diff --git a/servo/models/order.py b/servo/models/order.py index 62333b5..d968068 100644 --- a/servo/models/order.py +++ b/servo/models/order.py @@ -268,9 +268,9 @@ class Order(models.Model): Adds device to order using serial number """ sn = sn.upper() - try: - device = Device.objects.get(sn=sn) - except Device.DoesNotExist: + device = Device.objects.filter(sn=sn).first() + + if device is None: device = Device.from_gsx(sn) device.save() diff --git a/servo/templates/orders/devices.html b/servo/templates/orders/devices.html index bab9689..fb98862 100755 --- a/servo/templates/orders/devices.html +++ b/servo/templates/orders/devices.html @@ -87,6 +87,11 @@ <li class="disabled"><a href="#">{% trans "Create Onsite Repair" %}</a></li> {% endif %} {% if order.can_create_carryin and device.can_create_carryin and 0 %} + <li><a href="{% url 'repairs-create_repair' order.id device.id 'WH' %}">{% trans "Create Mail-In Repair" %}</a></li> + {% else %} + <li class="disabled"><a href="#">{% trans "Create Mail-In Repair" %}</a></li> + {% endif %} + {% if order.can_create_carryin and device.can_create_carryin and 0 %} <li><a href="{% url 'repairs-create_repair' order.id device.id 'RR' %}">{% trans "Create Whole-Unit Exchange" %}</a></li> {% else %} <li class="disabled"><a href="#">{% trans "Create Whole-Unit Exchange" %}</a></li> diff --git a/servo/views/gsx.py b/servo/views/gsx.py index 0269462..908e9f5 100644 --- a/servo/views/gsx.py +++ b/servo/views/gsx.py @@ -75,12 +75,12 @@ def import_repair(request, order_pk, device_pk): form = ImportForm(request.POST) if form.is_valid(): confirmation = form.cleaned_data['confirmation'] - try: repair = Repair.create_from_gsx(confirmation, order, device, request.user) + messages.success(request, _('GSX repair %s imported successfully' % confirmation)) return redirect(repair) except Exception as e: messages.error(request, e) @@ -100,7 +100,7 @@ def return_label(request, repair, part): repair.connect_gsx(request.user) label_data = repair.get_return_label(part) return HttpResponse(label_data, content_type="application/pdf") - except gsxws.GsxError, e: + except gsxws.GsxError as e: messages.error(request, e) return redirect(repair.order) |