mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-25 08:46:10 -06:00
13149 add gettext_lazy to forms
This commit is contained in:
parent
0c2e3ff898
commit
6f0b7fa133
@ -1,5 +1,5 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from circuits.choices import CircuitCommitRateChoices, CircuitStatusChoices
|
from circuits.choices import CircuitCommitRateChoices, CircuitStatusChoices
|
||||||
from circuits.models import *
|
from circuits.models import *
|
||||||
@ -26,6 +26,7 @@ class ProviderBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
description = forms.CharField(
|
description = forms.CharField(
|
||||||
|
label=_('Description'),
|
||||||
max_length=200,
|
max_length=200,
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
@ -44,10 +45,12 @@ class ProviderBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
|
|
||||||
class ProviderAccountBulkEditForm(NetBoxModelBulkEditForm):
|
class ProviderAccountBulkEditForm(NetBoxModelBulkEditForm):
|
||||||
provider = DynamicModelChoiceField(
|
provider = DynamicModelChoiceField(
|
||||||
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
description = forms.CharField(
|
description = forms.CharField(
|
||||||
|
label=_('Description'),
|
||||||
max_length=200,
|
max_length=200,
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
@ -66,6 +69,7 @@ class ProviderAccountBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
|
|
||||||
class ProviderNetworkBulkEditForm(NetBoxModelBulkEditForm):
|
class ProviderNetworkBulkEditForm(NetBoxModelBulkEditForm):
|
||||||
provider = DynamicModelChoiceField(
|
provider = DynamicModelChoiceField(
|
||||||
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
@ -75,6 +79,7 @@ class ProviderNetworkBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
label=_('Service ID')
|
label=_('Service ID')
|
||||||
)
|
)
|
||||||
description = forms.CharField(
|
description = forms.CharField(
|
||||||
|
label=_('Description'),
|
||||||
max_length=200,
|
max_length=200,
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
@ -93,6 +98,7 @@ class ProviderNetworkBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
|
|
||||||
class CircuitTypeBulkEditForm(NetBoxModelBulkEditForm):
|
class CircuitTypeBulkEditForm(NetBoxModelBulkEditForm):
|
||||||
description = forms.CharField(
|
description = forms.CharField(
|
||||||
|
label=_('Description'),
|
||||||
max_length=200,
|
max_length=200,
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
@ -106,14 +112,17 @@ class CircuitTypeBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
|
|
||||||
class CircuitBulkEditForm(NetBoxModelBulkEditForm):
|
class CircuitBulkEditForm(NetBoxModelBulkEditForm):
|
||||||
type = DynamicModelChoiceField(
|
type = DynamicModelChoiceField(
|
||||||
|
label=_('Type'),
|
||||||
queryset=CircuitType.objects.all(),
|
queryset=CircuitType.objects.all(),
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
provider = DynamicModelChoiceField(
|
provider = DynamicModelChoiceField(
|
||||||
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
provider_account = DynamicModelChoiceField(
|
provider_account = DynamicModelChoiceField(
|
||||||
|
label=_('Provider account'),
|
||||||
queryset=ProviderAccount.objects.all(),
|
queryset=ProviderAccount.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
query_params={
|
query_params={
|
||||||
@ -121,19 +130,23 @@ class CircuitBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
status = forms.ChoiceField(
|
status = forms.ChoiceField(
|
||||||
|
label=_('Status'),
|
||||||
choices=add_blank_choice(CircuitStatusChoices),
|
choices=add_blank_choice(CircuitStatusChoices),
|
||||||
required=False,
|
required=False,
|
||||||
initial=''
|
initial=''
|
||||||
)
|
)
|
||||||
tenant = DynamicModelChoiceField(
|
tenant = DynamicModelChoiceField(
|
||||||
|
label=_('Tenant'),
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
install_date = forms.DateField(
|
install_date = forms.DateField(
|
||||||
|
label=_('Install date'),
|
||||||
required=False,
|
required=False,
|
||||||
widget=DatePicker()
|
widget=DatePicker()
|
||||||
)
|
)
|
||||||
termination_date = forms.DateField(
|
termination_date = forms.DateField(
|
||||||
|
label=_('Termination date'),
|
||||||
required=False,
|
required=False,
|
||||||
widget=DatePicker()
|
widget=DatePicker()
|
||||||
)
|
)
|
||||||
@ -145,6 +158,7 @@ class CircuitBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
description = forms.CharField(
|
description = forms.CharField(
|
||||||
|
label=_('Description'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
|
@ -3,7 +3,7 @@ from django import forms
|
|||||||
from circuits.choices import CircuitStatusChoices
|
from circuits.choices import CircuitStatusChoices
|
||||||
from circuits.models import *
|
from circuits.models import *
|
||||||
from dcim.models import Site
|
from dcim.models import Site
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from netbox.forms import NetBoxModelImportForm
|
from netbox.forms import NetBoxModelImportForm
|
||||||
from tenancy.models import Tenant
|
from tenancy.models import Tenant
|
||||||
from utilities.forms import BootstrapMixin
|
from utilities.forms import BootstrapMixin
|
||||||
@ -31,6 +31,7 @@ class ProviderImportForm(NetBoxModelImportForm):
|
|||||||
|
|
||||||
class ProviderAccountImportForm(NetBoxModelImportForm):
|
class ProviderAccountImportForm(NetBoxModelImportForm):
|
||||||
provider = CSVModelChoiceField(
|
provider = CSVModelChoiceField(
|
||||||
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
to_field_name='name',
|
to_field_name='name',
|
||||||
help_text=_('Assigned provider')
|
help_text=_('Assigned provider')
|
||||||
@ -45,6 +46,7 @@ class ProviderAccountImportForm(NetBoxModelImportForm):
|
|||||||
|
|
||||||
class ProviderNetworkImportForm(NetBoxModelImportForm):
|
class ProviderNetworkImportForm(NetBoxModelImportForm):
|
||||||
provider = CSVModelChoiceField(
|
provider = CSVModelChoiceField(
|
||||||
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
to_field_name='name',
|
to_field_name='name',
|
||||||
help_text=_('Assigned provider')
|
help_text=_('Assigned provider')
|
||||||
@ -58,7 +60,9 @@ class ProviderNetworkImportForm(NetBoxModelImportForm):
|
|||||||
|
|
||||||
|
|
||||||
class CircuitTypeImportForm(NetBoxModelImportForm):
|
class CircuitTypeImportForm(NetBoxModelImportForm):
|
||||||
slug = SlugField()
|
slug = SlugField(
|
||||||
|
label=_('Slug'),
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CircuitType
|
model = CircuitType
|
||||||
@ -67,26 +71,31 @@ class CircuitTypeImportForm(NetBoxModelImportForm):
|
|||||||
|
|
||||||
class CircuitImportForm(NetBoxModelImportForm):
|
class CircuitImportForm(NetBoxModelImportForm):
|
||||||
provider = CSVModelChoiceField(
|
provider = CSVModelChoiceField(
|
||||||
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
to_field_name='name',
|
to_field_name='name',
|
||||||
help_text=_('Assigned provider')
|
help_text=_('Assigned provider')
|
||||||
)
|
)
|
||||||
provider_account = CSVModelChoiceField(
|
provider_account = CSVModelChoiceField(
|
||||||
|
label=_('Provider account'),
|
||||||
queryset=ProviderAccount.objects.all(),
|
queryset=ProviderAccount.objects.all(),
|
||||||
to_field_name='name',
|
to_field_name='name',
|
||||||
help_text=_('Assigned provider account'),
|
help_text=_('Assigned provider account'),
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
type = CSVModelChoiceField(
|
type = CSVModelChoiceField(
|
||||||
|
label=_('Type'),
|
||||||
queryset=CircuitType.objects.all(),
|
queryset=CircuitType.objects.all(),
|
||||||
to_field_name='name',
|
to_field_name='name',
|
||||||
help_text=_('Type of circuit')
|
help_text=_('Type of circuit')
|
||||||
)
|
)
|
||||||
status = CSVChoiceField(
|
status = CSVChoiceField(
|
||||||
|
label=_('Status'),
|
||||||
choices=CircuitStatusChoices,
|
choices=CircuitStatusChoices,
|
||||||
help_text=_('Operational status')
|
help_text=_('Operational status')
|
||||||
)
|
)
|
||||||
tenant = CSVModelChoiceField(
|
tenant = CSVModelChoiceField(
|
||||||
|
label=_('Tenant'),
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
to_field_name='name',
|
to_field_name='name',
|
||||||
@ -103,11 +112,13 @@ class CircuitImportForm(NetBoxModelImportForm):
|
|||||||
|
|
||||||
class CircuitTerminationImportForm(BootstrapMixin, forms.ModelForm):
|
class CircuitTerminationImportForm(BootstrapMixin, forms.ModelForm):
|
||||||
site = CSVModelChoiceField(
|
site = CSVModelChoiceField(
|
||||||
|
label=_('Site'),
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
to_field_name='name',
|
to_field_name='name',
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
provider_network = CSVModelChoiceField(
|
provider_network = CSVModelChoiceField(
|
||||||
|
label=_('Provider network'),
|
||||||
queryset=ProviderNetwork.objects.all(),
|
queryset=ProviderNetwork.objects.all(),
|
||||||
to_field_name='name',
|
to_field_name='name',
|
||||||
required=False
|
required=False
|
||||||
|
@ -70,6 +70,7 @@ class ProviderAccountFilterForm(NetBoxModelFilterSetForm):
|
|||||||
label=_('Provider')
|
label=_('Provider')
|
||||||
)
|
)
|
||||||
account = forms.CharField(
|
account = forms.CharField(
|
||||||
|
label=_('Account'),
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
tag = TagFilterField(model)
|
tag = TagFilterField(model)
|
||||||
@ -87,6 +88,7 @@ class ProviderNetworkFilterForm(NetBoxModelFilterSetForm):
|
|||||||
label=_('Provider')
|
label=_('Provider')
|
||||||
)
|
)
|
||||||
service_id = forms.CharField(
|
service_id = forms.CharField(
|
||||||
|
label=_('Service id'),
|
||||||
max_length=100,
|
max_length=100,
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
@ -135,6 +137,7 @@ class CircuitFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFi
|
|||||||
label=_('Provider network')
|
label=_('Provider network')
|
||||||
)
|
)
|
||||||
status = forms.MultipleChoiceField(
|
status = forms.MultipleChoiceField(
|
||||||
|
label=_('Status'),
|
||||||
choices=CircuitStatusChoices,
|
choices=CircuitStatusChoices,
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
@ -158,10 +161,12 @@ class CircuitFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFi
|
|||||||
label=_('Site')
|
label=_('Site')
|
||||||
)
|
)
|
||||||
install_date = forms.DateField(
|
install_date = forms.DateField(
|
||||||
|
label=_('Install date'),
|
||||||
required=False,
|
required=False,
|
||||||
widget=DatePicker
|
widget=DatePicker
|
||||||
)
|
)
|
||||||
termination_date = forms.DateField(
|
termination_date = forms.DateField(
|
||||||
|
label=_('Termination date'),
|
||||||
required=False,
|
required=False,
|
||||||
widget=DatePicker
|
widget=DatePicker
|
||||||
)
|
)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from circuits.choices import CircuitCommitRateChoices, CircuitTerminationPortSpeedChoices
|
from circuits.choices import CircuitCommitRateChoices, CircuitTerminationPortSpeedChoices
|
||||||
from circuits.models import *
|
from circuits.models import *
|
||||||
@ -26,7 +26,9 @@ class ProviderForm(NetBoxModelForm):
|
|||||||
label=_('ASNs'),
|
label=_('ASNs'),
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
comments = CommentField()
|
comments = CommentField(
|
||||||
|
label=_('Comments'),
|
||||||
|
)
|
||||||
|
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
('Provider', ('name', 'slug', 'asns', 'description', 'tags')),
|
('Provider', ('name', 'slug', 'asns', 'description', 'tags')),
|
||||||
@ -41,9 +43,12 @@ class ProviderForm(NetBoxModelForm):
|
|||||||
|
|
||||||
class ProviderAccountForm(NetBoxModelForm):
|
class ProviderAccountForm(NetBoxModelForm):
|
||||||
provider = DynamicModelChoiceField(
|
provider = DynamicModelChoiceField(
|
||||||
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all()
|
queryset=Provider.objects.all()
|
||||||
)
|
)
|
||||||
comments = CommentField()
|
comments = CommentField(
|
||||||
|
label=_('Comments'),
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ProviderAccount
|
model = ProviderAccount
|
||||||
@ -54,9 +59,12 @@ class ProviderAccountForm(NetBoxModelForm):
|
|||||||
|
|
||||||
class ProviderNetworkForm(NetBoxModelForm):
|
class ProviderNetworkForm(NetBoxModelForm):
|
||||||
provider = DynamicModelChoiceField(
|
provider = DynamicModelChoiceField(
|
||||||
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all()
|
queryset=Provider.objects.all()
|
||||||
)
|
)
|
||||||
comments = CommentField()
|
comments = CommentField(
|
||||||
|
label=_('Comments'),
|
||||||
|
)
|
||||||
|
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
('Provider Network', ('provider', 'name', 'service_id', 'description', 'tags')),
|
('Provider Network', ('provider', 'name', 'service_id', 'description', 'tags')),
|
||||||
@ -70,7 +78,9 @@ class ProviderNetworkForm(NetBoxModelForm):
|
|||||||
|
|
||||||
|
|
||||||
class CircuitTypeForm(NetBoxModelForm):
|
class CircuitTypeForm(NetBoxModelForm):
|
||||||
slug = SlugField()
|
slug = SlugField(
|
||||||
|
label=_('Slug'),
|
||||||
|
)
|
||||||
|
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
('Circuit Type', (
|
('Circuit Type', (
|
||||||
@ -87,10 +97,12 @@ class CircuitTypeForm(NetBoxModelForm):
|
|||||||
|
|
||||||
class CircuitForm(TenancyForm, NetBoxModelForm):
|
class CircuitForm(TenancyForm, NetBoxModelForm):
|
||||||
provider = DynamicModelChoiceField(
|
provider = DynamicModelChoiceField(
|
||||||
|
label=_('Provider'),
|
||||||
queryset=Provider.objects.all(),
|
queryset=Provider.objects.all(),
|
||||||
selector=True
|
selector=True
|
||||||
)
|
)
|
||||||
provider_account = DynamicModelChoiceField(
|
provider_account = DynamicModelChoiceField(
|
||||||
|
label=_('Provider account'),
|
||||||
queryset=ProviderAccount.objects.all(),
|
queryset=ProviderAccount.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
query_params={
|
query_params={
|
||||||
@ -125,15 +137,18 @@ class CircuitForm(TenancyForm, NetBoxModelForm):
|
|||||||
|
|
||||||
class CircuitTerminationForm(NetBoxModelForm):
|
class CircuitTerminationForm(NetBoxModelForm):
|
||||||
circuit = DynamicModelChoiceField(
|
circuit = DynamicModelChoiceField(
|
||||||
|
label=_('Circuit'),
|
||||||
queryset=Circuit.objects.all(),
|
queryset=Circuit.objects.all(),
|
||||||
selector=True
|
selector=True
|
||||||
)
|
)
|
||||||
site = DynamicModelChoiceField(
|
site = DynamicModelChoiceField(
|
||||||
|
label=_('Site'),
|
||||||
queryset=Site.objects.all(),
|
queryset=Site.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
selector=True
|
selector=True
|
||||||
)
|
)
|
||||||
provider_network = DynamicModelChoiceField(
|
provider_network = DynamicModelChoiceField(
|
||||||
|
label=_('Provider network'),
|
||||||
queryset=ProviderNetwork.objects.all(),
|
queryset=ProviderNetwork.objects.all(),
|
||||||
required=False,
|
required=False,
|
||||||
selector=True
|
selector=True
|
||||||
|
@ -4,7 +4,7 @@ from django import forms
|
|||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
from django.forms.fields import JSONField as _JSONField, InvalidJSONInput
|
from django.forms.fields import JSONField as _JSONField, InvalidJSONInput
|
||||||
from django.templatetags.static import static
|
from django.templatetags.static import static
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from netaddr import AddrFormatError, EUI
|
from netaddr import AddrFormatError, EUI
|
||||||
|
|
||||||
from utilities.forms import widgets
|
from utilities.forms import widgets
|
||||||
@ -26,11 +26,11 @@ class CommentField(forms.CharField):
|
|||||||
A textarea with support for Markdown rendering. Exists mostly just to add a standard `help_text`.
|
A textarea with support for Markdown rendering. Exists mostly just to add a standard `help_text`.
|
||||||
"""
|
"""
|
||||||
widget = widgets.MarkdownWidget
|
widget = widgets.MarkdownWidget
|
||||||
help_text = f"""
|
help_text = _("""
|
||||||
<i class="mdi mdi-information-outline"></i>
|
<i class="mdi mdi-information-outline"></i>
|
||||||
<a href="{static('docs/reference/markdown/')}" target="_blank" tabindex="-1">
|
<a href="{url}" target="_blank" tabindex="-1">
|
||||||
Markdown</a> syntax is supported
|
Markdown</a> syntax is supported
|
||||||
"""
|
""").format(url=static('docs/reference/markdown/'))
|
||||||
|
|
||||||
def __init__(self, *, help_text=help_text, required=False, **kwargs):
|
def __init__(self, *, help_text=help_text, required=False, **kwargs):
|
||||||
super().__init__(help_text=help_text, required=required, **kwargs)
|
super().__init__(help_text=help_text, required=required, **kwargs)
|
||||||
@ -77,7 +77,7 @@ class TagFilterField(forms.MultipleChoiceField):
|
|||||||
]
|
]
|
||||||
|
|
||||||
# Choices are fetched each time the form is initialized
|
# Choices are fetched each time the form is initialized
|
||||||
super().__init__(label='Tags', choices=get_choices, required=False, *args, **kwargs)
|
super().__init__(label=_('Tags'), choices=get_choices, required=False, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class LaxURLField(forms.URLField):
|
class LaxURLField(forms.URLField):
|
||||||
@ -113,7 +113,7 @@ class MACAddressField(forms.Field):
|
|||||||
"""
|
"""
|
||||||
widget = forms.CharField
|
widget = forms.CharField
|
||||||
default_error_messages = {
|
default_error_messages = {
|
||||||
'invalid': 'MAC address must be in EUI-48 format',
|
'invalid': _('MAC address must be in EUI-48 format'),
|
||||||
}
|
}
|
||||||
|
|
||||||
def to_python(self, value):
|
def to_python(self, value):
|
||||||
|
Loading…
Reference in New Issue
Block a user