diff --git a/machines/acl.py b/machines/acl.py
index 55b48145..1989a788 100644
--- a/machines/acl.py
+++ b/machines/acl.py
@@ -41,6 +41,7 @@ def can_view(user):
can = user.has_module_perms("machines")
return (
can,
- None if can else _("You don't have the right to view this" " application."),
+ None if can else _("You don't have the right to view this"
+ " application."),
("machines",),
)
diff --git a/machines/models.py b/machines/models.py
index 8b83e256..7b548cfb 100644
--- a/machines/models.py
+++ b/machines/models.py
@@ -68,7 +68,7 @@ class Machine(RevMixin, FieldPermissionModelMixin, models.Model):
user = models.ForeignKey("users.User", on_delete=models.CASCADE)
name = models.CharField(
- max_length=255, help_text=_("Optional"), blank=True, null=True
+ max_length=255, help_text=_("Optional."), blank=True, null=True
)
active = models.BooleanField(default=True)
@@ -157,7 +157,8 @@ class Machine(RevMixin, FieldPermissionModelMixin, models.Model):
if user != user_request:
return (
False,
- _("You don't have the right to add a machine" " to another user."),
+ _("You don't have the right to add a machine to another"
+ " user."),
("machines.add_machine",),
)
if user.user_interfaces().count() >= max_lambdauser_interfaces:
@@ -185,7 +186,8 @@ class Machine(RevMixin, FieldPermissionModelMixin, models.Model):
if not (user_request.has_perm("machines.change_interface") and can_user):
return (
False,
- _("You don't have the right to edit a machine" " of another user."),
+ _("You don't have the right to edit a machine of another"
+ " user."),
("machines.change_interface",) + permissions,
)
return True, None, None
@@ -223,7 +225,8 @@ class Machine(RevMixin, FieldPermissionModelMixin, models.Model):
):
return (
False,
- _("You don't have the right to view other machines" " than yours."),
+ _("You don't have the right to view other machines than"
+ " yours."),
("machines.view_machine",),
)
return True, None, None
@@ -358,22 +361,22 @@ class IpType(RevMixin, AclMixin, models.Model):
protocol="IPv4",
null=True,
blank=True,
- help_text=_("Network containing the domain's IPv4 range (optional)"),
+ help_text=_("Network containing the domain's IPv4 range (optional)."),
)
domaine_ip_netmask = models.IntegerField(
default=24,
validators=[MaxValueValidator(31), MinValueValidator(8)],
- help_text=_("Netmask for the domain's IPv4 range"),
+ help_text=_("Netmask for the domain's IPv4 range."),
)
reverse_v4 = models.BooleanField(
- default=False, help_text=_("Enable reverse DNS for IPv4")
+ default=False, help_text=_("Enable reverse DNS for IPv4.")
)
prefix_v6 = models.GenericIPAddressField(protocol="IPv6", null=True, blank=True)
prefix_v6_length = models.IntegerField(
default=64, validators=[MaxValueValidator(128), MinValueValidator(0)]
)
reverse_v6 = models.BooleanField(
- default=False, help_text=_("Enable reverse DNS for IPv6")
+ default=False, help_text=_("Enable reverse DNS for IPv6.")
)
vlan = models.ForeignKey("Vlan", on_delete=models.PROTECT, blank=True, null=True)
ouverture_ports = models.ForeignKey("OuverturePortList", blank=True, null=True)
@@ -553,7 +556,8 @@ class IpType(RevMixin, AclMixin, models.Model):
for element in IpType.objects.all().exclude(pk=self.pk):
if not self.ip_set.isdisjoint(element.ip_set):
raise ValidationError(
- _("The specified range is not disjoint" " from existing ranges.")
+ _("The specified range is not disjoint from existing"
+ " ranges.")
)
# On formate le prefix v6
if self.prefix_v6:
@@ -604,8 +608,8 @@ class Vlan(RevMixin, AclMixin, models.Model):
arp_protect = models.BooleanField(default=False)
dhcp_snooping = models.BooleanField(default=False)
dhcpv6_snooping = models.BooleanField(default=False)
- igmp = models.BooleanField(default=False, help_text=_("v4 multicast management"))
- mld = models.BooleanField(default=False, help_text=_("v6 multicast management"))
+ igmp = models.BooleanField(default=False, help_text=_("v4 multicast management."))
+ mld = models.BooleanField(default=False, help_text=_("v6 multicast management."))
class Meta:
permissions = (("view_vlan", _("Can view a VLAN object")),)
@@ -653,30 +657,30 @@ class SOA(RevMixin, AclMixin, models.Model):
"""
name = models.CharField(max_length=255)
- mail = models.EmailField(help_text=_("Contact email address for the zone"))
+ mail = models.EmailField(help_text=_("Contact email address for the zone."))
refresh = models.PositiveIntegerField(
default=86400, # 24 hours
help_text=_(
"Seconds before the secondary DNS have to ask the primary"
- " DNS serial to detect a modification"
+ " DNS serial to detect a modification."
),
)
retry = models.PositiveIntegerField(
default=7200, # 2 hours
help_text=_(
"Seconds before the secondary DNS ask the serial again in"
- " case of a primary DNS timeout"
+ " case of a primary DNS timeout."
),
)
expire = models.PositiveIntegerField(
default=3600000, # 1000 hours
help_text=_(
"Seconds before the secondary DNS stop answering requests"
- " in case of primary DNS timeout"
+ " in case of primary DNS timeout."
),
)
ttl = models.PositiveIntegerField(
- default=172800, help_text=_("Time to Live") # 2 days
+ default=172800, help_text=_("Time To Live.") # 2 days
)
class Meta:
@@ -732,7 +736,7 @@ class Extension(RevMixin, AclMixin, models.Model):
name = models.CharField(
max_length=255,
unique=True,
- help_text=_("Zone name, must begin with a dot (.example.org)"),
+ help_text=_("Zone name, must begin with a dot (.example.org)."),
)
need_infra = models.BooleanField(default=False)
origin = models.ForeignKey(
@@ -740,17 +744,17 @@ class Extension(RevMixin, AclMixin, models.Model):
on_delete=models.PROTECT,
blank=True,
null=True,
- help_text=_("A record associated with the zone"),
+ help_text=_("A record associated with the zone."),
)
origin_v6 = models.GenericIPAddressField(
protocol="IPv6",
null=True,
blank=True,
- help_text=_("AAAA record associated with the zone"),
+ help_text=_("AAAA record associated with the zone."),
)
soa = models.ForeignKey("SOA", on_delete=models.CASCADE)
dnssec = models.BooleanField(
- default=False, help_text=_("Should the zone be signed with DNSSEC")
+ default=False, help_text=_("Should the zone be signed with DNSSEC.")
)
class Meta:
@@ -819,7 +823,7 @@ class Extension(RevMixin, AclMixin, models.Model):
can = user_request.has_perm("machines.use_all_extension")
return (
can,
- _("You cannot use all extensions.") if not can else None,
+ _("You don't have the right to use all extensions.") if not can else None,
("machines.use_all_extension",),
)
@@ -943,7 +947,7 @@ class Srv(RevMixin, AclMixin, models.Model):
)
extension = models.ForeignKey("Extension", on_delete=models.PROTECT)
ttl = models.PositiveIntegerField(
- default=172800, help_text=_("Time to Live") # 2 days
+ default=172800, help_text=_("Time To Live.") # 2 days
)
priority = models.PositiveIntegerField(
default=0,
@@ -951,7 +955,7 @@ class Srv(RevMixin, AclMixin, models.Model):
help_text=_(
"Priority of the target server (positive integer value,"
" the lower it is, the more the server will be used if"
- " available)"
+ " available)."
),
)
weight = models.PositiveIntegerField(
@@ -959,14 +963,14 @@ class Srv(RevMixin, AclMixin, models.Model):
validators=[MaxValueValidator(65535)],
help_text=_(
"Relative weight for records with the same priority"
- " (integer value between 0 and 65535)"
+ " (integer value between 0 and 65535)."
),
)
port = models.PositiveIntegerField(
- validators=[MaxValueValidator(65535)], help_text=_("TCP/UDP port")
+ validators=[MaxValueValidator(65535)], help_text=_("TCP/UDP port.")
)
target = models.ForeignKey(
- "Domain", on_delete=models.PROTECT, help_text=_("Target server")
+ "Domain", on_delete=models.PROTECT, help_text=_("Target server.")
)
class Meta:
@@ -1023,10 +1027,10 @@ class SshFp(RevMixin, AclMixin, models.Model):
)
machine = models.ForeignKey("Machine", on_delete=models.CASCADE)
- pub_key_entry = models.TextField(help_text=_("SSH public key"), max_length=2048)
+ pub_key_entry = models.TextField(help_text=_("SSH public key."), max_length=2048)
algo = models.CharField(choices=ALGO, max_length=32)
comment = models.CharField(
- help_text=_("Comment"), max_length=255, null=True, blank=True
+ help_text=_("Comment."), max_length=255, null=True, blank=True
)
@cached_property
@@ -1128,7 +1132,7 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
oui = mac.oui
vendor = oui.registration().org
except NotRegisteredError:
- vendor = "Unknown vendor"
+ vendor = _("Unknown vendor.")
return vendor
def sync_ipv6_dhcpv6(self):
@@ -1201,7 +1205,7 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
self.ipv4 = free_ips[0]
else:
raise ValidationError(
- _("There is no IP address available in the" " slash.")
+ _("There are no IP addresses available in the slash.")
)
return
@@ -1214,7 +1218,7 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
"""Unassign ipv4 to multiple interfaces"""
with transaction.atomic(), reversion.create_revision():
interface_list.update(ipv4=None)
- reversion.set_comment(_("IPv4 unassigning"))
+ reversion.set_comment("IPv4 unassignment")
@classmethod
def mass_assign_ipv4(cls, interface_list):
@@ -1222,7 +1226,7 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
with transaction.atomic(), reversion.create_revision():
interface.assign_ipv4()
interface.save()
- reversion.set_comment(_("IPv4 assigning"))
+ reversion.set_comment("IPv4 assignment")
def update_type(self):
""" Lorsque le machinetype est changé de type d'ip, on réassigne"""
@@ -1267,7 +1271,7 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
)
if interfaces_similar and interfaces_similar.first() != self:
raise ValidationError(
- _("Mac address already registered in this Machine Type/Subnet")
+ _("MAC address already registered in this machine type/subnet.")
)
def save(self, *args, **kwargs):
@@ -1276,7 +1280,7 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
if self.ipv4:
if self.machine_type.ip_type != self.ipv4.ip_type:
raise ValidationError(
- _("The IPv4 address and the machine type" " don't match.")
+ _("The IPv4 address and the machine type don't match.")
)
self.validate_unique()
super(Interface, self).save(*args, **kwargs)
@@ -1296,7 +1300,7 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
if not (
preferences.models.OptionalMachine.get_cached_value("create_machine")
):
- return False, _("You can't add a machine."), ("machines.add_interface",)
+ return False, _("You don't have the right to add a machine."), ("machines.add_interface",)
max_lambdauser_interfaces = preferences.models.OptionalMachine.get_cached_value(
"max_lambdauser_interfaces"
)
@@ -1328,7 +1332,7 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
can = user_request.has_perm("machines.change_interface_machine")
return (
can,
- _("Permission required to edit the machine.") if not can else None,
+ _("You don't have the right to edit the machine.") if not can else None,
("machines.change_interface_machine",),
)
@@ -1345,7 +1349,8 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
if not (user_request.has_perm("machines.change_interface") and can_user):
return (
False,
- _("You don't have the right to edit a machine of" " another user."),
+ _("You don't have the right to edit a machine of another"
+ " user."),
("machines.change_interface",) + permissions,
)
return True, None, None
@@ -1363,7 +1368,8 @@ class Interface(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
if not (user_request.has_perm("machines.change_interface") and can_user):
return (
False,
- _("You don't have the right to edit a machine of" " another user."),
+ _("You don't have the right to edit a machine of another"
+ " user."),
("machines.change_interface",) + permissions,
)
return True, None, None
@@ -1411,7 +1417,7 @@ class Ipv6List(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
("view_ipv6list", _("Can view an IPv6 addresses list object")),
(
"change_ipv6list_slaac_ip",
- _("Can change the SLAAC value of an" " IPv6 addresses list"),
+ _("Can change the SLAAC value of an IPv6 addresses list"),
),
)
verbose_name = _("IPv6 addresses list")
@@ -1446,7 +1452,7 @@ class Ipv6List(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
can = user_request.has_perm("machines.change_ipv6list_slaac_ip")
return (
can,
- _("Permission required to change the SLAAC value of an IPv6" " address")
+ _("You don't have the right to change the SLAAC value of an IPv6 address.")
if not can
else None,
("machines.change_ipv6list_slaac_ip",),
@@ -1465,7 +1471,7 @@ class Ipv6List(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
if not (user_request.has_perm("machines.change_ipv6list") and can_user):
return (
False,
- _("You don't have the right to edit a machine of" " another user."),
+ _("You don't have the right to edit a machine of another user."),
("machines.change_ipv6list",),
)
return True, None, None
@@ -1483,7 +1489,7 @@ class Ipv6List(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
if not (user_request.has_perm("machines.change_ipv6list") and can_user):
return (
False,
- _("You don't have the right to edit a machine of" " another user."),
+ _("You don't have the right to edit a machine of another user."),
("machines.change_ipv6list",) + permissions,
)
return True, None, None
@@ -1587,7 +1593,7 @@ class Domain(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
unique_together = (("name", "extension"),)
permissions = (
("view_domain", _("Can view a domain object")),
- ("change_ttl", _("Can change TTL of a domain object")),
+ ("change_ttl", _("Can change the TTL of a domain object")),
)
verbose_name = _("domain")
verbose_name_plural = _("domains")
@@ -1612,20 +1618,20 @@ class Domain(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
if self.get_extension():
self.extension = self.get_extension()
if self.interface_parent and self.cname:
- raise ValidationError(_("You can't create a both A and CNAME" " record."))
+ raise ValidationError(_("You can't create a both A and CNAME record."))
if self.cname == self:
raise ValidationError(
- _("You can't create a CNAME record pointing" " to itself.")
+ _("You can't create a CNAME record pointing to itself.")
)
HOSTNAME_LABEL_PATTERN = re.compile(r"(?!-)[A-Z\d-]+(? 63:
raise ValidationError(
- _("The domain name %s is too long (over 63" " characters).") % dns
+ _("The domain name %s is too long (over 63 characters).") % dns
)
if not HOSTNAME_LABEL_PATTERN.match(dns):
raise ValidationError(
- _("The domain name %s contains forbidden" " characters.") % dns
+ _("The domain name %s contains forbidden characters.") % dns
)
self.validate_unique()
super(Domain, self).clean()
@@ -1753,7 +1759,8 @@ class Domain(RevMixin, AclMixin, FieldPermissionModelMixin, models.Model):
):
return (
False,
- _("You don't have the right to view machines other than yours."),
+ _("You don't have the right to view other machines than"
+ " yours."),
("machines.view_domain",),
)
return True, None, None
@@ -1794,7 +1801,7 @@ class IpList(RevMixin, AclMixin, models.Model):
""" Erreur si l'ip_type est incorrect"""
if not str(self.ipv4) in self.ip_type.ip_set_as_str:
raise ValidationError(
- _("The IPv4 address and the range of the IP" " type don't match.")
+ _("The IPv4 address and the range of the IP type don't match.")
)
return
@@ -1970,7 +1977,8 @@ class OuverturePortList(RevMixin, AclMixin, models.Model):
class Meta:
permissions = (
- ("view_ouvertureportlist", _("Can view a ports opening list" " object")),
+ ("view_ouvertureportlist", _("Can view a ports opening list"
+ " object")),
)
verbose_name = _("ports opening list")
verbose_name_plural = _("ports opening lists")
diff --git a/machines/templates/machines/aff_extension.html b/machines/templates/machines/aff_extension.html
index 809ef4ba..358fc33e 100644
--- a/machines/templates/machines/aff_extension.html
+++ b/machines/templates/machines/aff_extension.html
@@ -32,7 +32,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% trans "Extension" %}
- {% trans "'infra' right required" %}
+ {% blocktrans %}"infra" right required{% endblocktrans %}
{% trans "SOA record" %}
{% trans "A record origin" %}
{% if ipv6_enabled %}
diff --git a/machines/templates/machines/aff_iptype.html b/machines/templates/machines/aff_iptype.html
index 2675b87a..7cf710c2 100644
--- a/machines/templates/machines/aff_iptype.html
+++ b/machines/templates/machines/aff_iptype.html
@@ -34,7 +34,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% for server in servers_list %}
diff --git a/machines/templates/machines/edit_portlist.html b/machines/templates/machines/edit_portlist.html
index 387723bb..a2aded23 100644
--- a/machines/templates/machines/edit_portlist.html
+++ b/machines/templates/machines/edit_portlist.html
@@ -47,11 +47,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% trans "IP type" %}
{% trans "Extension" %}
- {% trans "'infra' right required" %}
+ {% blocktrans %}"infra" right required{% endblocktrans %}
{% trans "IPv4 range" %}
{% trans "v6 prefix" %}
{% trans "DNSSEC reverse v4/v6" %}
diff --git a/machines/templates/machines/aff_machines.html b/machines/templates/machines/aff_machines.html
index e59cfde6..77b65546 100644
--- a/machines/templates/machines/aff_machines.html
+++ b/machines/templates/machines/aff_machines.html
@@ -123,7 +123,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% trans "Service name" %}
{% trans "Server" %}
{% trans "Last regeneration" %}
- {% trans "Regeneration required" %}
- {% trans "Regeneration activated" %}
+ {% trans "Regeneration asked" %}
+ {% trans "Regeneration needed" %}
- {% trans "Add a port" as value %} - +
- {% trans "Create or edit" as tr_create_or_edit %} - {% bootstrap_button tr_create_or_edit icon='ok' button_class='btn-success' %} + {% trans "Confirm" as tr_confirm %} + {% bootstrap_button tr_confirm icon='ok' button_class='btn-success' %}