From f4fadcd775b9980a0f009828744c5a5b274d32dd Mon Sep 17 00:00:00 2001 From: Jonas Havelka Date: Tue, 2 Mar 2021 22:50:31 +0100 Subject: [PATCH 01/11] =?UTF-8?q?odstran=C4=9Bn=20n=C3=A1hodn=C3=BD=20do?= =?UTF-8?q?=C4=8Dasn=C3=BD=20soubor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/.~lock.profile_vysledkovka.txt# | 1 - 1 file changed, 1 deletion(-) delete mode 100644 seminar/.~lock.profile_vysledkovka.txt# diff --git a/seminar/.~lock.profile_vysledkovka.txt# b/seminar/.~lock.profile_vysledkovka.txt# deleted file mode 100644 index cf1b89b4..00000000 --- a/seminar/.~lock.profile_vysledkovka.txt# +++ /dev/null @@ -1 +0,0 @@ -,anet,erebus,25.03.2020 22:21,file:///home/anet/.config/libreoffice/4; \ No newline at end of file From b5ae76a5a4b86e306d87079863d0930227974ddd Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Tue, 2 Mar 2021 23:03:40 +0100 Subject: [PATCH 02/11] Pridany contenttypes. --- data/contenttypes.json | 530 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 530 insertions(+) create mode 100644 data/contenttypes.json diff --git a/data/contenttypes.json b/data/contenttypes.json new file mode 100644 index 00000000..954fd4b8 --- /dev/null +++ b/data/contenttypes.json @@ -0,0 +1,530 @@ +[ + { + "fields": { + "app_label": "seminar", + "model": "treenode" + }, + "model": "contenttypes.contenttype", + "pk": 1 + }, + { + "fields": { + "app_label": "seminar", + "model": "problem" + }, + "model": "contenttypes.contenttype", + "pk": 2 + }, + { + "fields": { + "app_label": "seminar", + "model": "rocniknode" + }, + "model": "contenttypes.contenttype", + "pk": 3 + }, + { + "fields": { + "app_label": "seminar", + "model": "cislonode" + }, + "model": "contenttypes.contenttype", + "pk": 4 + }, + { + "fields": { + "app_label": "seminar", + "model": "mezicislonode" + }, + "model": "contenttypes.contenttype", + "pk": 5 + }, + { + "fields": { + "app_label": "seminar", + "model": "temavcislenode" + }, + "model": "contenttypes.contenttype", + "pk": 6 + }, + { + "fields": { + "app_label": "seminar", + "model": "orgtextnode" + }, + "model": "contenttypes.contenttype", + "pk": 7 + }, + { + "fields": { + "app_label": "seminar", + "model": "ulohazadaninode" + }, + "model": "contenttypes.contenttype", + "pk": 8 + }, + { + "fields": { + "app_label": "seminar", + "model": "ulohavzoraknode" + }, + "model": "contenttypes.contenttype", + "pk": 9 + }, + { + "fields": { + "app_label": "seminar", + "model": "pohadkanode" + }, + "model": "contenttypes.contenttype", + "pk": 10 + }, + { + "fields": { + "app_label": "seminar", + "model": "textnode" + }, + "model": "contenttypes.contenttype", + "pk": 11 + }, + { + "fields": { + "app_label": "seminar", + "model": "castnode" + }, + "model": "contenttypes.contenttype", + "pk": 12 + }, + { + "fields": { + "app_label": "seminar", + "model": "reseninode" + }, + "model": "contenttypes.contenttype", + "pk": 13 + }, + { + "fields": { + "app_label": "seminar", + "model": "tema" + }, + "model": "contenttypes.contenttype", + "pk": 14 + }, + { + "fields": { + "app_label": "seminar", + "model": "clanek" + }, + "model": "contenttypes.contenttype", + "pk": 15 + }, + { + "fields": { + "app_label": "seminar", + "model": "uloha" + }, + "model": "contenttypes.contenttype", + "pk": 16 + }, + { + "fields": { + "app_label": "auth", + "model": "user" + }, + "model": "contenttypes.contenttype", + "pk": 17 + }, + { + "fields": { + "app_label": "contenttypes", + "model": "contenttype" + }, + "model": "contenttypes.contenttype", + "pk": 18 + }, + { + "fields": { + "app_label": "sessions", + "model": "session" + }, + "model": "contenttypes.contenttype", + "pk": 19 + }, + { + "fields": { + "app_label": "sites", + "model": "site" + }, + "model": "contenttypes.contenttype", + "pk": 20 + }, + { + "fields": { + "app_label": "auth", + "model": "permission" + }, + "model": "contenttypes.contenttype", + "pk": 21 + }, + { + "fields": { + "app_label": "auth", + "model": "group" + }, + "model": "contenttypes.contenttype", + "pk": 22 + }, + { + "fields": { + "app_label": "reversion", + "model": "revision" + }, + "model": "contenttypes.contenttype", + "pk": 23 + }, + { + "fields": { + "app_label": "reversion", + "model": "version" + }, + "model": "contenttypes.contenttype", + "pk": 24 + }, + { + "fields": { + "app_label": "taggit", + "model": "tag" + }, + "model": "contenttypes.contenttype", + "pk": 25 + }, + { + "fields": { + "app_label": "taggit", + "model": "taggeditem" + }, + "model": "contenttypes.contenttype", + "pk": 26 + }, + { + "fields": { + "app_label": "fluent_comments", + "model": "fluentcomment" + }, + "model": "contenttypes.contenttype", + "pk": 27 + }, + { + "fields": { + "app_label": "threadedcomments", + "model": "threadedcomment" + }, + "model": "contenttypes.contenttype", + "pk": 28 + }, + { + "fields": { + "app_label": "django_comments", + "model": "comment" + }, + "model": "contenttypes.contenttype", + "pk": 29 + }, + { + "fields": { + "app_label": "django_comments", + "model": "commentflag" + }, + "model": "contenttypes.contenttype", + "pk": 30 + }, + { + "fields": { + "app_label": "flatpages", + "model": "flatpage" + }, + "model": "contenttypes.contenttype", + "pk": 31 + }, + { + "fields": { + "app_label": "sitetree", + "model": "tree" + }, + "model": "contenttypes.contenttype", + "pk": 32 + }, + { + "fields": { + "app_label": "sitetree", + "model": "treeitem" + }, + "model": "contenttypes.contenttype", + "pk": 33 + }, + { + "fields": { + "app_label": "seminar", + "model": "cislo" + }, + "model": "contenttypes.contenttype", + "pk": 34 + }, + { + "fields": { + "app_label": "seminar", + "model": "resitel" + }, + "model": "contenttypes.contenttype", + "pk": 35 + }, + { + "fields": { + "app_label": "seminar", + "model": "rocnik" + }, + "model": "contenttypes.contenttype", + "pk": 36 + }, + { + "fields": { + "app_label": "seminar", + "model": "skola" + }, + "model": "contenttypes.contenttype", + "pk": 37 + }, + { + "fields": { + "app_label": "seminar", + "model": "soustredeni" + }, + "model": "contenttypes.contenttype", + "pk": 38 + }, + { + "fields": { + "app_label": "seminar", + "model": "reseni" + }, + "model": "contenttypes.contenttype", + "pk": 39 + }, + { + "fields": { + "app_label": "seminar", + "model": "prilohareseni" + }, + "model": "contenttypes.contenttype", + "pk": 40 + }, + { + "fields": { + "app_label": "seminar", + "model": "nastaveni" + }, + "model": "contenttypes.contenttype", + "pk": 41 + }, + { + "fields": { + "app_label": "seminar", + "model": "soustredeni_ucastnici" + }, + "model": "contenttypes.contenttype", + "pk": 42 + }, + { + "fields": { + "app_label": "seminar", + "model": "novinky" + }, + "model": "contenttypes.contenttype", + "pk": 43 + }, + { + "fields": { + "app_label": "seminar", + "model": "organizator" + }, + "model": "contenttypes.contenttype", + "pk": 44 + }, + { + "fields": { + "app_label": "seminar", + "model": "soustredeni_organizatori" + }, + "model": "contenttypes.contenttype", + "pk": 45 + }, + { + "fields": { + "app_label": "seminar", + "model": "konfera" + }, + "model": "contenttypes.contenttype", + "pk": 46 + }, + { + "fields": { + "app_label": "seminar", + "model": "osoba" + }, + "model": "contenttypes.contenttype", + "pk": 47 + }, + { + "fields": { + "app_label": "seminar", + "model": "prijemce" + }, + "model": "contenttypes.contenttype", + "pk": 48 + }, + { + "fields": { + "app_label": "seminar", + "model": "text" + }, + "model": "contenttypes.contenttype", + "pk": 49 + }, + { + "fields": { + "app_label": "seminar", + "model": "pohadka" + }, + "model": "contenttypes.contenttype", + "pk": 50 + }, + { + "fields": { + "app_label": "seminar", + "model": "reseni_resitele" + }, + "model": "contenttypes.contenttype", + "pk": 51 + }, + { + "fields": { + "app_label": "seminar", + "model": "obrazek" + }, + "model": "contenttypes.contenttype", + "pk": 52 + }, + { + "fields": { + "app_label": "seminar", + "model": "hodnoceni" + }, + "model": "contenttypes.contenttype", + "pk": 53 + }, + { + "fields": { + "app_label": "seminar", + "model": "konfery_ucastnici" + }, + "model": "contenttypes.contenttype", + "pk": 54 + }, + { + "fields": { + "app_label": "galerie", + "model": "galerie" + }, + "model": "contenttypes.contenttype", + "pk": 55 + }, + { + "fields": { + "app_label": "galerie", + "model": "obrazek" + }, + "model": "contenttypes.contenttype", + "pk": 56 + }, + { + "fields": { + "app_label": "korektury", + "model": "korekturovanepdf" + }, + "model": "contenttypes.contenttype", + "pk": 57 + }, + { + "fields": { + "app_label": "korektury", + "model": "oprava" + }, + "model": "contenttypes.contenttype", + "pk": 58 + }, + { + "fields": { + "app_label": "korektury", + "model": "komentar" + }, + "model": "contenttypes.contenttype", + "pk": 59 + }, + { + "fields": { + "app_label": "prednasky", + "model": "hlasovani" + }, + "model": "contenttypes.contenttype", + "pk": 60 + }, + { + "fields": { + "app_label": "prednasky", + "model": "prednaska" + }, + "model": "contenttypes.contenttype", + "pk": 61 + }, + { + "fields": { + "app_label": "prednasky", + "model": "seznam" + }, + "model": "contenttypes.contenttype", + "pk": 62 + }, + { + "fields": { + "app_label": "header_fotky", + "model": "fotkaheader" + }, + "model": "contenttypes.contenttype", + "pk": 63 + }, + { + "fields": { + "app_label": "header_fotky", + "model": "fotkaurlvazba" + }, + "model": "contenttypes.contenttype", + "pk": 64 + }, + { + "fields": { + "app_label": "admin", + "model": "logentry" + }, + "model": "contenttypes.contenttype", + "pk": 65 + }, + { + "fields": { + "app_label": "authtoken", + "model": "token" + }, + "model": "contenttypes.contenttype", + "pk": 66 + } +] \ No newline at end of file From dcfda3ff4e08f8705709d7ac4af6402e7a21d4ad Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Tue, 2 Mar 2021 23:15:15 +0100 Subject: [PATCH 03/11] =?UTF-8?q?Odevzd=C3=A1v=C3=A1tko:=20ve=20t=C5=99?= =?UTF-8?q?=C3=ADd=C4=9B=20nem=C3=A1=20b=C3=BDt=20k=C3=B3d,=20jinak=20to?= =?UTF-8?q?=20rozb=C3=ADj=C3=AD=20testdata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/forms.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/seminar/forms.py b/seminar/forms.py index 39714fae..800b8e35 100644 --- a/seminar/forms.py +++ b/seminar/forms.py @@ -382,11 +382,15 @@ class OdevzdavatkoTabulkaFiltrForm(forms.Form): return result + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + # choices jako parametr Select widgetu neumí brát callable, jen iterable, takže si pro jednoduchost můžu rovnou uložit výsledek sem... + # A "sem" znamená do libovolné metody, protože jinak se jedná o kód, který django spustí při inicializaci a protože potřebujeme databázi, tak by spadnul při vyrábění testdat... + self.terminy = self.gen_terminy() + # NOTE: Initial definuji pro jednotlivé fieldy, aby to bylo tady a nebylo potřeba to řešit ve views... resitele = forms.ChoiceField(choices=RESITELE_CHOICES, initial=RESITELE_RELEVANTNI) problemy = forms.ChoiceField(choices=PROBLEMY_CHOICES, initial=PROBLEMY_MOJE) - # choices jako parametr Select widgetu neumí brát callable, jen iterable, takže si pro jednoduchost můžu rovnou uložit výsledek sem... - terminy = gen_terminy() reseni_od = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=terminy), initial=terminy[-2]) reseni_do = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=terminy), initial=terminy[-1]) From 281b6551f8851cd195ee48908cc50b43a6b59dcc Mon Sep 17 00:00:00 2001 From: Jonas Havelka Date: Tue, 2 Mar 2021 23:26:18 +0100 Subject: [PATCH 04/11] Opravena neverejna aktualni vysledkovka --- seminar/templates/seminar/zadani/AktualniVysledkovka.html | 2 ++ seminar/views/views_all.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/seminar/templates/seminar/zadani/AktualniVysledkovka.html b/seminar/templates/seminar/zadani/AktualniVysledkovka.html index ed89c87c..5874c983 100644 --- a/seminar/templates/seminar/zadani/AktualniVysledkovka.html +++ b/seminar/templates/seminar/zadani/AktualniVysledkovka.html @@ -24,7 +24,9 @@

Výsledky včetně neveřejných

{% with vysledkovka_s_neverejnymi as radky_vysledkovky %} + {% with cisla_s_neverejnymi as cisla %} {% include "seminar/vysledkovka_rocnik.html" %} + {% endwith %} {% endwith %}
{% endif %} diff --git a/seminar/views/views_all.py b/seminar/views/views_all.py index 032e9380..04600d6a 100644 --- a/seminar/views/views_all.py +++ b/seminar/views/views_all.py @@ -503,6 +503,7 @@ def ZadaniAktualniVysledkovkaView(request): pass # vysledkovka s neverejnyma vysledkama vysledkovka_s_neverejnymi = vysledkovka_rocniku(nastaveni.aktualni_rocnik, jen_verejne=False) + cisla_s_neverejnymi = cisla_rocniku(nastaveni.aktualni_rocnik, jen_verejne=False) return render( request, 'seminar/zadani/AktualniVysledkovka.html', @@ -511,6 +512,7 @@ def ZadaniAktualniVysledkovkaView(request): 'radky_vysledkovky': vysledkovka, 'cisla': cisla, 'vysledkovka_s_neverejnymi': vysledkovka_s_neverejnymi, + 'cisla_s_neverejnymi': cisla_s_neverejnymi, } ) From 6dcd87684aa28d82d901f0e1dd4f0655cafa89bf Mon Sep 17 00:00:00 2001 From: Jonas Havelka Date: Tue, 2 Mar 2021 23:35:40 +0100 Subject: [PATCH 05/11] Sesortena neverejna aktualni vysledkovka --- seminar/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seminar/utils.py b/seminar/utils.py index a02c317c..e28f3cbc 100644 --- a/seminar/utils.py +++ b/seminar/utils.py @@ -232,7 +232,7 @@ def cisla_rocniku(rocnik, jen_verejne=True): if jen_verejne: return rocnik.verejna_cisla() else: - return rocnik.cisla.all() + return rocnik.cisla.all().order_by('poradi') def hlavni_problem(problem): """ Pro daný problém vrátí jeho nejvyšší nadproblém.""" From a6cf928471d0a4439fa9ea5668ba1e040d619d4b Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Tue, 2 Mar 2021 23:45:58 +0100 Subject: [PATCH 06/11] Zakomentovana (pravdepodobne) nepouzivana funkce verejne --- seminar/models.py | 50 +++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/seminar/models.py b/seminar/models.py index b85711e5..f2c418e6 100644 --- a/seminar/models.py +++ b/seminar/models.py @@ -864,31 +864,31 @@ class Problem(SeminarModelBase,PolymorphicModel): return str(self.kod) return '' - def verejne(self): - # aktuálně podle stavu problému - # FIXME pro některé problémy možná chceme override - # FIXME vrací veřejnost čistě problému, nezávisle na čísle, ve kterém je. - # Je to tak správně? Podle aktuální představy ano. - stav_verejny = False - if self.stav == 'zadany' or self.stav == 'vyreseny': - stav_verejny = True - print("stav_verejny: {}".format(stav_verejny)) - - cislo_verejne = False - cislonode = self.cislo_node() - if cislonode is None: - # problém nemá vlastní node, veřejnost posuzujeme jen podle stavu - print("empty node") - return stav_verejny - else: - cislo_zadani = cislonode.cislo - if (cislo_zadani and cislo_zadani.verejne()): - print("cislo: {}".format(cislo_zadani)) - cislo_verejne = True - print("stav_verejny: {}".format(stav_verejny)) - print("cislo_verejne: {}".format(cislo_verejne)) - return (stav_verejny and cislo_verejne) - verejne.boolean = True +# def verejne(self): +# # aktuálně podle stavu problému +# # FIXME pro některé problémy možná chceme override +# # FIXME vrací veřejnost čistě problému, nezávisle na čísle, ve kterém je. +# # Je to tak správně? Podle aktuální představy ano. +# stav_verejny = False +# if self.stav == 'zadany' or self.stav == 'vyreseny': +# stav_verejny = True +# print("stav_verejny: {}".format(stav_verejny)) +# +# cislo_verejne = False +# cislonode = self.cislo_node() +# if cislonode is None: +# # problém nemá vlastní node, veřejnost posuzujeme jen podle stavu +# print("empty node") +# return stav_verejny +# else: +# cislo_zadani = cislonode.cislo +# if (cislo_zadani and cislo_zadani.verejne()): +# print("cislo: {}".format(cislo_zadani)) +# cislo_verejne = True +# print("stav_verejny: {}".format(stav_verejny)) +# print("cislo_verejne: {}".format(cislo_verejne)) +# return (stav_verejny and cislo_verejne) +# verejne.boolean = True def verejne_url(self): return reverse('seminar_problem', kwargs={'pk': self.id}) From 8b37035bf3b1ab98550d5031ace0e288f8631fb1 Mon Sep 17 00:00:00 2001 From: "Tomas \"Jethro\" Pokorny" Date: Tue, 2 Mar 2021 23:46:30 +0100 Subject: [PATCH 07/11] Admin | Nedovolit zverejnit cislo, kdyz nejou zverejnene problemy. --- seminar/admin.py | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/seminar/admin.py b/seminar/admin.py index 4da32e96..849ca696 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -1,7 +1,8 @@ from django.contrib import admin from django.contrib.auth.models import Group from django.db import models -from django.forms import widgets +from django.forms import widgets, ModelForm +from django.core.exceptions import ValidationError from polymorphic.admin import PolymorphicParentModelAdmin, PolymorphicChildModelAdmin, PolymorphicChildModelFilter from reversion.admin import VersionAdmin @@ -12,11 +13,43 @@ from solo.admin import SingletonModelAdmin # Todo: reversion import seminar.models as m +import seminar.treelib as tl admin.site.register(m.Skola) admin.site.register(m.Prijemce) admin.site.register(m.Rocnik) -admin.site.register(m.Cislo) + +class CisloForm(ModelForm): + class Meta: + model = m.Cislo + fields = '__all__' + + def clean(self): + print("Cleaning...") + print(self.cleaned_data) + if self.cleaned_data.get('verejne_db') == False: + return self.cleaned_data + cn = m.CisloNode.objects.get(cislo=self.instance) + for ch in tl.all_children(cn): + if isinstance(ch, m.TemaVCisleNode): + if ch.tema.stav not in \ + (m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY): + raise ValidationError('Téma %(tema)s není zadané ani vyřešené', params={'tema':ch.tema}) + + if isinstance(ch, m.UlohaZadaniNode) or isinstance(ch, m.UlohaVzorakNode): + if ch.uloha.stav not in \ + (m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY): + raise ValidationError('Úloha %(uloha)s není zadaná ani vyřešená', params={'uloha':ch.uloha}) + if isinstance(ch, m.ReseniNode): + for problem in ch.reseni.problem_set: + if problem not in \ + (m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY): + raise ValidationError('Problém %s není zadaný ani vyřešený', code=problem) + return self.cleaned_data + +@admin.register(m.Cislo) +class CisloAdmin(admin.ModelAdmin): + form = CisloForm @admin.register(m.Osoba) class OsobaAdmin(admin.ModelAdmin): From 1c8cf08f32f6fdf644176c0908722452847922db Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Wed, 3 Mar 2021 00:46:09 +0100 Subject: [PATCH 08/11] =?UTF-8?q?Revert=20"Odevzd=C3=A1v=C3=A1tko:=20ve=20?= =?UTF-8?q?t=C5=99=C3=ADd=C4=9B=20nem=C3=A1=20b=C3=BDt=20k=C3=B3d,=20jinak?= =?UTF-8?q?=20to=20rozb=C3=ADj=C3=AD=20testdata"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pořád je to rozbitý, budu si s tím hrát separátně This reverts commit dcfda3ff4e08f8705709d7ac4af6402e7a21d4ad. --- seminar/forms.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/seminar/forms.py b/seminar/forms.py index 800b8e35..39714fae 100644 --- a/seminar/forms.py +++ b/seminar/forms.py @@ -382,15 +382,11 @@ class OdevzdavatkoTabulkaFiltrForm(forms.Form): return result - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - # choices jako parametr Select widgetu neumí brát callable, jen iterable, takže si pro jednoduchost můžu rovnou uložit výsledek sem... - # A "sem" znamená do libovolné metody, protože jinak se jedná o kód, který django spustí při inicializaci a protože potřebujeme databázi, tak by spadnul při vyrábění testdat... - self.terminy = self.gen_terminy() - # NOTE: Initial definuji pro jednotlivé fieldy, aby to bylo tady a nebylo potřeba to řešit ve views... resitele = forms.ChoiceField(choices=RESITELE_CHOICES, initial=RESITELE_RELEVANTNI) problemy = forms.ChoiceField(choices=PROBLEMY_CHOICES, initial=PROBLEMY_MOJE) + # choices jako parametr Select widgetu neumí brát callable, jen iterable, takže si pro jednoduchost můžu rovnou uložit výsledek sem... + terminy = gen_terminy() reseni_od = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=terminy), initial=terminy[-2]) reseni_do = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=terminy), initial=terminy[-1]) From 2a156e3774db8a8a9d8b743368a69d09fe508f3d Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Wed, 3 Mar 2021 00:46:56 +0100 Subject: [PATCH 09/11] Revert "Pridany contenttypes." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit U každého jsou jiné a nejdou aplikovat, viz Kanec:#1099 This reverts commit b5ae76a5a4b86e306d87079863d0930227974ddd. --- data/contenttypes.json | 530 ----------------------------------------- 1 file changed, 530 deletions(-) delete mode 100644 data/contenttypes.json diff --git a/data/contenttypes.json b/data/contenttypes.json deleted file mode 100644 index 954fd4b8..00000000 --- a/data/contenttypes.json +++ /dev/null @@ -1,530 +0,0 @@ -[ - { - "fields": { - "app_label": "seminar", - "model": "treenode" - }, - "model": "contenttypes.contenttype", - "pk": 1 - }, - { - "fields": { - "app_label": "seminar", - "model": "problem" - }, - "model": "contenttypes.contenttype", - "pk": 2 - }, - { - "fields": { - "app_label": "seminar", - "model": "rocniknode" - }, - "model": "contenttypes.contenttype", - "pk": 3 - }, - { - "fields": { - "app_label": "seminar", - "model": "cislonode" - }, - "model": "contenttypes.contenttype", - "pk": 4 - }, - { - "fields": { - "app_label": "seminar", - "model": "mezicislonode" - }, - "model": "contenttypes.contenttype", - "pk": 5 - }, - { - "fields": { - "app_label": "seminar", - "model": "temavcislenode" - }, - "model": "contenttypes.contenttype", - "pk": 6 - }, - { - "fields": { - "app_label": "seminar", - "model": "orgtextnode" - }, - "model": "contenttypes.contenttype", - "pk": 7 - }, - { - "fields": { - "app_label": "seminar", - "model": "ulohazadaninode" - }, - "model": "contenttypes.contenttype", - "pk": 8 - }, - { - "fields": { - "app_label": "seminar", - "model": "ulohavzoraknode" - }, - "model": "contenttypes.contenttype", - "pk": 9 - }, - { - "fields": { - "app_label": "seminar", - "model": "pohadkanode" - }, - "model": "contenttypes.contenttype", - "pk": 10 - }, - { - "fields": { - "app_label": "seminar", - "model": "textnode" - }, - "model": "contenttypes.contenttype", - "pk": 11 - }, - { - "fields": { - "app_label": "seminar", - "model": "castnode" - }, - "model": "contenttypes.contenttype", - "pk": 12 - }, - { - "fields": { - "app_label": "seminar", - "model": "reseninode" - }, - "model": "contenttypes.contenttype", - "pk": 13 - }, - { - "fields": { - "app_label": "seminar", - "model": "tema" - }, - "model": "contenttypes.contenttype", - "pk": 14 - }, - { - "fields": { - "app_label": "seminar", - "model": "clanek" - }, - "model": "contenttypes.contenttype", - "pk": 15 - }, - { - "fields": { - "app_label": "seminar", - "model": "uloha" - }, - "model": "contenttypes.contenttype", - "pk": 16 - }, - { - "fields": { - "app_label": "auth", - "model": "user" - }, - "model": "contenttypes.contenttype", - "pk": 17 - }, - { - "fields": { - "app_label": "contenttypes", - "model": "contenttype" - }, - "model": "contenttypes.contenttype", - "pk": 18 - }, - { - "fields": { - "app_label": "sessions", - "model": "session" - }, - "model": "contenttypes.contenttype", - "pk": 19 - }, - { - "fields": { - "app_label": "sites", - "model": "site" - }, - "model": "contenttypes.contenttype", - "pk": 20 - }, - { - "fields": { - "app_label": "auth", - "model": "permission" - }, - "model": "contenttypes.contenttype", - "pk": 21 - }, - { - "fields": { - "app_label": "auth", - "model": "group" - }, - "model": "contenttypes.contenttype", - "pk": 22 - }, - { - "fields": { - "app_label": "reversion", - "model": "revision" - }, - "model": "contenttypes.contenttype", - "pk": 23 - }, - { - "fields": { - "app_label": "reversion", - "model": "version" - }, - "model": "contenttypes.contenttype", - "pk": 24 - }, - { - "fields": { - "app_label": "taggit", - "model": "tag" - }, - "model": "contenttypes.contenttype", - "pk": 25 - }, - { - "fields": { - "app_label": "taggit", - "model": "taggeditem" - }, - "model": "contenttypes.contenttype", - "pk": 26 - }, - { - "fields": { - "app_label": "fluent_comments", - "model": "fluentcomment" - }, - "model": "contenttypes.contenttype", - "pk": 27 - }, - { - "fields": { - "app_label": "threadedcomments", - "model": "threadedcomment" - }, - "model": "contenttypes.contenttype", - "pk": 28 - }, - { - "fields": { - "app_label": "django_comments", - "model": "comment" - }, - "model": "contenttypes.contenttype", - "pk": 29 - }, - { - "fields": { - "app_label": "django_comments", - "model": "commentflag" - }, - "model": "contenttypes.contenttype", - "pk": 30 - }, - { - "fields": { - "app_label": "flatpages", - "model": "flatpage" - }, - "model": "contenttypes.contenttype", - "pk": 31 - }, - { - "fields": { - "app_label": "sitetree", - "model": "tree" - }, - "model": "contenttypes.contenttype", - "pk": 32 - }, - { - "fields": { - "app_label": "sitetree", - "model": "treeitem" - }, - "model": "contenttypes.contenttype", - "pk": 33 - }, - { - "fields": { - "app_label": "seminar", - "model": "cislo" - }, - "model": "contenttypes.contenttype", - "pk": 34 - }, - { - "fields": { - "app_label": "seminar", - "model": "resitel" - }, - "model": "contenttypes.contenttype", - "pk": 35 - }, - { - "fields": { - "app_label": "seminar", - "model": "rocnik" - }, - "model": "contenttypes.contenttype", - "pk": 36 - }, - { - "fields": { - "app_label": "seminar", - "model": "skola" - }, - "model": "contenttypes.contenttype", - "pk": 37 - }, - { - "fields": { - "app_label": "seminar", - "model": "soustredeni" - }, - "model": "contenttypes.contenttype", - "pk": 38 - }, - { - "fields": { - "app_label": "seminar", - "model": "reseni" - }, - "model": "contenttypes.contenttype", - "pk": 39 - }, - { - "fields": { - "app_label": "seminar", - "model": "prilohareseni" - }, - "model": "contenttypes.contenttype", - "pk": 40 - }, - { - "fields": { - "app_label": "seminar", - "model": "nastaveni" - }, - "model": "contenttypes.contenttype", - "pk": 41 - }, - { - "fields": { - "app_label": "seminar", - "model": "soustredeni_ucastnici" - }, - "model": "contenttypes.contenttype", - "pk": 42 - }, - { - "fields": { - "app_label": "seminar", - "model": "novinky" - }, - "model": "contenttypes.contenttype", - "pk": 43 - }, - { - "fields": { - "app_label": "seminar", - "model": "organizator" - }, - "model": "contenttypes.contenttype", - "pk": 44 - }, - { - "fields": { - "app_label": "seminar", - "model": "soustredeni_organizatori" - }, - "model": "contenttypes.contenttype", - "pk": 45 - }, - { - "fields": { - "app_label": "seminar", - "model": "konfera" - }, - "model": "contenttypes.contenttype", - "pk": 46 - }, - { - "fields": { - "app_label": "seminar", - "model": "osoba" - }, - "model": "contenttypes.contenttype", - "pk": 47 - }, - { - "fields": { - "app_label": "seminar", - "model": "prijemce" - }, - "model": "contenttypes.contenttype", - "pk": 48 - }, - { - "fields": { - "app_label": "seminar", - "model": "text" - }, - "model": "contenttypes.contenttype", - "pk": 49 - }, - { - "fields": { - "app_label": "seminar", - "model": "pohadka" - }, - "model": "contenttypes.contenttype", - "pk": 50 - }, - { - "fields": { - "app_label": "seminar", - "model": "reseni_resitele" - }, - "model": "contenttypes.contenttype", - "pk": 51 - }, - { - "fields": { - "app_label": "seminar", - "model": "obrazek" - }, - "model": "contenttypes.contenttype", - "pk": 52 - }, - { - "fields": { - "app_label": "seminar", - "model": "hodnoceni" - }, - "model": "contenttypes.contenttype", - "pk": 53 - }, - { - "fields": { - "app_label": "seminar", - "model": "konfery_ucastnici" - }, - "model": "contenttypes.contenttype", - "pk": 54 - }, - { - "fields": { - "app_label": "galerie", - "model": "galerie" - }, - "model": "contenttypes.contenttype", - "pk": 55 - }, - { - "fields": { - "app_label": "galerie", - "model": "obrazek" - }, - "model": "contenttypes.contenttype", - "pk": 56 - }, - { - "fields": { - "app_label": "korektury", - "model": "korekturovanepdf" - }, - "model": "contenttypes.contenttype", - "pk": 57 - }, - { - "fields": { - "app_label": "korektury", - "model": "oprava" - }, - "model": "contenttypes.contenttype", - "pk": 58 - }, - { - "fields": { - "app_label": "korektury", - "model": "komentar" - }, - "model": "contenttypes.contenttype", - "pk": 59 - }, - { - "fields": { - "app_label": "prednasky", - "model": "hlasovani" - }, - "model": "contenttypes.contenttype", - "pk": 60 - }, - { - "fields": { - "app_label": "prednasky", - "model": "prednaska" - }, - "model": "contenttypes.contenttype", - "pk": 61 - }, - { - "fields": { - "app_label": "prednasky", - "model": "seznam" - }, - "model": "contenttypes.contenttype", - "pk": 62 - }, - { - "fields": { - "app_label": "header_fotky", - "model": "fotkaheader" - }, - "model": "contenttypes.contenttype", - "pk": 63 - }, - { - "fields": { - "app_label": "header_fotky", - "model": "fotkaurlvazba" - }, - "model": "contenttypes.contenttype", - "pk": 64 - }, - { - "fields": { - "app_label": "admin", - "model": "logentry" - }, - "model": "contenttypes.contenttype", - "pk": 65 - }, - { - "fields": { - "app_label": "authtoken", - "model": "token" - }, - "model": "contenttypes.contenttype", - "pk": 66 - } -] \ No newline at end of file From 0c2715bdc93f4db6bcfc8c3554bb232c2a63d46b Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Wed, 3 Mar 2021 00:57:37 +0100 Subject: [PATCH 10/11] =?UTF-8?q?Ohackov=C3=A1na=20neexistuj=C3=ADc=C3=AD?= =?UTF-8?q?=20DB=20p=C5=99i=20v=C3=BDrob=C4=9B=20testdat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Teď zrovna mi DB hází I/O errory, ale to by snad nemělo souviset... --- seminar/forms.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/seminar/forms.py b/seminar/forms.py index 39714fae..f26d11fa 100644 --- a/seminar/forms.py +++ b/seminar/forms.py @@ -350,9 +350,17 @@ class OdevzdavatkoTabulkaFiltrForm(forms.Form): def gen_terminy(): import datetime from time import strftime - - aktualni_rocnik = m.Nastaveni.get_solo().aktualni_rocnik - aktualni_cislo = m.Nastaveni.get_solo().aktualni_cislo + + from django.db.utils import OperationalError + try: + aktualni_rocnik = m.Nastaveni.get_solo().aktualni_rocnik + aktualni_cislo = m.Nastaveni.get_solo().aktualni_cislo + except OperationalError: + # django.db.utils.OperationalError: no such table: seminar_nastaveni + # Nemáme databázi, takže to selhalo. Pro jistotu vrátíme aspoň dvě možnosti, ať to nepadá dál + logger = logging.getLogger(__name__) + logger.error("Rozbitá databáze (před počátečními migracemi?)") + return [('broken', 'Je to rozbitý'), ('fubar', 'Nefunguje to')] result = [] From 6b36d50c50c519f98050a7c80364ebb11c426135 Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Wed, 3 Mar 2021 01:06:24 +0100 Subject: [PATCH 11/11] Fix --- seminar/views/odevzdavatko.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/seminar/views/odevzdavatko.py b/seminar/views/odevzdavatko.py index d1cedb1b..14305b10 100644 --- a/seminar/views/odevzdavatko.py +++ b/seminar/views/odevzdavatko.py @@ -57,10 +57,10 @@ class TabulkaOdevzdanychReseniView(ListView): reseni_od = fcd["reseni_od"] reseni_do = fcd["reseni_do"] else: - resitele = FiltrForm.get_initial_for_field(FormFiltr.resitele, "resitele") - problemy = FiltrForm.get_initial_for_field(FormFiltr.problemy, "problemy") - resitele_od = FiltrForm.get_initial_for_field(FormFiltr.resitele_od, "resitele_od") - resitele_do = FiltrForm.get_initial_for_field(FormFiltr.resitele_do, "resitele_do") + resitele = FiltrForm.get_initial_for_field(FiltrForm.resitele, "resitele") + problemy = FiltrForm.get_initial_for_field(FiltrForm.problemy, "problemy") + resitele_od = FiltrForm.get_initial_for_field(FiltrForm.resitele_od, "resitele_od") + resitele_do = FiltrForm.get_initial_for_field(FiltrForm.resitele_do, "resitele_do") # Filtrujeme!