diff --git a/seminar/templates/seminar/tematka/rozcestnik.html b/seminar/templates/seminar/tematka/rozcestnik.html
index abec82dd..b13d6075 100644
--- a/seminar/templates/seminar/tematka/rozcestnik.html
+++ b/seminar/templates/seminar/tematka/rozcestnik.html
@@ -3,10 +3,10 @@
{{tematko.abstrakt}}
{% for cislo in tematko.cisla %}
- - {{cislo.0.0}} -> /{{tematko.kod}}/#{{cislo.0.1}}
+ - {{cislo.0.0}}
{% for odkaz in cislo.1 %}
- - {{odkaz.0}} -> /{{tematko.kod}}/#{{odkaz.1}}
+ - {{odkaz.0}}
{% endfor %}
{% endfor %}
diff --git a/seminar/templates/seminar/tematka/toaletak.html b/seminar/templates/seminar/tematka/toaletak.html
new file mode 100644
index 00000000..8b556c6c
--- /dev/null
+++ b/seminar/templates/seminar/tematka/toaletak.html
@@ -0,0 +1 @@
+Stránká témátka
diff --git a/seminar/urls.py b/seminar/urls.py
index 213494f6..c09d32b0 100644
--- a/seminar/urls.py
+++ b/seminar/urls.py
@@ -8,8 +8,8 @@ from django.contrib.auth import views as auth_views
staff_member_required = user_passes_test(lambda u: u.is_staff)
urlpatterns = [
- path('tematka/', views.TemataRozcestnikView),
- path('tematko//', views.TematkoView),
+ path('aktualni/temata/', views.TemataRozcestnikView),
+ path('/t/', views.TematkoView),
# REDIRECTy
path('jak-resit/', RedirectView.as_view(url='/co-je-MaM/jak-resit/')),
diff --git a/seminar/views.py b/seminar/views.py
index ccbb2d00..5838f48d 100644
--- a/seminar/views.py
+++ b/seminar/views.py
@@ -75,10 +75,7 @@ def ZadaniTemataView(request):
}
)
-#TODO na příště - implementovat DFS, které vrátí seznam objektů, jejich hloubku a objekt, který chci zobrazit,
-#TODO na příště - rozmyslet, jak zobrazovat objekty - u každého Nodu se objekt, na který ukazuje jmenuje jinak, zavést metodu, která se u každé subclassy bude jmenovat stejně? __str__
-#TODO na příště - v jaké formě předávat templatu? Jak řešit rozbalovací tagy?
-#TODO na příště - implementace vpisování rozbalovacích tagů, vytvořit si nový objekt, který bude mít stejnou metodu jako objekty, které mají node, která bude vracet vhodný tag a prostě ji přidat do seznamu?
+# TODO Napsat tuto funkci znovu rekurzivně podle Jethrorad. Potom se podívat, jak lehce se dá modifikovat pro Rozcestník. Pokud lehce, rozšířit ji. Pokud složitě - použít tuhle
def vytahniZLesaSeznam(tematko, koren, pouze_zajimave=False):
returnVal = []
@@ -122,8 +119,19 @@ def vytahniZLesaSeznam(tematko, koren, pouze_zajimave=False):
returnVal.append((wn, wd))
return returnVal
-def TematkoView(request):
- neco
+def TematkoView(request, rocnik, tematko):
+ nastaveni = s.Nastaveni.objects.first()
+ rocnik_object = s.Rocnik.objects.filter(rocnik=rocnik)
+ tematko_object = s.Tema.objects.filter(rocnik=rocnik_object[0], kod=tematko)
+ seznam = vytahniZLesaSeznam(tematko_object[0], nastaveni.aktualni_rocnik().rocniknode)
+ for node, depth in seznam:
+ if node.isinstance(node, s.KonferaNode):
+ raise Exception("Not implemented yet")
+ if node.isinstance(node, s.PohadkaNode): # Mohu ignorovat, má pod sebou
+ pass
+
+ return render(request, 'seminar/tematka/toaletak.html', {})
+
def TemataRozcestnikView(request):
print("=============================================")
@@ -158,7 +166,7 @@ def TemataRozcestnikView(request):
"obrazek": tematko_object.obrazek,
"cisla" : cisla
})
- return render(request, 'seminar/tematka/rozcestnik.html', {"tematka": tematka})
+ return render(request, 'seminar/tematka/rozcestnik.html', {"tematka": tematka, "rocnik" : nastaveni.aktualni_rocnik().rocnik})
#def ZadaniAktualniVysledkovkaView(request):