diff --git a/devapp/templates/devapp/add_dev.html b/devapp/templates/devapp/add_dev.html index 5cd2f4e..4838e99 100644 --- a/devapp/templates/devapp/add_dev.html +++ b/devapp/templates/devapp/add_dev.html @@ -37,7 +37,15 @@
- {{ form.mac_addr }}{{ form.mac_addr.errors }} + {{ form.mac_addr }} + {% if already_dev %} + + + {% for err in form.mac_addr.errors %}{{ err }}{% endfor %} + {{ already_dev.comment }} + + + {% endif %}
@@ -99,4 +107,4 @@ -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/devapp/views.py b/devapp/views.py index d3b124a..f8faf8b 100644 --- a/devapp/views.py +++ b/devapp/views.py @@ -75,6 +75,7 @@ def devdel(request, did): def dev(request, grp, devid=0): devinst = get_object_or_404(Device, id=devid) if devid != 0 else None user_group = get_object_or_404(AbonGroup, pk=grp) + already_dev = None if request.method == 'POST': if devid == 0: @@ -85,10 +86,14 @@ def dev(request, grp, devid=0): raise PermissionDenied frm = DeviceForm(request.POST, instance=devinst) if frm.is_valid(): - frm.save() + ndev = frm.save() messages.success(request, _('Device info has been saved')) - return redirect('devapp:devs', grp) + return redirect('devapp:edit', grp, ndev.pk) else: + try: + already_dev = Device.objects.get(mac_addr=request.POST.get('mac_addr')) + except Device.DoesNotExist: + pass messages.error(request, _('Form is invalid, check fields and try again')) else: if devinst is None: @@ -106,7 +111,8 @@ def dev(request, grp, devid=0): if devinst is None: return render(request, 'devapp/add_dev.html', { 'form': frm, - 'group': user_group + 'group': user_group, + 'already_dev': already_dev }) else: return render(request, 'devapp/dev.html', {