Skip to content
Snippets Groups Projects
tables.py 990 B
Newer Older
from django.utils.translation import ugettext_lazy as _
import django_tables2 as tables
from django_tables2.utils import A


def _css_class_from_lesson_state(record: Optional[LessonPeriod] = None, table: Optional[LessonTable] = None) -> str:
    if record.get_substitution(table._week):
        return 'table-warning'
    else:
        return ''


class LessonsTable(tables.Table):
    class Meta:
        attrs = {'class': 'table table-striped table-bordered table-hover table-responsive-xl'}

Tom Teichler's avatar
Tom Teichler committed
    period__period = tables.Column(accessor='period.period')
    lesson__groups = tables.Column(accessor='lesson.group_names')
    lesson__teachers = tables.Column(accessor='lesson.teacher_names')
Tom Teichler's avatar
Tom Teichler committed
    lesson__subject = tables.Column(accessor='lesson.subject')
    room = tables.Column(accessor='room')

    def __init__(self, week, *args, **kwargs):
        self._week = week
        super().__init__(*args, **kwargs)

    class Meta:
        row_attrs = {'class': _css_class_from_lesson_state}