From 0d9c293443f93d1624aa7cfad1b1f0ea4b19273b Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sat, 31 Oct 2020 18:11:37 +0100 Subject: [PATCH] Add a modal to create a question --- apps/participation/forms.py | 16 +++- .../participation/participation_detail.html | 41 +++++++--- .../participation/question_form.html | 14 ++++ apps/participation/urls.py | 8 +- apps/participation/views.py | 54 +++++++++++- locale/fr/LC_MESSAGES/django.po | 82 +++++++++++-------- 6 files changed, 163 insertions(+), 52 deletions(-) create mode 100644 apps/participation/templates/participation/question_form.html diff --git a/apps/participation/forms.py b/apps/participation/forms.py index d43a073..fe083e8 100644 --- a/apps/participation/forms.py +++ b/apps/participation/forms.py @@ -6,7 +6,7 @@ from django.core.exceptions import ValidationError from django.db.models import Q from django.utils.translation import gettext_lazy as _ -from .models import Participation, Phase, Team, Video +from .models import Participation, Phase, Question, Team, Video class TeamForm(forms.ModelForm): @@ -138,12 +138,24 @@ class SendParticipationForm(forms.ModelForm): self.instance = participation return cleaned_data - class Meta: model = Participation fields = ('sent_participation',) +class QuestionForm(forms.ModelForm): + """ + Create or update a question. + """ + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.fields["question"].widget.attrs.update({"placeholder": _("How did you get the idea to ...?")}) + + class Meta: + model = Question + fields = ('question',) + + class PhaseForm(forms.ModelForm): """ Form to update the calendar of a phase. diff --git a/apps/participation/templates/participation/participation_detail.html b/apps/participation/templates/participation/participation_detail.html index 5621f9e..5495eb8 100644 --- a/apps/participation/templates/participation/participation_detail.html +++ b/apps/participation/templates/participation/participation_detail.html @@ -114,7 +114,9 @@ {% if user.registration.participates %} - + {% endif %} {% elif current_phase.phase_number == 3 %}
@@ -164,23 +166,40 @@ {% include "base_modal.html" with modal_id="displaySolution" modal_action="" modal_button="" modal_additional_class="modal-lg" modal_content=participation.received_participation.solution.as_iframe|default:unsupported_platform %} {% endif %} {% endif %} + +{% if user.registration.participates and current_phase.phase_number == 2 %} + {% trans "Add question" as modal_title %} + {% trans "Add" as modal_button %} + {% url "participation:add_question" pk=participation.pk as modal_action %} +{% include "base_modal.html" with modal_id="addQuestion" modal_button_type="success" %} +{% endif %} {% endblock %} {% block extrajavascript %}