13150 internationalize ipam tables

This commit is contained in:
Arthur 2023-07-26 12:11:27 +07:00
parent 90d751db26
commit d26ead2f4b
4 changed files with 52 additions and 20 deletions

View File

@ -7,7 +7,7 @@ from django.db.models.fields.related import RelatedField
from django.urls import reverse from django.urls import reverse
from django.urls.exceptions import NoReverseMatch from django.urls.exceptions import NoReverseMatch
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.utils.translation import gettext as _ from django.utils.translation import gettext_lazy as _
from django_tables2.data import TableQuerysetData from django_tables2.data import TableQuerysetData
from extras.models import CustomField, CustomLink from extras.models import CustomField, CustomLink
@ -170,13 +170,16 @@ class NetBoxTable(BaseTable):
* Actions * Actions
""" """
pk = columns.ToggleColumn( pk = columns.ToggleColumn(
verbose_name=_('Pk'),
visible=False visible=False
) )
id = tables.Column( id = tables.Column(
linkify=True, linkify=True,
verbose_name='ID' verbose_name=_('ID')
)
actions = columns.ActionsColumn(
verbose_name=_('Actions'),
) )
actions = columns.ActionsColumn()
exempt_columns = ('pk', 'actions') exempt_columns = ('pk', 'actions')
@ -223,11 +226,16 @@ class SearchTable(tables.Table):
order_by="object___meta__verbose_name", order_by="object___meta__verbose_name",
) )
object = tables.Column( object = tables.Column(
verbose_name=_('Object'),
linkify=True, linkify=True,
order_by=('name', ) order_by=('name', )
) )
field = tables.Column() field = tables.Column(
value = tables.Column() verbose_name=_('Field'),
)
value = tables.Column(
verbose_name=_('Value'),
)
trim_length = 30 trim_length = 30

View File

@ -1,3 +1,4 @@
from django.utils.translation import gettext_lazy as _
import django_tables2 as tables import django_tables2 as tables
from netbox.tables import columns from netbox.tables import columns
@ -47,7 +48,7 @@ class TenantGroupColumn(tables.TemplateColumn):
def __init__(self, accessor=tables.A('tenant__group'), *args, **kwargs): def __init__(self, accessor=tables.A('tenant__group'), *args, **kwargs):
if 'verbose_name' not in kwargs: if 'verbose_name' not in kwargs:
kwargs['verbose_name'] = 'Tenant Group' kwargs['verbose_name'] = _('Tenant Group')
super().__init__(template_code=self.template_code, accessor=accessor, *args, **kwargs) super().__init__(template_code=self.template_code, accessor=accessor, *args, **kwargs)
@ -56,12 +57,17 @@ class TenantGroupColumn(tables.TemplateColumn):
class TenancyColumnsMixin(tables.Table): class TenancyColumnsMixin(tables.Table):
tenant_group = TenantGroupColumn() tenant_group = TenantGroupColumn(
tenant = TenantColumn() verbose_name=_('Tenant Group'),
)
tenant = TenantColumn(
verbose_name=_('Tenant'),
)
class ContactsColumnMixin(tables.Table): class ContactsColumnMixin(tables.Table):
contacts = columns.ManyToManyColumn( contacts = columns.ManyToManyColumn(
verbose_name=_('Contacts'),
linkify_item=True, linkify_item=True,
transform=lambda obj: obj.contact.name transform=lambda obj: obj.contact.name
) )

View File

@ -1,3 +1,4 @@
from django.utils.translation import gettext_lazy as _
import django_tables2 as tables import django_tables2 as tables
from django_tables2.utils import Accessor from django_tables2.utils import Accessor
@ -15,12 +16,13 @@ __all__ = (
class ContactGroupTable(NetBoxTable): class ContactGroupTable(NetBoxTable):
name = columns.MPTTColumn( name = columns.MPTTColumn(
verbose_name=_('Name'),
linkify=True linkify=True
) )
contact_count = columns.LinkedCountColumn( contact_count = columns.LinkedCountColumn(
viewname='tenancy:contact_list', viewname='tenancy:contact_list',
url_params={'group_id': 'pk'}, url_params={'group_id': 'pk'},
verbose_name='Contacts' verbose_name=_('Contacts')
) )
tags = columns.TagColumn( tags = columns.TagColumn(
url_name='tenancy:contactgroup_list' url_name='tenancy:contactgroup_list'
@ -36,6 +38,7 @@ class ContactGroupTable(NetBoxTable):
class ContactRoleTable(NetBoxTable): class ContactRoleTable(NetBoxTable):
name = tables.Column( name = tables.Column(
verbose_name=_('Name'),
linkify=True linkify=True
) )
tags = columns.TagColumn( tags = columns.TagColumn(
@ -50,19 +53,24 @@ class ContactRoleTable(NetBoxTable):
class ContactTable(NetBoxTable): class ContactTable(NetBoxTable):
name = tables.Column( name = tables.Column(
verbose_name=_('Name'),
linkify=True linkify=True
) )
group = tables.Column( group = tables.Column(
verbose_name=_('Group'),
linkify=True linkify=True
) )
phone = tables.Column( phone = tables.Column(
verbose_name=_('Phone'),
linkify=linkify_phone, linkify=linkify_phone,
) )
comments = columns.MarkdownColumn() comments = columns.MarkdownColumn(
verbose_name=_('Comments'),
)
assignment_count = columns.LinkedCountColumn( assignment_count = columns.LinkedCountColumn(
viewname='tenancy:contactassignment_list', viewname='tenancy:contactassignment_list',
url_params={'contact_id': 'pk'}, url_params={'contact_id': 'pk'},
verbose_name='Assignments' verbose_name=_('Assignments')
) )
tags = columns.TagColumn( tags = columns.TagColumn(
url_name='tenancy:contact_list' url_name='tenancy:contact_list'
@ -79,43 +87,47 @@ class ContactTable(NetBoxTable):
class ContactAssignmentTable(NetBoxTable): class ContactAssignmentTable(NetBoxTable):
content_type = columns.ContentTypeColumn( content_type = columns.ContentTypeColumn(
verbose_name='Object Type' verbose_name=_('Object Type')
) )
object = tables.Column( object = tables.Column(
verbose_name=_('Object'),
linkify=True, linkify=True,
orderable=False orderable=False
) )
contact = tables.Column( contact = tables.Column(
verbose_name=_('Contact'),
linkify=True linkify=True
) )
role = tables.Column( role = tables.Column(
verbose_name=_('Role'),
linkify=True linkify=True
) )
contact_title = tables.Column( contact_title = tables.Column(
accessor=Accessor('contact__title'), accessor=Accessor('contact__title'),
verbose_name='Contact Title' verbose_name=_('Contact Title')
) )
contact_phone = tables.Column( contact_phone = tables.Column(
accessor=Accessor('contact__phone'), accessor=Accessor('contact__phone'),
verbose_name='Contact Phone' verbose_name=_('Contact Phone')
) )
contact_email = tables.Column( contact_email = tables.Column(
accessor=Accessor('contact__email'), accessor=Accessor('contact__email'),
verbose_name='Contact Email' verbose_name=_('Contact Email')
) )
contact_address = tables.Column( contact_address = tables.Column(
accessor=Accessor('contact__address'), accessor=Accessor('contact__address'),
verbose_name='Contact Address' verbose_name=_('Contact Address')
) )
contact_link = tables.Column( contact_link = tables.Column(
accessor=Accessor('contact__link'), accessor=Accessor('contact__link'),
verbose_name='Contact Link' verbose_name=_('Contact Link')
) )
contact_description = tables.Column( contact_description = tables.Column(
accessor=Accessor('contact__description'), accessor=Accessor('contact__description'),
verbose_name='Contact Description' verbose_name=_('Contact Description')
) )
actions = columns.ActionsColumn( actions = columns.ActionsColumn(
verbose_name=_('Actions'),
actions=('edit', 'delete') actions=('edit', 'delete')
) )

View File

@ -1,3 +1,4 @@
from django.utils.translation import gettext_lazy as _
import django_tables2 as tables import django_tables2 as tables
from tenancy.models import * from tenancy.models import *
from tenancy.tables import ContactsColumnMixin from tenancy.tables import ContactsColumnMixin
@ -12,12 +13,13 @@ __all__ = (
class TenantGroupTable(NetBoxTable): class TenantGroupTable(NetBoxTable):
name = columns.MPTTColumn( name = columns.MPTTColumn(
verbose_name=_('Name'),
linkify=True linkify=True
) )
tenant_count = columns.LinkedCountColumn( tenant_count = columns.LinkedCountColumn(
viewname='tenancy:tenant_list', viewname='tenancy:tenant_list',
url_params={'group_id': 'pk'}, url_params={'group_id': 'pk'},
verbose_name='Tenants' verbose_name=_('Tenants')
) )
tags = columns.TagColumn( tags = columns.TagColumn(
url_name='tenancy:tenantgroup_list' url_name='tenancy:tenantgroup_list'
@ -33,12 +35,16 @@ class TenantGroupTable(NetBoxTable):
class TenantTable(ContactsColumnMixin, NetBoxTable): class TenantTable(ContactsColumnMixin, NetBoxTable):
name = tables.Column( name = tables.Column(
verbose_name=_('Name'),
linkify=True linkify=True
) )
group = tables.Column( group = tables.Column(
verbose_name=_('Group'),
linkify=True linkify=True
) )
comments = columns.MarkdownColumn() comments = columns.MarkdownColumn(
verbose_name=_('Comments'),
)
tags = columns.TagColumn( tags = columns.TagColumn(
url_name='tenancy:tenant_list' url_name='tenancy:tenant_list'
) )