Render the formset correctly

This commit is contained in:
Tom Hubrecht 2020-12-18 17:38:44 +01:00
parent 84dd14bddb
commit 694a845aae
6 changed files with 18 additions and 14 deletions

View file

@ -1,4 +1,4 @@
{% load staticfiles %} {% load static %}
{% load bulma_utils %} {% load bulma_utils %}
{% load i18n %} {% load i18n %}

View file

@ -1,16 +1,16 @@
<div class="control"> <div class="control">
{% if field.auto_id %} {% if field.auto_id %}
<label class="checkbox {% if field.field.required %}{{ form.required_css_class }}{% endif %}"> <label class="checkbox {% if field.field.required %}{{ form.required_css_class }}{% endif %}">
{{ field }} {{ field.label }} {{ field }} {{ field.label }}
</label> </label>
{% endif %} {% endif %}
{% for error in field.errors %} {% for error in field.errors %}
<span class="help is-danger {{ form.error_css_class }}">{{ error }}</span> <span class="help is-danger {{ form.error_css_class }}">{{ error }}</span>
{% endfor %} {% endfor %}
{% if field.help_text %} {% if field.help_text %}
<p class="help"> <p class="help">
{{ field.help_text|safe }} {{ field.help_text|safe }}
</p> </p>
{% endif %} {% endif %}
</div> </div>

View file

@ -19,4 +19,4 @@
{% for field in form.visible_fields %} {% for field in form.visible_fields %}
{% include 'elections/forms/field.html' %} {% include 'elections/forms/field.html' %}
{% endfor %} {% endfor %}

View file

@ -0,0 +1,4 @@
{{ formset.management_form }}
{% for form in formset %}
{% include "elections/forms/form.html" %}
{% endfor %}

View file

@ -10,7 +10,7 @@
<form action="" method="post"> <form action="" method="post">
{% csrf_token %} {% csrf_token %}
{{ vote_form }} {% include "elections/forms/formset.html" %}
<div class="field"> <div class="field">
<p class="control"> <p class="control">

View file

@ -6,7 +6,7 @@ from django.urls import reverse
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django.views.generic import CreateView, DetailView, UpdateView from django.views.generic import CreateView, DetailView, UpdateView
from .forms import OptionFormSet from .forms import ElectionCreateForm, OptionFormSet
from .models import Election, Option, Question from .models import Election, Option, Question
# TODO: access control *everywhere* # TODO: access control *everywhere*
@ -14,8 +14,8 @@ from .models import Election, Option, Question
class ElectionCreateView(SuccessMessageMixin, CreateView): class ElectionCreateView(SuccessMessageMixin, CreateView):
model = Election model = Election
form_class = ElectionCreateForm
template_name = "elections/election_create.html" template_name = "elections/election_create.html"
fields = ["name", "description", "start_time", "end_time"]
success_message = _("Élection crée avec succès !") success_message = _("Élection crée avec succès !")
@ -65,7 +65,7 @@ class VoteView(SuccessMessageMixin, DetailView):
self.object = self.get_object() self.object = self.get_object()
vote_form = OptionFormSet(instance=self.object) vote_form = OptionFormSet(instance=self.object)
return self.render_to_response(self.get_context_data(vote_form=vote_form)) return self.render_to_response(self.get_context_data(formset=vote_form))
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
self.object = self.get_object() self.object = self.get_object()