You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

38 lines
1.1 KiB

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'<span class="{classes[deadline.typ]}">{text}</span>')
@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