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.
 
 
 
 
 
 

16 lines
750 B

from http import HTTPStatus
import seminar.models as m
from django.shortcuts import render, get_object_or_404
def problemView(request, pk):
# Pokud problém neexistuje, hodíme obyčejnou 404
# Taktéž v případě, že takový problém nemá být vidět
problem = get_object_or_404(m.Problem, id=pk, stav__in=[m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY])
# Problém existuje, neumíme ho zobrazit, renderujeme nějakou haluz
template = 'universal.html'
ctx = {
'raw_html': f'<h2>Obsah nelze zobrazit</h2><p>Požadovaný problém {problem.nazev} sice existuje, ale aktuálně jej nelze zobrazit. Omlouváme se za potíže</p>',
}
status_code = HTTPStatus.NOT_FOUND
return render(request, template, context=ctx, status=status_code)