From 15a7746b29115ca266bed414f0c3ec53f4372fef Mon Sep 17 00:00:00 2001 From: Julio-Oliveira-Encora Date: Wed, 26 Jun 2024 11:19:42 -0300 Subject: [PATCH] Added ngettext to device_components.py, devices.py, device_component_templates.py, and views.py --- netbox/dcim/models/device_component_templates.py | 8 ++++++-- netbox/dcim/models/device_components.py | 11 +++++++---- netbox/dcim/models/devices.py | 11 +++++++---- netbox/dcim/views.py | 8 ++++++-- 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/netbox/dcim/models/device_component_templates.py b/netbox/dcim/models/device_component_templates.py index dacd7ec3e..27ab1c70b 100644 --- a/netbox/dcim/models/device_component_templates.py +++ b/netbox/dcim/models/device_component_templates.py @@ -2,7 +2,7 @@ from django.contrib.contenttypes.fields import GenericForeignKey from django.core.exceptions import ValidationError from django.core.validators import MaxValueValidator, MinValueValidator from django.db import models -from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_lazy as _, ngettext from mptt.models import MPTTModel, TreeForeignKey from dcim.choices import * @@ -539,7 +539,11 @@ class FrontPortTemplate(ModularComponentTemplateModel): # Validate rear port position assignment if self.rear_port_position > self.rear_port.positions: raise ValidationError( - _("Invalid rear port position ({position}); rear port {name} has only {count} positions").format( + _(ngettext( + "Invalid rear port position ({position}); rear port {name} has only {count} position", + "Invalid rear port position ({position}); rear port {name} has only {count} positions", + self.rear_port.positions, + )).format( position=self.rear_port_position, name=self.rear_port.name, count=self.rear_port.positions diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index 9438b741f..bc0893ee4 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -6,7 +6,7 @@ from django.core.validators import MaxValueValidator, MinValueValidator from django.db import models from django.db.models import Sum from django.urls import reverse -from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_lazy as _, ngettext from mptt.models import MPTTModel, TreeForeignKey from dcim.choices import * @@ -1026,10 +1026,13 @@ class FrontPort(ModularComponentModel, CabledObjectModel, TrackingModelMixin): # Validate rear port position assignment if self.rear_port_position > self.rear_port.positions: raise ValidationError({ - "rear_port_position": _( + "rear_port_position": _(ngettext( "Invalid rear port position ({rear_port_position}): Rear port {name} has only {positions} " - "positions." - ).format( + "position.", + "Invalid rear port position ({rear_port_position}): Rear port {name} has only {positions} " + "positions.", + self.rear_port.positions + )).format( rear_port_position=self.rear_port_position, name=self.rear_port.name, positions=self.rear_port.positions diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index abc9e0b08..203af4f9a 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -12,7 +12,7 @@ from django.db.models.functions import Lower from django.db.models.signals import post_save from django.urls import reverse from django.utils.safestring import mark_safe -from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_lazy as _, ngettext from dcim.choices import * from dcim.constants import * @@ -318,10 +318,13 @@ class DeviceType(ImageAttachmentsMixin, PrimaryModel, WeightMixin): if racked_instance_count: url = f"{reverse('dcim:device_list')}?manufactuer_id={self.manufacturer_id}&device_type_id={self.pk}" raise ValidationError({ - 'u_height': mark_safe(_( + 'u_height': mark_safe(_(ngettext( + 'Unable to set 0U height: Found {racked_instance_count} instance already ' + 'mounted within racks.', 'Unable to set 0U height: Found {racked_instance_count} instances already ' - 'mounted within racks.' - ).format(url=url, racked_instance_count=racked_instance_count)) + 'mounted within racks.', + racked_instance_count, + )).format(url=url, racked_instance_count=racked_instance_count)) }) if ( diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 87f351e4d..cabf18497 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -11,7 +11,7 @@ from django.shortcuts import get_object_or_404, redirect, render from django.urls import reverse from django.utils.html import escape from django.utils.safestring import mark_safe -from django.utils.translation import gettext as _ +from django.utils.translation import gettext as _, ngettext from django.views.generic import View from jinja2.exceptions import TemplateError @@ -136,7 +136,11 @@ class BulkDisconnectView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View) for cable in Cable.objects.filter(pk__in=cable_ids): cable.delete() - messages.success(request, _("Disconnected {count} {type}").format( + messages.success(request, _(ngettext( + "Disconnected 1 {type}", + "Disconnected {count} {type}", + count, + )).format( count=count, type=self.queryset.model._meta.verbose_name_plural ))