129 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
	
		
			4.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {% extends "base.html" %}
 | |
| {% load static %}
 | |
| {% load deadliny %}
 | |
| {% load mail %}
 | |
| {% load jmena %}
 | |
| 
 | |
| {% block content %}
 | |
| 
 | |
|   {% if edit %}
 | |
|     <script src="{% static 'odevzdavatko/dynamic_formsets_for_detail.js' %}"></script>
 | |
|     <script src="{% static 'odevzdavatko/check_for_detail.js' %}"></script>
 | |
|     <script type="text/javascript">
 | |
|       $(document).ready(function () {
 | |
|         const zaskrtavatko = document.getElementById('pridat-jmena-resitelu');
 | |
|         zaskrtavatko.addEventListener('change', () => {
 | |
|           for (var priloha of document.getElementsByClassName("reseni-ke-stazeni")) {
 | |
|             let new_download = zaskrtavatko.checked ? priloha.dataset.altFilename : '';
 | |
|             priloha.setAttribute('download', new_download);
 | |
|           }
 | |
|         });
 | |
|       });
 | |
|     </script>
 | |
|   {% endif %}
 | |
| 
 | |
| 
 | |
| <p>Řešené problémy: {{ object.problem.all | join:", " }}</p>
 | |
| 
 | |
| {% if edit %}
 | |
|   <p>Řešitelé:
 | |
|   {% for r in object.resitele.all %}
 | |
|     {{ r }}
 | |
|     {# DjangoTemplates neumí spojovat řetězce (https://stackoverflow.com/q/4386168), tak si necháváme vyrobit subject mailu ve view. #}
 | |
|     ({% maillink r.osoba.email to=r.osoba.email subject=predmetmailu %}){% if forloop.revcounter0 != 0 %}, {% endif %}
 | |
|   {% endfor %}
 | |
|   </p>
 | |
|   <p>
 | |
|     {% maillink "Poslat mail všem řešitelům" bcc=maily_vsech_resitelu subject=predmetmailu %}
 | |
|   </p>
 | |
| {% else %}
 | |
|   <p>Řešitelé: {{ object.resitele.all | join:", " }}</p>
 | |
| {% endif %}
 | |
| 
 | |
| {# https://docs.djangoproject.com/en/3.1/ref/models/instances/#django.db.models.Model.get_FOO_display #}
 | |
| <p>Forma: {{ object.get_forma_display }}</p>
 | |
| 
 | |
| <p>Doručeno {{ object.cas_doruceni }}, deadline: {{object.deadline_reseni | deadline_html }}</p>
 | |
| 
 | |
| {# Soubory: #}
 | |
| <h3>Přílohy:</h3>
 | |
| {% if object.prilohy.all %}
 | |
| <table class="dosla_reseni">
 | |
| <tr><th>Soubor</th><th>Řešitelova poznámka</th><th>Datum</th></tr>
 | |
| {% for priloha in object.prilohy.all %}
 | |
| <tr>
 | |
|   <td><a class='reseni-ke-stazeni' 
 | |
|          href="{{ priloha.soubor.url }}"
 | |
|          download
 | |
|          data-alt-filename="{{object.resitele.first.osoba | jmeno_jako_prefix }}_{{ object.id }}_{{ priloha.split | last}}"
 | |
|          >{{ priloha.split | last }}</a></td>
 | |
| 	<td>{{ priloha.res_poznamka }}</td>
 | |
| 	<td>{{ priloha.vytvoreno }}</td></tr>
 | |
| {% endfor %}
 | |
| </table>
 | |
| {% if edit %} {# FIXME: tohle nesouvisí s editací, ale s tím, jestli je člověk org… #}
 | |
|   <br>
 | |
|   <input type=checkbox id="pridat-jmena-resitelu">
 | |
|   <label class="field-label" for="pridat-jmena-resitelu">Uvést jméno řešitele v názvu souboru při stažení.</label>
 | |
| {% endif %}
 | |
| {% else %}
 | |
| <p>Žádné přílohy</p>
 | |
| {% endif %}
 | |
| 
 | |
|   {% if edit %}
 | |
| <form method=post onsubmit="return zkontroluj_hodnoceni();">
 | |
| {# Poznámka #}
 | |
| <h3>Neveřejná poznámka:</h3>
 | |
| <p>{{ poznamka_form.poznamka }}</p>
 | |
| 
 | |
| {# Hodnocení: #}
 | |
| <h3>Hodnocení:</h3>
 | |
| <table>
 | |
| {% csrf_token %}
 | |
| {{ form.management_form }}
 | |
| </table>
 | |
| <table id="form_set">
 | |
| <tr><th>Problém</th><th>Body</th><th>Deadline pro body</th><th>Zpětná vazba pro řešitele</th></tr>
 | |
| {% for subform in form %}
 | |
|     <tbody>
 | |
| 	<tr class="hodnoceni">
 | |
| 		<td>{{ subform.problem }}</td>
 | |
| 		<td>{{ subform.body }}</td>
 | |
| 		<td>{{ subform.deadline_body }}</td>
 | |
| 		<td>{{ subform.feedback }}</td>
 | |
| 		<td class="has_smazat_hodnoceni"><a href="#" class="smazat_hodnoceni" id="id_{{subform.prefix}}-jsremove" title="Smazat hodnocení"><img src="{% static "odevzdavatko/cross.png" %}" alt="Smazat"></a></td>
 | |
| 	</tr>
 | |
|     </tbody>
 | |
| {% endfor %}
 | |
| </table>
 | |
| 
 | |
| 
 | |
| <a href="#" title="Přidat hodnocení"> <img src="{% static "odevzdavatko/plus.png" %}" id="pridat_hodnoceni" alt="Přidat hodnocení"></a> <br/>
 | |
| <input type=submit value="Uložit"></form>
 | |
| 
 | |
| <table id="empty_form" style="display: none;">
 | |
| 	<tr class="hodnoceni">
 | |
| 		<td>{{ form.empty_form.problem }}</td>
 | |
| 		<td>{{ form.empty_form.body }}</td>
 | |
| 		<td>{{ form.empty_form.deadline_body }}</td>
 | |
| 		<td>{{ form.empty_form.feedback }}</td>
 | |
| 		<td class="has_smazat_hodnoceni"><a href="#" class="smazat_hodnoceni" id="id_{{form.empty_form.prefix}}-jsremove" title="Smazat hodnocení"><img src="{% static "odevzdavatko/cross.png" %}" alt="Smazat"></a></td>
 | |
| 	</tr>
 | |
| </table>
 | |
| 
 | |
|   {% else %}
 | |
| <h3>Hodnocení:</h3>
 | |
| <table class="dosla_reseni">
 | |
| <tr><th>Problém</th><th>Body</th><th>Zpětná vazba od opravovatele</th></tr>
 | |
| {% for h in hodnoceni %}
 | |
| 	<tr class="hodnoceni">
 | |
| 		<td>{{ h.problem }}</td>
 | |
| 		<td>{{ h.body }}</td>
 | |
| 		<td>{{ h.feedback | linebreaks }}</td>
 | |
| 	</tr>
 | |
| {% endfor %}
 | |
| </table>
 | |
|   {% endif %}
 | |
| 
 | |
| 
 | |
| {% endblock %}
 |