-
Notifications
You must be signed in to change notification settings - Fork 1
/
internationals.py
49 lines (39 loc) 路 1.51 KB
/
internationals.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from __future__ import annotations
import django_tables2 as tables
from django.utils.translation import gettext_lazy as _
from django_tables2 import Column
from apps.fiestatables.columns import CountryColumn, ImageColumn, NaturalDatetimeColumn
from apps.sections.models import SectionMembership
class SectionInternationalsTable(tables.Table):
user__full_name_official = Column(
verbose_name=_("International"),
order_by=("user__last_name", "user__first_name", "user__username"),
linkify=(
"sections:membership-detail",
dict(
pk=tables.A("pk"),
),
),
attrs=dict(a={"hx-disable": True}), # TODO: do it properly
)
user__profile__picture = ImageColumn()
user__profile__nationality = CountryColumn(verbose_name=_("Nationality"))
user__profile__faculty__abbr = Column(verbose_name=_("Faculty"))
created = NaturalDatetimeColumn(verbose_name=_("Joined"))
# approve_membership = TemplateColumn(
# template_name="sections/parts/change_membership_state_btn.html",
# exclude_from_export=True,
# order_by="state",
# verbose_name=_("Membership"),
# )
class Meta:
model = SectionMembership
fields = ("created",)
sequence = (
"user__full_name_official",
"user__profile__picture",
"user__profile__nationality",
"user__profile__faculty__abbr",
"...",
)
attrs = dict(tbody={"hx-disable": True})