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