Browse Source

избавился от ip_pool

devel
Dmitry 9 years ago
parent
commit
1390de1dae
  1. 18
      abonapp/views.py

18
abonapp/views.py

@ -15,7 +15,6 @@ from tariff_app.models import Tariff
from agent import NasFailedResult, Transmitter, NasNetworkError from agent import NasFailedResult, Transmitter, NasNetworkError
from . import forms from . import forms
from . import models from . import models
from ip_pool.models import IpPoolItem
import mydefs import mydefs
from devapp.models import Device from devapp.models import Device
from datetime import datetime from datetime import datetime
@ -260,14 +259,7 @@ 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)
abon.ip_address = ip
except MultipleObjectsReturned:
ips = models.IpPoolItem.objects.filter(ip=ip_str)
one_ip = ips[0]
models.IpPoolItem.objects.filter(pk__in=[ip.pk for ip in ips if ip != one_ip]).delete()
abon.ip_address = one_ip
abon.ip_address = ip_str
else: else:
abon.ip_address = None abon.ip_address = None
frm.save() frm.save()
@ -278,14 +270,13 @@ def abonhome(request, gid, uid):
passw = models.AbonRawPassword.objects.get(account=abon).passw_text passw = models.AbonRawPassword.objects.get(account=abon).passw_text
frm = forms.AbonForm(instance=abon, initial={'password': passw}) frm = forms.AbonForm(instance=abon, initial={'password': passw})
abon_device = models.AbonDevice.objects.get(abon=abon) abon_device = models.AbonDevice.objects.get(abon=abon)
except IntegrityError as e:
messages.error(request, _('Ip address already exist. %s') % e)
except models.LogicError as e:
messages.error(request, e)
passw = models.AbonRawPassword.objects.get(account=abon).passw_text
frm = forms.AbonForm(instance=abon, initial={'password': passw}) frm = forms.AbonForm(instance=abon, initial={'password': passw})
except (NasFailedResult, NasNetworkError) as e: except (NasFailedResult, NasNetworkError) as e:
messages.error(request, e) messages.error(request, e)
except IpPoolItem.DoesNotExist:
messages.error(request, _('Ip address not found'))
except models.AbonRawPassword.DoesNotExist: except models.AbonRawPassword.DoesNotExist:
messages.warning(request, _('User has not have password, and cannot login')) messages.warning(request, _('User has not have password, and cannot login'))
except models.AbonDevice.DoesNotExist: except models.AbonDevice.DoesNotExist:
@ -300,6 +291,7 @@ def abonhome(request, gid, uid):
'abon': abon, 'abon': abon,
'abon_group': abon_group, 'abon_group': abon_group,
'ip': abon.ip_address, 'ip': abon.ip_address,
'is_bad_ip': getattr(abon, 'is_bad_ip', False),
'tech_form': forms.Opt82Form(instance=abon.opt82), 'tech_form': forms.Opt82Form(instance=abon.opt82),
'device': abon_device.device if abon_device is not None else None 'device': abon_device.device if abon_device is not None else None
}) })

Loading…
Cancel
Save