Browse Source

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

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

32
abonapp/views.py

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from json import dumps from json import dumps
from django.contrib.gis.shortcuts import render_to_text 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 import IntegrityError
from django.db.models import Count from django.db.models import Count
from django.shortcuts import render, redirect, get_object_or_404, resolve_url 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: if abon.opt82 is None:
ip_str = request.POST.get('ip') ip_str = request.POST.get('ip')
if ip_str: if ip_str:
try:
ip = IpPoolItem.objects.get(ip=ip_str) ip = IpPoolItem.objects.get(ip=ip_str)
abon.ip_address = ip abon.ip_address = ip
except MultipleObjectsReturned:
ips = models.IpPoolItem.objects.filter(ip=ip_str)
ips[1:].delete()
abon.ip_address = ips[0]
else: else:
abon.ip_address = None abon.ip_address = None
frm.save() frm.save()
@ -593,10 +598,31 @@ def task_log(request, gid, uid):
@login_required @login_required
@mydefs.only_admins @mydefs.only_admins
def passport_view(request, gid, uid): 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', { return render(request, 'abonapp/passport_view.html', {
'abon_group': get_object_or_404(models.AbonGroup, pk=gid), 'abon_group': get_object_or_404(models.AbonGroup, pk=gid),
'abon': abon
'abon': abon,
'frm': frm
}) })

Loading…
Cancel
Save