diff --git a/odevzdavatko/forms.py b/odevzdavatko/forms.py index 6eb2a973..467c9de3 100644 --- a/odevzdavatko/forms.py +++ b/odevzdavatko/forms.py @@ -88,7 +88,7 @@ ReseniSPrilohamiFormSet = inlineformset_factory(m.Reseni,m.PrilohaReseni, class JednoHodnoceniForm(forms.ModelForm): class Meta: model = m.Hodnoceni - fields = ('problem', 'body', 'deadline_body') + fields = ('problem', 'body', 'deadline_body', 'feedback',) widgets = { 'problem': autocomplete.ModelSelect2( url='autocomplete_problem_odevzdatelny', # FIXME: Dovolit i starší? diff --git a/odevzdavatko/templates/odevzdavatko/detail.html b/odevzdavatko/templates/odevzdavatko/detail.html index 10f86a14..9f6d31ac 100644 --- a/odevzdavatko/templates/odevzdavatko/detail.html +++ b/odevzdavatko/templates/odevzdavatko/detail.html @@ -91,7 +91,7 @@ $(document).ready(function(){
{# Poznámka #} -

Poznámka:

+

Neveřejná poznámka:

{{ poznamka_form.poznamka }}

{# Hodnocení: #} @@ -101,13 +101,14 @@ $(document).ready(function(){ {{ form.management_form }} - + {% for subform in form %} + @@ -123,6 +124,7 @@ $(document).ready(function(){ +
ProblémBodyDeadline pro body
ProblémBodyDeadline pro bodyZpětná vazba pro řešitele
{{ subform.problem }} {{ subform.body }} {{ subform.deadline_body }}{{ subform.feedback }} Smazat
{{ form.empty_form.problem }} {{ form.empty_form.body }} {{ form.empty_form.deadline_body }}{{ form.empty_form.feedback }} Smazat
diff --git a/odevzdavatko/templates/odevzdavatko/detail_resitele.html b/odevzdavatko/templates/odevzdavatko/detail_resitele.html index 1c7622a7..fb0cb5fb 100644 --- a/odevzdavatko/templates/odevzdavatko/detail_resitele.html +++ b/odevzdavatko/templates/odevzdavatko/detail_resitele.html @@ -37,11 +37,12 @@ {# Hodnocení: #}

Hodnocení:

-{# #} +{# #} {% for h in hodnoceni %} + {# #} {% endfor %} diff --git a/odevzdavatko/views.py b/odevzdavatko/views.py index 6e0f7c47..ae466b0d 100644 --- a/odevzdavatko/views.py +++ b/odevzdavatko/views.py @@ -218,10 +218,11 @@ class DetailReseniView(DetailView): self.reseni = get_object_or_404(m.Reseni, id=self.kwargs['pk']) result = [] # Slovníky s klíči problem, body, deadline_body -- initial data pro f.OhodnoceniReseniFormSet for hodn in m.Hodnoceni.objects.filter(reseni=self.reseni): - result.append( - {"problem": hodn.problem, + result.append({ + "problem": hodn.problem, "body": hodn.body, "deadline_body": hodn.deadline_body, + "feedback": hodn.feedback, }) return result @@ -261,10 +262,12 @@ def hodnoceniReseniView(request, pk, *args, **kwargs): problem = form.cleaned_data['problem'] body = form.cleaned_data['body'] deadline_body = form.cleaned_data['deadline_body'] + feedback = form.cleaned_data['feedback'] hodnoceni = m.Hodnoceni( problem=problem, body=body, deadline_body=deadline_body, + feedback=feedback, reseni=reseni, ) logger.info(f"Creating Hodnoceni: {hodnoceni}") @@ -285,6 +288,7 @@ class ResitelReseniView(DetailView): { "problem": hodn.problem, "body": hodn.body, + "feedback": hodn.feedback, # "deadline_body": hodn.deadline_body, } ) diff --git a/seminar/models/odevzdavatko.py b/seminar/models/odevzdavatko.py index 77ed5018..fbb7b753 100644 --- a/seminar/models/odevzdavatko.py +++ b/seminar/models/odevzdavatko.py @@ -113,6 +113,8 @@ class Hodnoceni(bm.SeminarModelBase): problem = models.ForeignKey(am.Problem, verbose_name='problém', related_name='hodnoceni', on_delete=models.PROTECT) + feedback = models.CharField('zpětná vazba', max_length=120, blank=True, default='', help_text='Zpětná vazba řešiteli (plain text)') + def __str__(self): return "{}, {}, {}".format(self.problem, self.reseni, self.body)
ProblémBodyDeadline pro body
ProblémBodyZpětná vazba od opravovateleDeadline pro body
{{ h.problem }} {{ h.body }}{{ h.feedback }}{{ h.deadline_body }}