Upgrade odevzdavatka #30
					 4 changed files with 33 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -92,6 +92,8 @@ class NahrajReseniForm(forms.ModelForm):
 | 
			
		|||
			# FIXME Mnohem hezčí by to bylo u definice resitele výše, ale nepodařilo se mi to.
 | 
			
		||||
			self.fields['resitele'].required = False
 | 
			
		||||
			self.fields['resitele'].label = "Další autoři"
 | 
			
		||||
		if 'problem' in self.fields:
 | 
			
		||||
			self.fields['problem'].label = "Všechny řešené problémy"
 | 
			
		||||
 | 
			
		||||
ReseniSPrilohamiFormSet = inlineformset_factory(m.Reseni,m.PrilohaReseni, 
 | 
			
		||||
		form = NahrajReseniForm,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,15 +11,16 @@
 | 
			
		|||
  {% endblock %}
 | 
			
		||||
</h1>
 | 
			
		||||
 | 
			
		||||
<p style="text-align: justify">Když řešení různých témátek vložíš každé zvlášť, lépe se v nich vyznáme a třeba ti je i rychleji opravíme.</p>
 | 
			
		||||
 | 
			
		||||
  <p>Pokud řešíte ve více lidech, je <strong>nutné</strong> přidat tyto lidi jako „Další autoři“. V tomto poli se vyhledává podle přezdívek, které si lze nastavit v „Osobní údaje“. Sebe vyplňovat nemusíte a za skupinu odevzdávejte pouze <strong>jednou</strong> (ne každý sám).</p>
 | 
			
		||||
 | 
			
		||||
<form enctype="multipart/form-data" action="{% url 'seminar_nahraj_reseni' nadproblem_id %}" method="post" onsubmit="return zkontroluj_prilohy();">
 | 
			
		||||
  {% csrf_token %}
 | 
			
		||||
  <table class='form' id="reseni">
 | 
			
		||||
  <table class='form'>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <td><label class="field-label field-required" for="tema">Téma:</label></td>
 | 
			
		||||
      <td><input id="tema" disabled="" type="text" value="{{ nadproblem }}"></td>
 | 
			
		||||
    </tr>
 | 
			
		||||
 | 
			
		||||
    {% with field=form.problem %}
 | 
			
		||||
    <tr>
 | 
			
		||||
      {% for field in form.visible_fields %}
 | 
			
		||||
      <td>
 | 
			
		||||
        <label class="field-label{% if field.field.required %} field-required{% endif %}" for="{{ field.id_for_label }}">
 | 
			
		||||
          {{ field.label }}:
 | 
			
		||||
| 
						 | 
				
			
			@ -28,14 +29,33 @@
 | 
			
		|||
      <td>
 | 
			
		||||
        {{ field }}
 | 
			
		||||
      </td>
 | 
			
		||||
      {% endfor %}
 | 
			
		||||
    </tr>
 | 
			
		||||
    {% endwith %}
 | 
			
		||||
  </table>
 | 
			
		||||
 | 
			
		||||
  {% for field in form.hidden_fields %}
 | 
			
		||||
    {{ field }}
 | 
			
		||||
  {% endfor %}
 | 
			
		||||
 | 
			
		||||
  <hr>
 | 
			
		||||
  <h4>Spolupráce s dalšími řešiteli</h4>
 | 
			
		||||
 | 
			
		||||
  <p>Pokud řešíte ve více lidech, je <strong>potřeba</strong> přidat tyto lidi jako „Další autoři“. V tomto poli se vyhledává podle přezdívek, které si lze nastavit v „Osobní údaje“. Sebe vyplňovat nemusíte a za skupinu odevzdávejte pouze <strong>jednou</strong> (ne každý sám).</p>
 | 
			
		||||
 | 
			
		||||
  <table class='form'>
 | 
			
		||||
    {% with field=form.resitele %}
 | 
			
		||||
      <tr>
 | 
			
		||||
        <td>
 | 
			
		||||
          <label class="field-label{% if field.field.required %} field-required{% endif %}" for="{{ field.id_for_label }}">
 | 
			
		||||
            {{ field.label }}:
 | 
			
		||||
| 
					
	
 
				
				zelvuska marked this conversation as resolved
				
					
					
						Outdated
					
				
			 
			 | 
			||||
          </label>
 | 
			
		||||
        </td>
 | 
			
		||||
        <td>
 | 
			
		||||
          {{ field }}
 | 
			
		||||
        </td>
 | 
			
		||||
      </tr>
 | 
			
		||||
    {% endwith %}
 | 
			
		||||
  </table>
 | 
			
		||||
 | 
			
		||||
<hr>
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,9 @@
 | 
			
		|||
 | 
			
		||||
<h4>Soubory s řešením</h4>
 | 
			
		||||
 | 
			
		||||
<p style="text-align: justify">Maximální součet velikostí příloh je cca 49 MB. Pokud je to možné a dává to smysl, pošli nám prosím své řešení ve formátu PDF, ostatní formáty nemusíme umět otevřít.</p>
 | 
			
		||||
<p style="text-align: justify">Pokud svůj soubor rozumně pojmenuješ, urychlíš opravování a předejdeš tomu, že si nějakého tvého řešení nevšimneme. Například z <code>img_250921_101205.pdf</code> nepoznáme, kterou úlohu jsi odevzdal, zato <code>uloha_3.pdf</code> nebo <code>tema_1.pdf</code>, to už je něco jiného. Případně můžeš využít i poznámku řešitele.</p>
 | 
			
		||||
<p style="text-align: justify">Pokud je to možné a dává to smysl, pošli nám prosím své řešení ve formátu <strong>PDF</strong>, ostatní formáty nemusíme umět otevřít.</p>
 | 
			
		||||
<p style="text-align: justify">Pokud svůj soubor <strong>rozumně pojmenuješ</strong>, urychlíš opravování a předejdeš tomu, že si nějakého tvého řešení nevšimneme. Například z <code>img_250921_101205.pdf</code> nepoznáme, kterou úlohu jsi odevzdal, zato <code>uloha_3.pdf</code> nebo <code>tema_1.pdf</code>, to už je něco jiného. Případně můžeš využít i poznámku řešitele.</p>
 | 
			
		||||
<p style="text-align: justify">Maximální součet velikostí příloh je cca <strong>49 MB</strong>.</p>
 | 
			
		||||
 | 
			
		||||
<div id="form_set">
 | 
			
		||||
{% for form in prilohy.forms %}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -426,6 +426,7 @@ class NahrajReseniView(LoginRequiredMixin, CreateView):
 | 
			
		|||
			data['prilohy'] = f.ReseniSPrilohamiFormSet()
 | 
			
		||||
 | 
			
		||||
		data["nadproblem_id"] = self.kwargs["nadproblem_id"]
 | 
			
		||||
		data["nadproblem"] = get_object_or_404(m.Problem, id=self.kwargs["nadproblem_id"])
 | 
			
		||||
		return data
 | 
			
		||||
 | 
			
		||||
	# FIXME prepsat tak, aby form_valid se volalo jen tehdy, kdyz je form i formset validni
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue
	
	
„Další auto__ry__“
„Osobní__ch__ údaj__ích__“