From 8f201cf137eeb0a821f2fe0df04986d91a4d0f71 Mon Sep 17 00:00:00 2001 From: http Date: Fri, 14 Apr 2017 14:24:43 +0300 Subject: [PATCH] =?UTF-8?q?FIXBUG:=20=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=81=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20opt82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- abonapp/views.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/abonapp/views.py b/abonapp/views.py index 1573f7d..69c3dcf 100644 --- a/abonapp/views.py +++ b/abonapp/views.py @@ -309,27 +309,30 @@ def opt82(request, gid, uid): try: abon = models.Abon.objects.get(pk=uid) if request.method == 'POST': - if abon.opt82 is None: + try: + opt82_instance = models.Opt82.objects.get( + mac=request.POST.get('mac'), + port=request.POST.get('port') + ) + except models.Opt82.DoesNotExist: frm = forms.Opt82Form(request.POST) - else: - frm = forms.Opt82Form(request.POST, instance=abon.opt82) - if frm.is_valid(): - abon.opt82 = frm.save() - abon.save(update_fields=['opt82']) - else: - messages.error(request, _('fix form errors')) + if frm.is_valid(): + opt82_instance = frm.save() + else: + messages.error(request, _('fix form errors')) + return redirect('abonapp:abon_home', gid=gid, uid=uid) + + abon.opt82 = opt82_instance else: act = request.GET.get('act') if act is not None and act == 'release': if abon.opt82 is not None: abon.opt82.delete() abon.opt82 = None - abon.save(update_fields=['opt82']) + abon.save(update_fields=['opt82']) except models.Abon.DoesNotExist: messages.error(request, _('User does not exist')) - except models.Opt82.DoesNotExist: - messages.error(request, _('')) return redirect('abonapp:abon_home', gid=gid, uid=uid)