Browse Source

Barvičkyyy!

prehlednejsi_hodnotitko
Pavel "LEdoian" Turinsky 1 year ago
parent
commit
fe144e6de7
  1. 1
      mamweb/static/css/mamweb.css
  2. 3
      odevzdavatko/templates/odevzdavatko/tabulka.html
  3. 15
      odevzdavatko/templatetags/barvy_reseni.py

1
mamweb/static/css/mamweb.css

@ -1233,6 +1233,7 @@ div.gdpr {
.dosla_reseni tr th, .dosla_reseni tr td {
padding: 1px 10px 1px 10px;
border-collapse: collapse;
min-width: 8em; /*Nastřeleno, aby se řádky s řešeními nezalamovaly. Teoreticky není potřeba pro th, ale whatever.*/
}
.dosla_reseni tr:nth-child(even) {

3
odevzdavatko/templates/odevzdavatko/tabulka.html

@ -1,6 +1,7 @@
{% extends "base.html" %}
{% load utils %} {# Možná by mohlo být někde výš v hierarchii templatů... #}
{% load barvy_reseni %}
{% block content %}
@ -39,7 +40,7 @@ Do data (včetně): {{ filtr.reseni_do }}
{% for soucet,bunka in hodnoty %}
<td>
{% for reseni,hodnoceni in bunka %}
<a href="{% url 'odevzdavatko_detail_reseni' pk=reseni.id %}">
<a style="color: {{reseni|barva_reseni}};" href="{% url 'odevzdavatko_detail_reseni' pk=reseni.id %}">
{{reseni.cas_doruceni | date:"j. n."}} ({{ hodnoceni.body|default_if_none:"🔨"}} b)
</a><br>
{% endfor %}

15
odevzdavatko/templatetags/barvy_reseni.py

@ -0,0 +1,15 @@
from django import template
register = template.Library()
from functools import cache
import seminar.models as m
@register.filter
@cache
def barva_reseni(r: m.Reseni):
"""Vrátí nějakou barvu pro daný problém, ve tvaru '#RRGGBB'
Efektivně hešujeme do barev."""
#TODO: ne všechny barvy jsou dobře rozlišitelné a vidět…
return f'#{hash(str(r.id)) & 0xffffff:06x}'
Loading…
Cancel
Save