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."""
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()