| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- import django_tables2 as tables
- from django.utils.translation import gettext as _
- from account.tables import UserTokenTable
- from netbox.tables import NetBoxTable, columns
- from users.models import NetBoxGroup, NetBoxUser, ObjectPermission, Token
- __all__ = (
- 'GroupTable',
- 'ObjectPermissionTable',
- 'TokenTable',
- 'UserTable',
- )
- class TokenTable(UserTokenTable):
- user = tables.Column(
- linkify=True,
- verbose_name=_('User')
- )
- class Meta(NetBoxTable.Meta):
- model = Token
- fields = (
- 'pk', 'id', 'key', 'user', 'description', 'write_enabled', 'created', 'expires', 'last_used', 'allowed_ips',
- )
- class UserTable(NetBoxTable):
- username = tables.Column(
- verbose_name=_('Username'),
- linkify=True
- )
- groups = columns.ManyToManyColumn(
- verbose_name=_('Groups'),
- linkify_item=('users:netboxgroup', {'pk': tables.A('pk')})
- )
- is_active = columns.BooleanColumn(
- verbose_name=_('Is Active'),
- )
- is_staff = columns.BooleanColumn(
- verbose_name=_('Is Staff'),
- )
- is_superuser = columns.BooleanColumn(
- verbose_name=_('Is Superuser'),
- )
- actions = columns.ActionsColumn(
- actions=('edit', 'delete'),
- )
- class Meta(NetBoxTable.Meta):
- model = NetBoxUser
- fields = (
- 'pk', 'id', 'username', 'first_name', 'last_name', 'email', 'groups', 'is_active', 'is_staff',
- 'is_superuser', 'last_login',
- )
- default_columns = ('pk', 'username', 'first_name', 'last_name', 'email', 'is_active')
- class GroupTable(NetBoxTable):
- name = tables.Column(
- verbose_name=_('Name'),
- linkify=True
- )
- actions = columns.ActionsColumn(
- actions=('edit', 'delete'),
- )
- class Meta(NetBoxTable.Meta):
- model = NetBoxGroup
- fields = (
- 'pk', 'id', 'name', 'users_count',
- )
- default_columns = ('pk', 'name', 'users_count', )
- class ObjectPermissionTable(NetBoxTable):
- name = tables.Column(
- verbose_name=_('Name'),
- linkify=True
- )
- object_types = columns.ContentTypesColumn(
- verbose_name=_('Object Types'),
- )
- enabled = columns.BooleanColumn(
- verbose_name=_('Enabled'),
- )
- can_view = columns.BooleanColumn(
- verbose_name=_('Can View'),
- )
- can_add = columns.BooleanColumn(
- verbose_name=_('Can Add'),
- )
- can_change = columns.BooleanColumn(
- verbose_name=_('Can Change'),
- )
- can_delete = columns.BooleanColumn(
- verbose_name=_('Can Delete'),
- )
- custom_actions = columns.ArrayColumn(
- verbose_name=_('Custom Actions'),
- accessor=tables.A('actions')
- )
- users = columns.ManyToManyColumn(
- verbose_name=_('Users'),
- linkify_item=('users:netboxuser', {'pk': tables.A('pk')})
- )
- groups = columns.ManyToManyColumn(
- verbose_name=_('Groups'),
- linkify_item=('users:netboxgroup', {'pk': tables.A('pk')})
- )
- actions = columns.ActionsColumn(
- actions=('edit', 'delete'),
- )
- class Meta(NetBoxTable.Meta):
- model = ObjectPermission
- fields = (
- 'pk', 'id', 'name', 'enabled', 'object_types', 'can_view', 'can_add', 'can_change', 'can_delete',
- 'custom_actions', 'users', 'groups', 'constraints', 'description',
- )
- default_columns = (
- 'pk', 'name', 'enabled', 'object_types', 'can_view', 'can_add', 'can_change', 'can_delete', 'description',
- )
|