Browse Source

hot fix ip addresses unique

devel
Dmitry Novikov 7 years ago
parent
commit
a17e175571
  1. 23
      abonapp/migrations/0007_auto_20181101_1545.py
  2. 3
      abonapp/models.py
  3. 6
      djing/lib/__init__.py
  4. 27
      gw_app/migrations/0002_auto_20181101_1545.py

23
abonapp/migrations/0007_auto_20181101_1545.py

@ -0,0 +1,23 @@
# Generated by Django 2.1 on 2018-11-01 15:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('gw_app', '0002_auto_20181101_1545'),
('abonapp', '0006_change_ip'),
]
operations = [
migrations.AlterField(
model_name='abon',
name='ip_address',
field=models.GenericIPAddressField(blank=True, null=True, verbose_name='Ip address'),
),
migrations.AlterUniqueTogether(
name='abon',
unique_together={('ip_address', 'nas')},
),
]

3
abonapp/models.py

@ -89,7 +89,7 @@ class Abon(BaseAccount):
current_tariff = models.OneToOneField(AbonTariff, null=True, blank=True, on_delete=models.SET_NULL, default=None) current_tariff = models.OneToOneField(AbonTariff, null=True, blank=True, on_delete=models.SET_NULL, default=None)
group = models.ForeignKey(Group, on_delete=models.SET_NULL, blank=True, null=True, verbose_name=_('User group')) group = models.ForeignKey(Group, on_delete=models.SET_NULL, blank=True, null=True, verbose_name=_('User group'))
ballance = models.FloatField(default=0.0) ballance = models.FloatField(default=0.0)
ip_address = models.GenericIPAddressField(verbose_name=_('Ip address'), unique=True, null=True, blank=True)
ip_address = models.GenericIPAddressField(verbose_name=_('Ip address'), null=True, blank=True)
description = models.TextField(_('Comment'), null=True, blank=True) description = models.TextField(_('Comment'), null=True, blank=True)
street = models.ForeignKey(AbonStreet, on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_('Street')) street = models.ForeignKey(AbonStreet, on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_('Street'))
house = models.CharField(_('House'), max_length=12, null=True, blank=True) house = models.CharField(_('House'), max_length=12, null=True, blank=True)
@ -138,6 +138,7 @@ class Abon(BaseAccount):
verbose_name = _('Abon') verbose_name = _('Abon')
verbose_name_plural = _('Abons') verbose_name_plural = _('Abons')
ordering = ('fio',) ordering = ('fio',)
unique_together = ('ip_address', 'nas')
def add_ballance(self, current_user, amount, comment): def add_ballance(self, current_user, amount, comment):
AbonLog.objects.create( AbonLog.objects.create(

6
djing/lib/__init__.py

@ -103,13 +103,9 @@ def check_sign(get_list, sign):
my_sign = calc_hash(hashed) my_sign = calc_hash(hashed)
return sign == my_sign return sign == my_sign
#
# only one process for function
#
class ProcessLocked(OSError): class ProcessLocked(OSError):
pass
"""only one process for function"""
def process_lock(fn): def process_lock(fn):

27
gw_app/migrations/0002_auto_20181101_1545.py

@ -0,0 +1,27 @@
# Generated by Django 2.1 on 2018-11-01 15:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('gw_app', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='nasmodel',
options={'ordering': ('ip_address',), 'verbose_name': 'Network access server. Gateway', 'verbose_name_plural': 'Network access servers. Gateways'},
),
migrations.AlterField(
model_name='nasmodel',
name='auth_login',
field=models.CharField(max_length=64, verbose_name='Auth login'),
),
migrations.AlterField(
model_name='nasmodel',
name='auth_passw',
field=models.CharField(max_length=127, verbose_name='Auth password'),
),
]
Loading…
Cancel
Save