Source code for ferrosoft.apps.ferrobase.tenant.tables

from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from django_tables2 import tables

from ferrosoft.apps.ferrobase.models import User
from ferrosoft.apps.ferrobase.tables import Column, EmptyExpandColumn, ActionColumn
from ferrosoft.apps.ferrobase.views import table_template_bs5


[docs] class UserTable(tables.Table): """Read-only Bootstrap 5 listing of users with edit/delete/assign actions."""
[docs] class Meta: attrs = { "class": "table nowrap fixed-layout", } template_name = table_template_bs5 model = User fields = ( "username", "first_name", "last_name", "email", "language", ) orderable = False
username = Column( fixed_width=20, ) first_name = Column( fixed_width=20, ) last_name = Column( fixed_width=20, ) email = Column( fixed_width=30, ) language = Column( fixed_width=10, ) edit = ActionColumn( fixed_width=10, verbose_name=_("Edit"), label=_("Edit"), font_icon="fi-pencil", href=lambda record, **kwargs: reverse( "admin:ferrobase_user_change", args=[record.pk] ), ) delete = ActionColumn( fixed_width=10, verbose_name=_("Delete"), label=_("Delete"), font_icon="fi-trash", href=lambda record, **kwargs: reverse( "admin:ferrobase_user_delete", args=[record.pk] ), ) assign_tenants = ActionColumn( fixed_width=10, verbose_name=_("Assign resources"), label=_("Assign"), font_icon="fi-home", href=lambda record, **kwargs: reverse( "ferrobase:assign_user_resources", args=[record.pk] ), ) empty = EmptyExpandColumn()