Popisnejsi url pro cislo a rocnik
This commit is contained in:
parent
4bf299bf25
commit
7fac56f29a
3 changed files with 39 additions and 5 deletions
|
@ -223,7 +223,7 @@ class Rocnik(SeminarModelBase):
|
|||
return self.prvni_rok + 1
|
||||
|
||||
def verejne_url(self):
|
||||
return reverse('seminar_rocnik', kwargs={'pk': self.id})
|
||||
return reverse('seminar_rocnik', kwargs={'rocnik': self.rocnik})
|
||||
|
||||
@classmethod
|
||||
def cached_rocnik(cls, r_id):
|
||||
|
@ -279,7 +279,7 @@ class Cislo(SeminarModelBase):
|
|||
verejne.boolean = True
|
||||
|
||||
def verejne_url(self):
|
||||
return reverse('seminar_cislo', kwargs={'pk': self.id})
|
||||
return reverse('seminar_cislo', kwargs={'rocnik': self.rocnik.rocnik, 'cislo': self.cislo})
|
||||
|
||||
def nasledujici(self):
|
||||
u"Vrací None, pokud je toto poslední"
|
||||
|
|
|
@ -6,9 +6,10 @@ urlpatterns = patterns('',
|
|||
url(r'^co-je-MaM/organizatori/$', views.CojemamOrganizatoriView.as_view()),
|
||||
|
||||
url(r'^archiv/cisla/$', views.CislaView.as_view()),
|
||||
url(r'^archiv/cisla/rocnik/(?P<pk>\d+)/$', views.RocnikView.as_view(), name='seminar_rocnik'),
|
||||
url(r'^archiv/cisla/cislo/(?P<pk>\d+)/$', views.CisloView.as_view(), name='seminar_cislo'),
|
||||
url(r'^archiv/cisla/problem/(?P<pk>\d+)/$', views.ProblemView.as_view(), name='seminar_problem'),
|
||||
|
||||
url(r'^rocnik/(?P<rocnik>\d+)/$', views.RocnikView.as_view(), name='seminar_rocnik'),
|
||||
url(r'^cislo/(?P<rocnik>\d+).(?P<cislo>\d+)/$', views.CisloView.as_view(), name='seminar_cislo'),
|
||||
url(r'^problem/(?P<pk>\d+)/$', views.ProblemView.as_view(), name='seminar_problem'),
|
||||
|
||||
url(r'^soustredeni/(?P<pk>\d+)/$', views.SoustredeniView.as_view(), name='seminar_soustredeni'),
|
||||
|
||||
|
|
|
@ -2,6 +2,9 @@ from django.shortcuts import get_object_or_404, render
|
|||
from django.http import HttpResponseRedirect
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.views import generic
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.http import Http404
|
||||
|
||||
from .models import Problem, Cislo, Reseni, VysledkyKCislu, Nastaveni, Rocnik, Soustredeni
|
||||
|
||||
|
||||
|
@ -25,6 +28,20 @@ class RocnikView(generic.DetailView):
|
|||
model = Rocnik
|
||||
template_name = 'seminar/archiv/rocnik.html'
|
||||
|
||||
# Vlastni ziskavani objektu z databaze podle (Rocnik.rocnik)
|
||||
def get_object(self, queryset=None):
|
||||
if queryset is None:
|
||||
queryset = self.get_queryset()
|
||||
rocnik_arg = self.kwargs.get('rocnik')
|
||||
queryset = queryset.filter(rocnik=rocnik_arg)
|
||||
|
||||
try:
|
||||
obj = queryset.get()
|
||||
except queryset.model.DoesNotExist:
|
||||
raise Http404(_("No %(verbose_name)s found matching the query") %
|
||||
{'verbose_name': queryset.model._meta.verbose_name})
|
||||
return obj
|
||||
|
||||
class SoustredeniView(generic.DetailView):
|
||||
model = Soustredeni
|
||||
template_name = 'seminar/archiv/soustredeni.html'
|
||||
|
@ -39,6 +56,22 @@ class RadekVysledkovky(object):
|
|||
class CisloView(generic.DetailView):
|
||||
model = Cislo
|
||||
template_name = 'seminar/archiv/cislo.html'
|
||||
|
||||
# Vlastni ziskavani objektu z databaze podle (Rocnik.rocnik)
|
||||
def get_object(self, queryset=None):
|
||||
if queryset is None:
|
||||
queryset = self.get_queryset()
|
||||
rocnik_arg = self.kwargs.get('rocnik')
|
||||
cislo_arg = self.kwargs.get('cislo')
|
||||
queryset = queryset.filter(rocnik__rocnik=rocnik_arg, cislo=cislo_arg)
|
||||
|
||||
try:
|
||||
obj = queryset.get()
|
||||
except queryset.model.DoesNotExist:
|
||||
raise Http404(_("No %(verbose_name)s found matching the query") %
|
||||
{'verbose_name': queryset.model._meta.verbose_name})
|
||||
return obj
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(CisloView, self).get_context_data(**kwargs)
|
||||
|
||||
|
|
Loading…
Reference in a new issue