13150 translate table column fields

This commit is contained in:
Arthur 2023-07-20 17:41:46 +07:00
parent 96ea0ac9c7
commit ec4b5d625c
3 changed files with 50 additions and 26 deletions

View File

@ -1,3 +1,4 @@
from django.utils.translation import gettext_lazy as _
import django_tables2 as tables
from circuits.models import *
@ -24,7 +25,8 @@ CIRCUITTERMINATION_LINK = """
class CircuitTypeTable(NetBoxTable):
name = tables.Column(
linkify=True
linkify=True,
verbose_name=_('Name'),
)
tags = columns.TagColumn(
url_name='circuits:circuittype_list'
@ -32,7 +34,7 @@ class CircuitTypeTable(NetBoxTable):
circuit_count = columns.LinkedCountColumn(
viewname='circuits:circuit_list',
url_params={'type_id': 'pk'},
verbose_name='Circuits'
verbose_name=_('Circuits')
)
class Meta(NetBoxTable.Meta):
@ -46,28 +48,31 @@ class CircuitTypeTable(NetBoxTable):
class CircuitTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
cid = tables.Column(
linkify=True,
verbose_name='Circuit ID'
verbose_name=_('Circuit ID')
)
provider = tables.Column(
verbose_name=_('Provider'),
linkify=True
)
provider_account = tables.Column(
linkify=True,
verbose_name='Account'
verbose_name=_('Account')
)
status = columns.ChoiceFieldColumn()
termination_a = tables.TemplateColumn(
template_code=CIRCUITTERMINATION_LINK,
verbose_name='Side A'
verbose_name=_('Side A')
)
termination_z = tables.TemplateColumn(
template_code=CIRCUITTERMINATION_LINK,
verbose_name='Side Z'
verbose_name=_('Side Z')
)
commit_rate = CommitRateColumn(
verbose_name='Commit Rate'
verbose_name=_('Commit Rate')
)
comments = columns.MarkdownColumn(
verbose_name=_('Comments'),
)
comments = columns.MarkdownColumn()
tags = columns.TagColumn(
url_name='circuits:circuit_list'
)

View File

@ -1,4 +1,5 @@
import django_tables2 as tables
from django.utils.translation import gettext_lazy as _
from circuits.models import *
from django_tables2.utils import Accessor
from tenancy.tables import ContactsColumnMixin
@ -14,35 +15,38 @@ __all__ = (
class ProviderTable(ContactsColumnMixin, NetBoxTable):
name = tables.Column(
verbose_name=_('Name'),
linkify=True
)
accounts = columns.ManyToManyColumn(
linkify_item=True,
verbose_name='Accounts'
verbose_name=_('Accounts')
)
account_count = columns.LinkedCountColumn(
accessor=tables.A('accounts__count'),
viewname='circuits:provideraccount_list',
url_params={'account_id': 'pk'},
verbose_name='Account Count'
verbose_name=_('Account Count')
)
asns = columns.ManyToManyColumn(
linkify_item=True,
verbose_name='ASNs'
verbose_name=_('ASNs')
)
asn_count = columns.LinkedCountColumn(
accessor=tables.A('asns__count'),
viewname='ipam:asn_list',
url_params={'provider_id': 'pk'},
verbose_name='ASN Count'
verbose_name=_('ASN Count')
)
circuit_count = columns.LinkedCountColumn(
accessor=Accessor('count_circuits'),
viewname='circuits:circuit_list',
url_params={'provider_id': 'pk'},
verbose_name='Circuits'
verbose_name=_('Circuits')
)
comments = columns.MarkdownColumn(
verbose_name=_('Comments'),
)
comments = columns.MarkdownColumn()
tags = columns.TagColumn(
url_name='circuits:provider_list'
)
@ -58,19 +62,25 @@ class ProviderTable(ContactsColumnMixin, NetBoxTable):
class ProviderAccountTable(ContactsColumnMixin, NetBoxTable):
account = tables.Column(
linkify=True
linkify=True,
verbose_name=_('Account'),
)
name = tables.Column(
verbose_name=_('Name'),
)
name = tables.Column()
provider = tables.Column(
verbose_name=_('Provider'),
linkify=True
)
circuit_count = columns.LinkedCountColumn(
accessor=Accessor('count_circuits'),
viewname='circuits:circuit_list',
url_params={'provider_account_id': 'pk'},
verbose_name='Circuits'
verbose_name=_('Circuits')
)
comments = columns.MarkdownColumn(
verbose_name=_('Comments'),
)
comments = columns.MarkdownColumn()
tags = columns.TagColumn(
url_name='circuits:provideraccount_list'
)
@ -86,12 +96,16 @@ class ProviderAccountTable(ContactsColumnMixin, NetBoxTable):
class ProviderNetworkTable(NetBoxTable):
name = tables.Column(
verbose_name=_('Name'),
linkify=True
)
provider = tables.Column(
verbose_name=_('Provider'),
linkify=True
)
comments = columns.MarkdownColumn()
comments = columns.MarkdownColumn(
verbose_name=_('Comments'),
)
tags = columns.TagColumn(
url_name='circuits:providernetwork_list'
)

View File

@ -12,6 +12,7 @@ from django.utils.dateparse import parse_date
from django.utils.html import escape
from django.utils.formats import date_format
from django.utils.safestring import mark_safe
from django.utils.translation import gettext_lazy as _
from django_tables2.columns import library
from django_tables2.utils import Accessor
@ -168,7 +169,7 @@ class ToggleColumn(tables.CheckBoxColumn):
@property
def header(self):
return mark_safe('<input type="checkbox" class="toggle form-check-input" title="Toggle All" />')
return mark_safe('<input type="checkbox" class="toggle form-check-input" title=_("Toggle All") />')
class BooleanColumn(tables.Column):
@ -269,12 +270,13 @@ class ActionsColumn(tables.Column):
)
# Create the actions dropdown menu
toggle_text = _('Toggle Dropdown')
if button and dropdown_links:
html += (
f'<span class="btn-group dropdown">'
f' {button}'
f' <a class="btn btn-sm btn-{dropdown_class} dropdown-toggle" type="button" data-bs-toggle="dropdown" style="padding-left: 2px">'
f' <span class="visually-hidden">Toggle Dropdown</span></a>'
f' <span class="visually-hidden">{toggle_text}</span></a>'
f' <ul class="dropdown-menu">{"".join(dropdown_links)}</ul>'
f'</span>'
)
@ -284,7 +286,7 @@ class ActionsColumn(tables.Column):
html += (
f'<span class="btn-group dropdown">'
f' <a class="btn btn-sm btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">'
f' <span class="visually-hidden">Toggle Dropdown</span></a>'
f' <span class="visually-hidden">{toggle_text}</span></a>'
f' <ul class="dropdown-menu">{"".join(dropdown_links)}</ul>'
f'</span>'
)
@ -438,7 +440,8 @@ class TagColumn(tables.TemplateColumn):
super().__init__(
orderable=False,
template_code=self.template_code,
extra_context={'url_name': url_name}
extra_context={'url_name': url_name},
verbose_name=_('Tags'),
)
def value(self, value):
@ -520,7 +523,8 @@ class CustomLinkColumn(tables.Column):
if rendered:
return mark_safe(f'<a href="{rendered["link"]}"{rendered["link_target"]}>{rendered["text"]}</a>')
except Exception as e:
return mark_safe(f'<span class="text-danger" title="{e}"><i class="mdi mdi-alert"></i> Error</span>')
error_text = _('Error')
return mark_safe(f'<span class="text-danger" title="{e}"><i class="mdi mdi-alert"></i> {error_text}</span>')
return ''
def value(self, record):
@ -585,9 +589,10 @@ class MarkdownColumn(tables.TemplateColumn):
{% endif %}
"""
def __init__(self):
def __init__(self, **kwargs):
super().__init__(
template_code=self.template_code
template_code=self.template_code,
**kwargs,
)
def value(self, value):