2023-08-01 01:35:28 +07:00
|
|
|
from django.utils.translation import gettext_lazy as _
|
2023-02-02 10:06:23 -05:00
|
|
|
import django_tables2 as tables
|
|
|
|
|
|
|
|
from core.models import *
|
|
|
|
from netbox.tables import NetBoxTable, columns
|
2023-10-24 11:35:53 -04:00
|
|
|
from .columns import BackendTypeColumn
|
2023-02-02 10:06:23 -05:00
|
|
|
|
|
|
|
__all__ = (
|
|
|
|
'DataFileTable',
|
|
|
|
'DataSourceTable',
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
class DataSourceTable(NetBoxTable):
|
|
|
|
name = tables.Column(
|
2023-08-01 01:35:28 +07:00
|
|
|
verbose_name=_('Name'),
|
2023-02-02 10:06:23 -05:00
|
|
|
linkify=True
|
|
|
|
)
|
2023-10-24 11:35:53 -04:00
|
|
|
type = BackendTypeColumn(
|
|
|
|
verbose_name=_('Type')
|
2023-08-01 01:35:28 +07:00
|
|
|
)
|
|
|
|
status = columns.ChoiceFieldColumn(
|
|
|
|
verbose_name=_('Status'),
|
|
|
|
)
|
|
|
|
enabled = columns.BooleanColumn(
|
|
|
|
verbose_name=_('Enabled'),
|
|
|
|
)
|
2023-02-02 10:06:23 -05:00
|
|
|
tags = columns.TagColumn(
|
|
|
|
url_name='core:datasource_list'
|
|
|
|
)
|
|
|
|
file_count = tables.Column(
|
|
|
|
verbose_name='Files'
|
|
|
|
)
|
|
|
|
|
|
|
|
class Meta(NetBoxTable.Meta):
|
|
|
|
model = DataSource
|
|
|
|
fields = (
|
2023-10-24 11:35:53 -04:00
|
|
|
'pk', 'id', 'name', 'type', 'status', 'enabled', 'source_url', 'description', 'comments', 'parameters',
|
|
|
|
'created', 'last_updated', 'file_count',
|
2023-02-02 10:06:23 -05:00
|
|
|
)
|
|
|
|
default_columns = ('pk', 'name', 'type', 'status', 'enabled', 'description', 'file_count')
|
|
|
|
|
|
|
|
|
|
|
|
class DataFileTable(NetBoxTable):
|
|
|
|
source = tables.Column(
|
2023-08-01 01:35:28 +07:00
|
|
|
verbose_name=_('Source'),
|
2023-02-02 10:06:23 -05:00
|
|
|
linkify=True
|
|
|
|
)
|
|
|
|
path = tables.Column(
|
2023-08-01 01:35:28 +07:00
|
|
|
verbose_name=_('Path'),
|
2023-02-02 10:06:23 -05:00
|
|
|
linkify=True
|
|
|
|
)
|
2023-08-01 01:35:28 +07:00
|
|
|
last_updated = columns.DateTimeColumn(
|
|
|
|
verbose_name=_('Last updated'),
|
|
|
|
)
|
2023-02-02 10:06:23 -05:00
|
|
|
actions = columns.ActionsColumn(
|
|
|
|
actions=('delete',)
|
|
|
|
)
|
|
|
|
|
|
|
|
class Meta(NetBoxTable.Meta):
|
|
|
|
model = DataFile
|
|
|
|
fields = (
|
|
|
|
'pk', 'id', 'source', 'path', 'last_updated', 'size', 'hash',
|
|
|
|
)
|
|
|
|
default_columns = ('pk', 'source', 'path', 'size', 'last_updated')
|