Browse Source

Реализация формы для паспорта

devel
bashmak 9 years ago
parent
commit
77fe08a9f1
  1. 36
      abonapp/views.py

36
abonapp/views.py

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from json import dumps
from django.contrib.gis.shortcuts import render_to_text
from django.core.exceptions import PermissionDenied
from django.core.exceptions import PermissionDenied, MultipleObjectsReturned
from django.db import IntegrityError
from django.db.models import Count
from django.shortcuts import render, redirect, get_object_or_404, resolve_url
@ -256,8 +256,13 @@ def abonhome(request, gid, uid):
if abon.opt82 is None:
ip_str = request.POST.get('ip')
if ip_str:
ip = IpPoolItem.objects.get(ip=ip_str)
abon.ip_address = ip
try:
ip = IpPoolItem.objects.get(ip=ip_str)
abon.ip_address = ip
except MultipleObjectsReturned:
ips = models.IpPoolItem.objects.filter(ip=ip_str)
ips[1:].delete()
abon.ip_address = ips[0]
else:
abon.ip_address = None
frm.save()
@ -593,10 +598,31 @@ def task_log(request, gid, uid):
@login_required
@mydefs.only_admins
def passport_view(request, gid, uid):
abon = get_object_or_404(models.Abon, pk=uid)
try:
abon = models.Abon.objects.get(pk=uid)
if request.method == 'POST':
frm = forms.PassportForm(request.POST)
if frm.is_valid():
passp_instance = frm.save(commit=False)
passp_instance.abon = abon
passp_instance.save()
messages.success(request, _('Passport information has been saved'))
return redirect('abonapp:passport_view', gid=gid, uid=uid)
else:
messages.error(request, _('fix form errors'))
else:
passp_instance = models.PassportInfo.objects.get(abon=abon)
frm = forms.PassportForm(instance=passp_instance)
except models.Abon.DoesNotExist:
messages.error(request, _('Abon does not exist'))
return redirect('abonapp:people_list', gid=gid)
except models.PassportInfo.DoesNotExist:
messages.warning(request, _('Passport info for the user does not exist'))
frm = forms.PassportForm()
return render(request, 'abonapp/passport_view.html', {
'abon_group': get_object_or_404(models.AbonGroup, pk=gid),
'abon': abon
'abon': abon,
'frm': frm
})

Loading…
Cancel
Save