diff --git a/netbox/circuits/forms/bulk_edit.py b/netbox/circuits/forms/bulk_edit.py index 97b7a5e56..b5f265fd2 100644 --- a/netbox/circuits/forms/bulk_edit.py +++ b/netbox/circuits/forms/bulk_edit.py @@ -168,9 +168,9 @@ class CircuitBulkEditForm(NetBoxModelBulkEditForm): model = Circuit fieldsets = ( - ('Circuit', ('provider', 'type', 'status', 'description')), - ('Service Parameters', ('provider_account', 'install_date', 'termination_date', 'commit_rate')), - ('Tenancy', ('tenant',)), + (_('Circuit'), ('provider', 'type', 'status', 'description')), + (_('Service Parameters'), ('provider_account', 'install_date', 'termination_date', 'commit_rate')), + (_('Tenancy'), ('tenant',)), ) nullable_fields = ( 'tenant', 'commit_rate', 'description', 'comments', diff --git a/netbox/circuits/forms/filtersets.py b/netbox/circuits/forms/filtersets.py index b78d4e197..1fb239023 100644 --- a/netbox/circuits/forms/filtersets.py +++ b/netbox/circuits/forms/filtersets.py @@ -23,9 +23,9 @@ class ProviderFilterForm(ContactModelFilterForm, NetBoxModelFilterSetForm): model = Provider fieldsets = ( (None, ('q', 'filter_id', 'tag')), - ('Location', ('region_id', 'site_group_id', 'site_id')), - ('ASN', ('asn',)), - ('Contacts', ('contact', 'contact_role', 'contact_group')), + (_('Location'), ('region_id', 'site_group_id', 'site_id')), + (_('ASN'), ('asn',)), + (_('Contacts'), ('contact', 'contact_role', 'contact_group')), ) region_id = DynamicModelMultipleChoiceField( queryset=Region.objects.all(), @@ -62,7 +62,7 @@ class ProviderAccountFilterForm(NetBoxModelFilterSetForm): model = ProviderAccount fieldsets = ( (None, ('q', 'filter_id', 'tag')), - ('Attributes', ('provider_id', 'account')), + (_('Attributes'), ('provider_id', 'account')), ) provider_id = DynamicModelMultipleChoiceField( queryset=Provider.objects.all(), @@ -80,7 +80,7 @@ class ProviderNetworkFilterForm(NetBoxModelFilterSetForm): model = ProviderNetwork fieldsets = ( (None, ('q', 'filter_id', 'tag')), - ('Attributes', ('provider_id', 'service_id')), + (_('Attributes'), ('provider_id', 'service_id')), ) provider_id = DynamicModelMultipleChoiceField( queryset=Provider.objects.all(), @@ -104,11 +104,11 @@ class CircuitFilterForm(TenancyFilterForm, ContactModelFilterForm, NetBoxModelFi model = Circuit fieldsets = ( (None, ('q', 'filter_id', 'tag')), - ('Provider', ('provider_id', 'provider_account_id', 'provider_network_id')), - ('Attributes', ('type_id', 'status', 'install_date', 'termination_date', 'commit_rate')), - ('Location', ('region_id', 'site_group_id', 'site_id')), - ('Tenant', ('tenant_group_id', 'tenant_id')), - ('Contacts', ('contact', 'contact_role', 'contact_group')), + (_('Provider'), ('provider_id', 'provider_account_id', 'provider_network_id')), + (_('Attributes'), ('type_id', 'status', 'install_date', 'termination_date', 'commit_rate')), + (_('Location'), ('region_id', 'site_group_id', 'site_id')), + (_('Tenant'), ('tenant_group_id', 'tenant_id')), + (_('Contacts'), ('contact', 'contact_role', 'contact_group')), ) type_id = DynamicModelMultipleChoiceField( queryset=CircuitType.objects.all(), diff --git a/netbox/circuits/forms/model_forms.py b/netbox/circuits/forms/model_forms.py index 56de6862f..440f30dbd 100644 --- a/netbox/circuits/forms/model_forms.py +++ b/netbox/circuits/forms/model_forms.py @@ -31,7 +31,7 @@ class ProviderForm(NetBoxModelForm): ) fieldsets = ( - ('Provider', ('name', 'slug', 'asns', 'description', 'tags')), + (_('Provider'), ('name', 'slug', 'asns', 'description', 'tags')), ) class Meta: @@ -67,7 +67,7 @@ class ProviderNetworkForm(NetBoxModelForm): ) fieldsets = ( - ('Provider Network', ('provider', 'name', 'service_id', 'description', 'tags')), + (_('Provider Network'), ('provider', 'name', 'service_id', 'description', 'tags')), ) class Meta: @@ -83,7 +83,7 @@ class CircuitTypeForm(NetBoxModelForm): ) fieldsets = ( - ('Circuit Type', ( + (_('Circuit Type'), ( 'name', 'slug', 'description', 'tags', )), ) @@ -115,9 +115,9 @@ class CircuitForm(TenancyForm, NetBoxModelForm): comments = CommentField() fieldsets = ( - ('Circuit', ('provider', 'provider_account', 'cid', 'type', 'status', 'description', 'tags')), - ('Service Parameters', ('install_date', 'termination_date', 'commit_rate')), - ('Tenancy', ('tenant_group', 'tenant')), + (_('Circuit'), ('provider', 'provider_account', 'cid', 'type', 'status', 'description', 'tags')), + (_('Service Parameters'), ('install_date', 'termination_date', 'commit_rate')), + (_('Tenancy'), ('tenant_group', 'tenant')), ) class Meta: diff --git a/netbox/core/forms/bulk_edit.py b/netbox/core/forms/bulk_edit.py index de8727643..24bbf2a46 100644 --- a/netbox/core/forms/bulk_edit.py +++ b/netbox/core/forms/bulk_edit.py @@ -1,5 +1,5 @@ from django import forms -from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy as _ from core.choices import DataSourceTypeChoices from core.models import * @@ -15,6 +15,7 @@ __all__ = ( class DataSourceBulkEditForm(NetBoxModelBulkEditForm): type = forms.ChoiceField( + label=_('Type'), choices=add_blank_choice(DataSourceTypeChoices), required=False, initial='' @@ -25,6 +26,7 @@ class DataSourceBulkEditForm(NetBoxModelBulkEditForm): label=_('Enforce unique space') ) description = forms.CharField( + label=_('Description'), max_length=200, required=False ) @@ -32,9 +34,11 @@ class DataSourceBulkEditForm(NetBoxModelBulkEditForm): label=_('Comments') ) parameters = forms.JSONField( + label=_('Parameters'), required=False ) ignore_rules = forms.CharField( + label=_('Ignore rules'), required=False, widget=forms.Textarea() ) diff --git a/netbox/core/forms/filtersets.py b/netbox/core/forms/filtersets.py index d8624f6b6..f7a6f3595 100644 --- a/netbox/core/forms/filtersets.py +++ b/netbox/core/forms/filtersets.py @@ -1,7 +1,7 @@ from django import forms from django.contrib.auth import get_user_model from django.contrib.contenttypes.models import ContentType -from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy as _ from core.choices import * from core.models import * @@ -23,17 +23,20 @@ class DataSourceFilterForm(NetBoxModelFilterSetForm): model = DataSource fieldsets = ( (None, ('q', 'filter_id')), - ('Data Source', ('type', 'status')), + (_('Data Source'), ('type', 'status')), ) type = forms.MultipleChoiceField( + label=_('Type'), choices=DataSourceTypeChoices, required=False ) status = forms.MultipleChoiceField( + label=_('Status'), choices=DataSourceStatusChoices, required=False ) enabled = forms.NullBooleanField( + label=_('Enabled'), required=False, widget=forms.Select( choices=BOOLEAN_WITH_BLANK_CHOICES @@ -45,7 +48,7 @@ class DataFileFilterForm(NetBoxModelFilterSetForm): model = DataFile fieldsets = ( (None, ('q', 'filter_id')), - ('File', ('source_id',)), + (_('File'), ('source_id',)), ) source_id = DynamicModelMultipleChoiceField( queryset=DataSource.objects.all(), @@ -57,8 +60,8 @@ class DataFileFilterForm(NetBoxModelFilterSetForm): class JobFilterForm(SavedFiltersMixin, FilterForm): fieldsets = ( (None, ('q', 'filter_id')), - ('Attributes', ('object_type', 'status')), - ('Creation', ( + (_('Attributes'), ('object_type', 'status')), + (_('Creation'), ( 'created__before', 'created__after', 'scheduled__before', 'scheduled__after', 'started__before', 'started__after', 'completed__before', 'completed__after', 'user', )), @@ -69,38 +72,47 @@ class JobFilterForm(SavedFiltersMixin, FilterForm): required=False, ) status = forms.MultipleChoiceField( + label=_('Status'), choices=JobStatusChoices, required=False ) created__after = forms.DateTimeField( + label=_('Created after'), required=False, widget=DateTimePicker() ) created__before = forms.DateTimeField( + label=_('Created before'), required=False, widget=DateTimePicker() ) scheduled__after = forms.DateTimeField( + label=_('Scheduled after'), required=False, widget=DateTimePicker() ) scheduled__before = forms.DateTimeField( + label=_('Scheduled before'), required=False, widget=DateTimePicker() ) started__after = forms.DateTimeField( + label=_('Started after'), required=False, widget=DateTimePicker() ) started__before = forms.DateTimeField( + label=_('Started before'), required=False, widget=DateTimePicker() ) completed__after = forms.DateTimeField( + label=_('Completed after'), required=False, widget=DateTimePicker() ) completed__before = forms.DateTimeField( + label=_('Completed before'), required=False, widget=DateTimePicker() ) diff --git a/netbox/core/forms/mixins.py b/netbox/core/forms/mixins.py index 3e76f67a2..0b559fa57 100644 --- a/netbox/core/forms/mixins.py +++ b/netbox/core/forms/mixins.py @@ -1,5 +1,5 @@ from django import forms -from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy as _ from core.models import DataFile, DataSource from utilities.forms.fields import DynamicModelChoiceField diff --git a/netbox/core/forms/model_forms.py b/netbox/core/forms/model_forms.py index 666a19e85..6f89bee09 100644 --- a/netbox/core/forms/model_forms.py +++ b/netbox/core/forms/model_forms.py @@ -1,6 +1,7 @@ import copy from django import forms +from django.utils.translation import gettext_lazy as _ from core.forms.mixins import SyncedDataMixin from core.models import * @@ -17,7 +18,9 @@ __all__ = ( class DataSourceForm(NetBoxModelForm): - comments = CommentField() + comments = CommentField( + label=_('Comments'), + ) class Meta: model = DataSource @@ -38,11 +41,11 @@ class DataSourceForm(NetBoxModelForm): @property def fieldsets(self): fieldsets = [ - ('Source', ('name', 'type', 'source_url', 'enabled', 'description', 'tags', 'ignore_rules')), + (_('Source'), ('name', 'type', 'source_url', 'enabled', 'description', 'tags', 'ignore_rules')), ] if self.backend_fields: fieldsets.append( - ('Backend Parameters', self.backend_fields) + (_('Backend Parameters'), self.backend_fields) ) return fieldsets @@ -79,8 +82,8 @@ class ManagedFileForm(SyncedDataMixin, NetBoxModelForm): ) fieldsets = ( - ('File Upload', ('upload_file',)), - ('Data Source', ('data_source', 'data_file', 'auto_sync_enabled')), + (_('File Upload'), ('upload_file',)), + (_('Data Source'), ('data_source', 'data_file', 'auto_sync_enabled')), ) class Meta: