17 lines
750 B
Python
17 lines
750 B
Python
|
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)
|
||
|
|