Browse Source

fix: Přeskakování v šifrovačce (je tam faaaaakt hodně sněhu)

pull/43/head
Jonas Havelka 8 months ago
parent
commit
d09a08f53f
  1. 4
      sifrovacka/templates/sifrovacka/napoveda.html
  2. 54
      sifrovacka/templates/sifrovacka/preskoceni.html
  3. 4
      sifrovacka/templates/sifrovacka/sifrovacka.html
  4. 7
      sifrovacka/urls.py
  5. 16
      sifrovacka/views.py

4
sifrovacka/templates/sifrovacka/napoveda.html

@ -43,6 +43,8 @@
<input type="submit" value="Chci nápovědu"> <input type="submit" value="Chci nápovědu">
</form> </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 %} {% endblock content %}

54
sifrovacka/templates/sifrovacka/preskoceni.html

@ -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 %}

4
sifrovacka/templates/sifrovacka/sifrovacka.html

@ -43,6 +43,8 @@
<input type="submit" value="Tak pravím!"> <input type="submit" value="Tak pravím!">
</form> </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 %} {% endblock content %}

7
sifrovacka/urls.py

@ -1,7 +1,7 @@
from django.urls import path from django.urls import path
from seminar.utils import org_required, resitel_or_org_required 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 = [ urlpatterns = [
path( path(
@ -24,4 +24,9 @@ urlpatterns = [
org_required(NapovedaListView.as_view()), org_required(NapovedaListView.as_view()),
name='sifrovacka_napovedy' name='sifrovacka_napovedy'
), ),
path(
'preskoceni/',
resitel_or_org_required(PreskoceniView.as_view()),
name='sifrovacka_preskoceni'
),
] ]

16
sifrovacka/views.py

@ -52,3 +52,19 @@ class NapovedaView(FormView):
class NapovedaListView(ListView): class NapovedaListView(ListView):
template_name = 'sifrovacka/napovedy_list.html' template_name = 'sifrovacka/napovedy_list.html'
model = NapovezenoUcastnikovi 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…
Cancel
Save