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"> |     <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
									
									
									
									
									
										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!"> |     <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 %} | ||||||
|  |  | ||||||
|  | @ -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' | ||||||
|  | 	), | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | @ -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…
	
		Reference in a new issue