fix: Přeskakování v šifrovačce (je tam faaaaakt hodně sněhu)
This commit is contained in:
parent
9a93f95490
commit
d09a08f53f
5 changed files with 82 additions and 3 deletions
|
@ -43,6 +43,8 @@
|
|||
<input type="submit" value="Chci nápovědu">
|
||||
</form>
|
||||
|
||||
<a href="{% url 'sifrovacka' %}">Nechceme nápovědu, známe řešení!</a>
|
||||
<p><a href="{% url 'sifrovacka' %}">Nechceme nápovědu, známe řešení!</a></p>
|
||||
|
||||
<p><a href="{% url 'sifrovacka_preskoceni' %}">Přeskoč šifru</a></p>
|
||||
|
||||
{% endblock content %}
|
||||
|
|
54
sifrovacka/templates/sifrovacka/preskoceni.html
Normal file
54
sifrovacka/templates/sifrovacka/preskoceni.html
Normal file
|
@ -0,0 +1,54 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<br>
|
||||
|
||||
<h1>{% block nadpis1a %}M&Mí šifrovačka{% endblock nadpis1a %}</h1>
|
||||
|
||||
<br>
|
||||
|
||||
<h2>Přeskočit šifru:</h2>
|
||||
|
||||
<form action="{% url 'sifrovacka_preskoceni' %}" method="post">
|
||||
<table class="form">
|
||||
{{form.non_field_errors}}
|
||||
{% for field in form %}
|
||||
{% if field.id_for_label != "id_odpoved" %}
|
||||
<tr>
|
||||
<td>
|
||||
<label class="field-label{% if field.field.required %} field-required{% endif %}" for="{{ field.id_for_label }}">
|
||||
{{ field.label }}
|
||||
</label>
|
||||
|
||||
</td>
|
||||
|
||||
<td {% if field.help_text %} class="field-with-comment"{% endif %}>
|
||||
{{ field }}
|
||||
<span class="field-comment">{{ field.help_text|safe }}</span>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
|
||||
{% if field.errors %}
|
||||
<tr>
|
||||
<td colspan="2"><span class="field-error">{{ field.errors }}</span></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{{ field.as_hidden }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
{% csrf_token %}
|
||||
|
||||
<input type="submit" value="Chceme další stanoviště bez vyřešení šifry">
|
||||
</form>
|
||||
|
||||
<p><a href="{% url 'sifrovacka' %}">Nechceme přeskočit, známe řešení!</a></p>
|
||||
|
||||
<p><a href="{% url 'sifrovacka_napoveda' %}">Nechceme přeskakovat, ale nápověda by se šikla.</a></p>
|
||||
|
||||
{% endblock content %}
|
|
@ -43,6 +43,8 @@
|
|||
<input type="submit" value="Tak pravím!">
|
||||
</form>
|
||||
|
||||
<a href="{% url 'sifrovacka_napoveda' %}">Získat nápovědu</a>
|
||||
<p><a href="{% url 'sifrovacka_napoveda' %}">Získat nápovědu</a></p>
|
||||
|
||||
<p><a href="{% url 'sifrovacka_preskoceni' %}">Přeskoč šifru</a></p>
|
||||
|
||||
{% endblock content %}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from django.urls import path
|
||||
|
||||
from seminar.utils import org_required, resitel_or_org_required
|
||||
from .views import SifrovackaView, SifrovackaListView, NapovedaView, NapovedaListView
|
||||
from .views import SifrovackaView, SifrovackaListView, NapovedaView, NapovedaListView, PreskoceniView
|
||||
|
||||
urlpatterns = [
|
||||
path(
|
||||
|
@ -24,4 +24,9 @@ urlpatterns = [
|
|||
org_required(NapovedaListView.as_view()),
|
||||
name='sifrovacka_napovedy'
|
||||
),
|
||||
path(
|
||||
'preskoceni/',
|
||||
resitel_or_org_required(PreskoceniView.as_view()),
|
||||
name='sifrovacka_preskoceni'
|
||||
),
|
||||
]
|
||||
|
|
|
@ -52,3 +52,19 @@ class NapovedaView(FormView):
|
|||
class NapovedaListView(ListView):
|
||||
template_name = 'sifrovacka/napovedy_list.html'
|
||||
model = NapovezenoUcastnikovi
|
||||
|
||||
|
||||
class PreskoceniView(FormView):
|
||||
template_name = 'sifrovacka/preskoceni.html'
|
||||
form_class = SifrovackaForm
|
||||
initial = {"odpoved": "=======PŘESKOČENO======="}
|
||||
|
||||
def form_valid(self, form):
|
||||
instance = form.save(commit=False)
|
||||
instance.odpoved = "=======PŘESKOČENO======="
|
||||
resitel = Resitel.objects.get(osoba__user=self.request.user)
|
||||
instance.resitel = resitel
|
||||
instance.save()
|
||||
sifra = SpravnaOdpoved.objects.filter(sifra=instance.sifra).first() # FIXME co když je více "správných" odpovědí?
|
||||
|
||||
return formularOKView(self.request, f'<h1>{sifra.skryty_text}</h1> <p><a href="{reverse("sifrovacka")}">Zpět na odevzdávátko.</a></p><br><br><br>')
|
||||
|
|
Loading…
Reference in a new issue