diff --git a/abonapp/models.py b/abonapp/models.py index c9e76b5..4935142 100644 --- a/abonapp/models.py +++ b/abonapp/models.py @@ -7,7 +7,6 @@ from django.utils.translation import ugettext as _ from agent import Transmitter, AbonStruct, TariffStruct, NasFailedResult, NasNetworkError from tariff_app.models import Tariff from accounts_app.models import UserProfile -from .fields import MACAddressField from mydefs import MyGenericIPAddressField, ip2int, LogicError, ip_addr_regex from djing import settings @@ -199,18 +198,6 @@ class ExtraFieldsModel(models.Model): db_table = 'abon_extra_fields' -class Opt82(models.Model): - mac = MACAddressField() - port = models.PositiveSmallIntegerField(default=0) - - def __str__(self): - return "%s-%d" % (self.mac, self.port) - - class Meta: - db_table = 'opt_82' - unique_together = (('mac', 'port'),) - - class Abon(UserProfile): current_tariffs = models.ManyToManyField(Tariff, through=AbonTariff) group = models.ForeignKey(AbonGroup, models.SET_NULL, blank=True, null=True) @@ -220,7 +207,9 @@ class Abon(UserProfile): street = models.ForeignKey(AbonStreet, on_delete=models.SET_NULL, null=True, blank=True) house = models.CharField(max_length=12, null=True, blank=True) extra_fields = models.ManyToManyField(ExtraFieldsModel, blank=True) - opt82 = models.ForeignKey(Opt82, null=True, blank=True, on_delete=models.SET_NULL) + device = models.ForeignKey('devapp.Device', null=True, blank=True, on_delete=models.SET_NULL) + dev_port = models.ForeignKey('devapp.Port', null=True, blank=True, on_delete=models.SET_NULL) + is_dynamic_ip = models.BooleanField(default=False) _act_tar_cache = None @@ -249,9 +238,6 @@ class Abon(UserProfile): self.ballance -= how_match_to_pay self.save(update_fields=['ballance']) - def is_dhcp(self): - return self.opt82 is not None - # Пополняем счёт def add_ballance(self, current_user, amount, comment): AbonLog.objects.create( @@ -347,18 +333,6 @@ class Abon(UserProfile): super(Abon, self).save(*args, **kwargs) -class AbonDevice(models.Model): - abon = models.ForeignKey(Abon) - device = models.ForeignKey('devapp.Device') - - def __str__(self): - return "%s - %s" % (self.abon, self.device) - - class Meta: - db_table = 'abon_device' - unique_together = ('abon', 'device') - - class PassportInfo(models.Model): series = models.CharField(max_length=4, validators=[validators.integer_validator]) number = models.CharField(max_length=6, validators=[validators.integer_validator]) @@ -436,7 +410,7 @@ class AbonRawPassword(models.Model): def abon_post_save(sender, instance, **kwargs): timeout = None - if hasattr(instance, 'is_dhcp') and instance.is_dhcp(): + if hasattr(instance, 'is_dhcp') and instance.is_dhcp: timeout = getattr(settings, 'DHCP_TIMEOUT', 14400) agent_abon = instance.build_agent_struct() if agent_abon is None: