|
@@ -21,13 +21,15 @@ def validate_subnet(cidr):
|
|
|
class IPPool(models.Model):
|
|
|
"""Pool of IP addresses (either v4 or v6)."""
|
|
|
name = models.CharField(max_length=255, blank=False, null=False,
|
|
|
- help_text='Name of the IP pool')
|
|
|
+ verbose_name='nom',
|
|
|
+ help_text="Nom du pool d'IP")
|
|
|
default_subnetsize = models.PositiveSmallIntegerField(blank=False,
|
|
|
- verbose_name='default subnet size',
|
|
|
- help_text='Default subnet size to allocate to subscribers in this pool',
|
|
|
+ verbose_name='taille de sous-réseau par défaut',
|
|
|
+ help_text='Taille par défaut du sous-réseau à allouer aux abonnés dans ce pool',
|
|
|
validators=[MaxValueValidator(64)])
|
|
|
inet = CidrAddressField(validators=[validate_subnet],
|
|
|
- help_text="Address space to use")
|
|
|
+ verbose_name='réseau',
|
|
|
+ help_text="Bloc d'adresses IP du pool")
|
|
|
objects = NetManager()
|
|
|
|
|
|
def clean(self):
|
|
@@ -47,6 +49,10 @@ class IPPool(models.Model):
|
|
|
def __unicode__(self):
|
|
|
return self.name
|
|
|
|
|
|
+ class Meta:
|
|
|
+ verbose_name = "pool d'IP"
|
|
|
+ verbose_name_plural = "pools d'IP"
|
|
|
+
|
|
|
|
|
|
class IPSubnet(models.Model):
|
|
|
# TODO: find some way to signal to Subscriptions objects when a subnet
|
|
@@ -55,16 +61,20 @@ class IPSubnet(models.Model):
|
|
|
# Actually, a better idea would be to build a custom relation and update
|
|
|
# LDAP in the relation itself.
|
|
|
inet = CidrAddressField(blank=True, validators=[validate_subnet],
|
|
|
- verbose_name="subnet",
|
|
|
- help_text="Leave empty for automatic allocation")
|
|
|
+ verbose_name="sous-réseau",
|
|
|
+ help_text="Laisser vide pour allouer automatiquement")
|
|
|
objects = NetManager()
|
|
|
- ip_pool = models.ForeignKey(IPPool, verbose_name="IP pool")
|
|
|
+ ip_pool = models.ForeignKey(IPPool, verbose_name="pool d'IP")
|
|
|
configuration = models.ForeignKey('configuration.Configuration',
|
|
|
- related_name='ip_subnet')
|
|
|
- delegate_reverse_dns = models.BooleanField(default=False)
|
|
|
+ related_name='ip_subnet',
|
|
|
+ verbose_name='configuration')
|
|
|
+ delegate_reverse_dns = models.BooleanField(default=False,
|
|
|
+ verbose_name='déléguer le reverse DNS',
|
|
|
+ help_text='Déléguer la résolution DNS inverse de ce sous-réseau à un ou plusieurs serveurs de noms')
|
|
|
name_server = models.ManyToManyField('reverse_dns.NameServer',
|
|
|
blank=True,
|
|
|
- help_text="Nameserver to use for the delegation of reverse DNS")
|
|
|
+ verbose_name='serveur de noms',
|
|
|
+ help_text="Serveur de noms à qui déléguer la résolution DNS inverse")
|
|
|
|
|
|
def allocate(self):
|
|
|
"""Automatically allocate a free subnet"""
|
|
@@ -108,3 +118,7 @@ class IPSubnet(models.Model):
|
|
|
|
|
|
def __unicode__(self):
|
|
|
return str(self.inet)
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ verbose_name = "sous-réseau IP"
|
|
|
+ verbose_name_plural = "sous-réseaux IP"
|