Browse Source

Merge branch 'devel' into tmp_pay_forward

devel
Dmitry Novikov 8 years ago
parent
commit
05846c3648
  1. 23
      ip_pool/migrations/0002_change_unique.py
  2. 6
      ip_pool/models.py
  3. 4
      periodic.py

23
ip_pool/migrations/0002_change_unique.py

@ -0,0 +1,23 @@
# Generated by Django 2.1 on 2018-10-05 15:17
from django.db import migrations
import djing.fields
class Migration(migrations.Migration):
dependencies = [
('ip_pool', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='ipleasemodel',
name='mac_addr',
field=djing.fields.MACAddressField(blank=True, integer=True, null=True, verbose_name='Mac address'),
),
migrations.AlterUniqueTogether(
name='ipleasemodel',
unique_together={('ip', 'network', 'mac_addr')},
),
]

6
ip_pool/models.py

@ -156,14 +156,14 @@ class IpLeaseManager(models.Manager):
if lease_live_time is None:
raise ImproperlyConfigured('You must specify LEASE_LIVE_TIME in settings')
senility = now() - timedelta(seconds=lease_live_time)
return self.filter(lease_time__lt=senility, is_active=False)
return self.filter(lease_time__lt=senility)
class IpLeaseModel(models.Model):
ip = models.GenericIPAddressField(verbose_name=_('Ip address'), unique=True)
network = models.ForeignKey(NetworkModel, on_delete=models.CASCADE,
verbose_name=_('Parent network'), null=True, blank=True)
mac_addr = MACAddressField(verbose_name=_('Mac address'), null=True, blank=True, unique=True)
mac_addr = MACAddressField(verbose_name=_('Mac address'), null=True, blank=True)
lease_time = models.DateTimeField(_('Lease time'), auto_now_add=True)
is_dynamic = models.BooleanField(_('Is dynamic'), default=False)
is_active = models.BooleanField(_('Is active'), default=True)
@ -198,7 +198,7 @@ class IpLeaseModel(models.Model):
verbose_name = _('Employed ip')
verbose_name_plural = _('Employed ip addresses')
ordering = ('-id',)
unique_together = ('ip', 'network')
unique_together = ('ip', 'network', 'mac_addr')
# class LeasesHistory(models.Model):

4
periodic.py

@ -94,7 +94,7 @@ def main():
)
print(l.comment)
signals.pre_delete.connect(abontariff_pre_delete, sender=AbonTariff)
# signals.pre_delete.connect(abontariff_pre_delete, sender=AbonTariff)
# manage periodic pays
ppays = PeriodicPayForId.objects.filter(next_pay__lt=now) \
@ -103,7 +103,7 @@ def main():
pay.payment_for_service(now=now)
# Remove old inactive ip leases
IpLeaseModel.objects.expired().delete()
IpLeaseModel.objects.expired().filter(is_active=False).delete()
# sync subscribers on NAS
threads = tuple(NasSyncThread(nas) for nas in NASModel.objects.

Loading…
Cancel
Save