from django.template.loader import render_to_string from django.utils.translation import gettext_lazy as _ import django_tables2 as tables from django_tables2.utils import A class ManageEventsTable(tables.Table): class Meta: attrs = {"class": "responsive-table highlight"} display_name = tables.Column(verbose_name=_("Event")) date_event = tables.Column(verbose_name=_("Date")) max_participants = tables.Column(verbose_name=_("Max. participants")) date_registration = tables.Column(verbose_name=_("Registration until")) edit = tables.LinkColumn( "edit_event_by_slug", args=[A("slug")], verbose_name=_("Edit"), text=_("Edit"), ) view_public = tables.LinkColumn( "event_by_name", args=[A("slug")], verbose_name=_("Public page"), text=_("Public page"), ) view = tables.LinkColumn( "event_detail_by_name", args=[A("slug")], verbose_name=_("View"), text=_("View"), ) class VouchersTable(tables.Table): class Meta: attrs = {"class": "responsive-table highlight"} event = tables.Column(verbose_name=_("Event")) discount = tables.Column(verbose_name=_("Amount")) code = tables.Column(verbose_name=_("Code")) person = tables.Column(verbose_name=_("Person")) deleted = tables.LinkColumn( "delete_voucher_by_pk", args=[A("id")], verbose_name=_("Delete"), text=_("Delete"), ) edit = tables.LinkColumn( "edit_voucher_by_pk", args=[A("id")], verbose_name=_("Edit"), text=_("Edit") ) print_voucher = tables.LinkColumn( "print_voucher_by_pk", args=[A("id")], verbose_name=_("Print"), text=_("Print") ) class EventRegistrationsTable(tables.Table): class Meta: attrs = {"class": "responsive-table highlight"} person = tables.Column() states = tables.Column() checked_in_date = tables.Column() retracted = tables.Column() view = tables.LinkColumn( "registration_by_pk", args=[A("id")], verbose_name=_("View registration"), text=_("View"), ) check_in = tables.LinkColumn( "check_in_registration_by_pk", args=[A("pk")], verbose_name=_("Check in"), text=_("Check in"), ) edit = tables.LinkColumn( "edit_registration_by_pk", args=[A("pk")], verbose_name=_("Edit"), text=_("Edit"), ) def render_states(self, value, record): context = dict(states=value.all()) return render_to_string("paweljong/registration_state/chip.html", context) class TermsTable(tables.Table): class Meta: attrs = {"class": "responsive-table highlight"} title = tables.Column() edit = tables.LinkColumn( "edit_term_by_pk", args=[A("id")], verbose_name=_("Edit"), text=_("Edit"), ) class InfoMailingsTable(tables.Table): class Meta: attrs = {"class": "responsive-table highlight"} subject = tables.Column() edit = tables.LinkColumn( "edit_info_mailing_by_pk", args=[A("id")], verbose_name=_("Edit"), text=_("Edit"), ) delete = tables.LinkColumn( "delete_info_mailing_by_pk", args=[A("id")], verbose_name=_("Delete"), text=_("Delete"), ) class RegistrationStatesTable(tables.Table): class Meta: attrs = {"class": "responsive-table highlight"} name = tables.Column() edit = tables.LinkColumn( "edit_registration_state_by_pk", args=[A("id")], verbose_name=_("Edit"), text=_("Edit"), ) def render_name(self, value, record): context = dict(state=record) return render_to_string("paweljong/registration_state/chip.html", context) class ChildGroupsTable(tables.Table): """Table to list groups.""" class Meta: attrs = {"class": "highlight"} name = tables.LinkColumn("group_by_id", args=[A("id")]) short_name = tables.LinkColumn("group_by_id", args=[A("id")]) add_persons = tables.LinkColumn( "add_persons_to_group", args=[A("id")], verbose_name=_("Add persons"), text=_("Add persons"), ) class EventAdditionalFieldsTable(tables.Table): class Meta: attrs = {"class": "highlight"} title = tables.Column()