from django import template from django.utils.safestring import mark_safe register = template.Library() import seminar.models as m @register.filter(name='deadline_kratseji') def deadline_kratsi_text(deadline: m.Deadline): if deadline is None: return 'NONE' strings = { m.Deadline.TYP_PRVNI: f"{deadline.cislo} ⭯", m.Deadline.TYP_SOUS: f"{deadline.cislo} Ⓢ", m.Deadline.TYP_PRVNI_A_SOUS: f"{deadline.cislo} ⭯Ⓢ", m.Deadline.TYP_CISLA: f"{deadline.cislo} ✓", } return strings[deadline.typ] @register.filter(name='deadline_html') def deadline_html(deadline: m.Deadline): if deadline is None: return 'Neznámý deadline' text = deadline_kratsi_text(deadline) classes = { m.Deadline.TYP_PRVNI: 'preddeadline', m.Deadline.TYP_SOUS: 'sous_deadline', m.Deadline.TYP_PRVNI_A_SOUS: 'sous_deadline', m.Deadline.TYP_CISLA: 'final_deadline', } return mark_safe(f'{text}') @register.filter(name='zkrat_nazev_problemu') def zkrat_nazev_problemu(nazev,width): if len(nazev) > width: if nazev[width-1] == " ": nazev = nazev[:width-1] + "..." else: nazev = nazev[:width] + "..." return nazev