From cf4a3ec64b3da6301b4a6d891921c29d377756b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sat, 28 Jan 2017 19:46:56 +0100 Subject: [PATCH 01/17] Traitement des messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Les messages sont affichés à l'utilisateurs dans les vues de GestioCOF - On utilise une autre version de bootstrap et jquery (plus récent) Fixes #48 --- bda/templates/bda-participants.html | 2 -- bda/templates/bda/etat-places.html | 2 -- bda/templates/spectacle_list.html | 2 -- gestioncof/static/css/cof.css | 26 +++++++++++++++++++ gestioncof/templates/base.html | 12 ++++++--- gestioncof/templates/base_title.html | 2 +- .../{ => gestioncof}/base_header.html | 16 ++++++++++++ gestioncof/templates/home.html | 2 +- gestioncof/templates/registration.html | 1 - ...ment_demande_petit_cours_autre_niveau.html | 1 - 10 files changed, 53 insertions(+), 13 deletions(-) rename gestioncof/templates/{ => gestioncof}/base_header.html (60%) diff --git a/bda/templates/bda-participants.html b/bda/templates/bda-participants.html index 3efeccc3..f52e6b96 100644 --- a/bda/templates/bda-participants.html +++ b/bda/templates/bda-participants.html @@ -48,8 +48,6 @@ {% endfor %} - + {% block extra_head %}{% endblock %} diff --git a/gestioncof/templates/base_title.html b/gestioncof/templates/base_title.html index c52f29bb..2e9687dd 100644 --- a/gestioncof/templates/base_title.html +++ b/gestioncof/templates/base_title.html @@ -1,4 +1,4 @@ -{% extends "base_header.html" %} +{% extends "gestioncof/base_header.html" %} {% block interm_content %} diff --git a/gestioncof/templates/base_header.html b/gestioncof/templates/gestioncof/base_header.html similarity index 60% rename from gestioncof/templates/base_header.html rename to gestioncof/templates/gestioncof/base_header.html index baaa24b6..a7e29eb7 100644 --- a/gestioncof/templates/base_header.html +++ b/gestioncof/templates/gestioncof/base_header.html @@ -16,5 +16,21 @@

{% if user.first_name %}{{ user.first_name }}{% else %}{{ user.username }}{% endif %}, {% if user.profile.is_cof %}au COF{% else %}non-COF{% endif %}

+{% if messages %} + {% for message in messages %} +
+
+
+ + {% if 'safe' in message.tags %} + {{ message|safe }} + {% else %} + {{ message }} + {% endif %} +
+
+
+ {% endfor %} +{% endif %} {% block interm_content %}{% endblock %} {% endblock %} diff --git a/gestioncof/templates/home.html b/gestioncof/templates/home.html index c85cbbe1..3c0ec767 100644 --- a/gestioncof/templates/home.html +++ b/gestioncof/templates/home.html @@ -1,4 +1,4 @@ -{% extends "base_header.html" %} +{% extends "gestioncof/base_header.html" %} {% block homelink %} {% endblock %} diff --git a/gestioncof/templates/registration.html b/gestioncof/templates/registration.html index 4f15a4b7..0353b885 100644 --- a/gestioncof/templates/registration.html +++ b/gestioncof/templates/registration.html @@ -4,7 +4,6 @@ {% block page_size %}col-sm-8{% endblock %} {% block extra_head %} - {% endblock %} diff --git a/gestioncof/templates/traitement_demande_petit_cours_autre_niveau.html b/gestioncof/templates/traitement_demande_petit_cours_autre_niveau.html index f92be513..c2c7e734 100644 --- a/gestioncof/templates/traitement_demande_petit_cours_autre_niveau.html +++ b/gestioncof/templates/traitement_demande_petit_cours_autre_niveau.html @@ -16,7 +16,6 @@ {% endif %} - {% if proposals %}
{% csrf_token %} From d31b9f59abf66616f05dd37af8e8b1ace5c68620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sat, 28 Jan 2017 19:46:56 +0100 Subject: [PATCH 02/17] Traitement des messages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Les messages sont affichés à l'utilisateurs dans les vues de GestioCOF - On utilise une autre version de bootstrap et jquery (plus récent) Fixes #48 --- bda/templates/bda-participants.html | 2 - bda/templates/bda/etat-places.html | 2 - bda/templates/spectacle_list.html | 2 - gestioncof/static/css/cof.css | 57 +++++++++++++------ gestioncof/templates/base.html | 12 +++- gestioncof/templates/base_title.html | 2 +- .../{ => gestioncof}/base_header.html | 16 ++++++ gestioncof/templates/home.html | 2 +- gestioncof/templates/registration.html | 1 - ...ment_demande_petit_cours_autre_niveau.html | 1 - 10 files changed, 68 insertions(+), 29 deletions(-) rename gestioncof/templates/{ => gestioncof}/base_header.html (60%) diff --git a/bda/templates/bda-participants.html b/bda/templates/bda-participants.html index 3efeccc3..f52e6b96 100644 --- a/bda/templates/bda-participants.html +++ b/bda/templates/bda-participants.html @@ -48,8 +48,6 @@ {% endfor %} - + {% block extra_head %}{% endblock %} diff --git a/gestioncof/templates/base_title.html b/gestioncof/templates/base_title.html index c52f29bb..2e9687dd 100644 --- a/gestioncof/templates/base_title.html +++ b/gestioncof/templates/base_title.html @@ -1,4 +1,4 @@ -{% extends "base_header.html" %} +{% extends "gestioncof/base_header.html" %} {% block interm_content %} diff --git a/gestioncof/templates/base_header.html b/gestioncof/templates/gestioncof/base_header.html similarity index 60% rename from gestioncof/templates/base_header.html rename to gestioncof/templates/gestioncof/base_header.html index baaa24b6..a7e29eb7 100644 --- a/gestioncof/templates/base_header.html +++ b/gestioncof/templates/gestioncof/base_header.html @@ -16,5 +16,21 @@

{% if user.first_name %}{{ user.first_name }}{% else %}{{ user.username }}{% endif %}, {% if user.profile.is_cof %}au COF{% else %}non-COF{% endif %}

+{% if messages %} + {% for message in messages %} +
+
+
+ + {% if 'safe' in message.tags %} + {{ message|safe }} + {% else %} + {{ message }} + {% endif %} +
+
+
+ {% endfor %} +{% endif %} {% block interm_content %}{% endblock %} {% endblock %} diff --git a/gestioncof/templates/home.html b/gestioncof/templates/home.html index c85cbbe1..3c0ec767 100644 --- a/gestioncof/templates/home.html +++ b/gestioncof/templates/home.html @@ -1,4 +1,4 @@ -{% extends "base_header.html" %} +{% extends "gestioncof/base_header.html" %} {% block homelink %} {% endblock %} diff --git a/gestioncof/templates/registration.html b/gestioncof/templates/registration.html index 4f15a4b7..0353b885 100644 --- a/gestioncof/templates/registration.html +++ b/gestioncof/templates/registration.html @@ -4,7 +4,6 @@ {% block page_size %}col-sm-8{% endblock %} {% block extra_head %} - {% endblock %} diff --git a/gestioncof/templates/traitement_demande_petit_cours_autre_niveau.html b/gestioncof/templates/traitement_demande_petit_cours_autre_niveau.html index f92be513..c2c7e734 100644 --- a/gestioncof/templates/traitement_demande_petit_cours_autre_niveau.html +++ b/gestioncof/templates/traitement_demande_petit_cours_autre_niveau.html @@ -16,7 +16,6 @@ {% endif %} - {% if proposals %} {% csrf_token %} From 0666b5288f34c038e34c7472be2ddd1dce024491 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 29 Jan 2017 16:24:07 +0100 Subject: [PATCH 03/17] Proper use of messages in survies --- .../templates/{ => gestioncof}/survey.html | 7 ------ gestioncof/views.py | 24 ++++++++++++------- 2 files changed, 16 insertions(+), 15 deletions(-) rename gestioncof/templates/{ => gestioncof}/survey.html (69%) diff --git a/gestioncof/templates/survey.html b/gestioncof/templates/gestioncof/survey.html similarity index 69% rename from gestioncof/templates/survey.html rename to gestioncof/templates/gestioncof/survey.html index 4d836545..ccf447ef 100644 --- a/gestioncof/templates/survey.html +++ b/gestioncof/templates/gestioncof/survey.html @@ -5,13 +5,6 @@ {% block realcontent %}

Sondage: {{ survey.title }}

- {% if success %} - {% if deleted %} -

Votre réponse a bien été supprimée !

- {% else %} -

Votre réponse a bien été enregistrée ! Vous pouvez cependant la modifier jusqu'à la fin du sondage.

- {% endif %} - {% endif %} {% if survey.details %}

{{ survey.details }}

{% endif %} diff --git a/gestioncof/views.py b/gestioncof/views.py index 1945f7f6..2a59bd14 100644 --- a/gestioncof/views.py +++ b/gestioncof/views.py @@ -1,9 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals - import unicodecsv import uuid from datetime import timedelta @@ -16,6 +12,7 @@ from django.contrib.auth.views import login as django_login_view from django.contrib.auth.models import User from django.contrib.sites.models import Site from django.utils import timezone +from django.contrib import messages import django.utils.six as six from gestioncof.models import Survey, SurveyAnswer, SurveyQuestion, \ @@ -153,10 +150,21 @@ def survey(request, survey_id): except SurveyAnswer.DoesNotExist: current_answer = None form = SurveyForm(survey=survey) - return render(request, "survey.html", {"survey": survey, "form": form, - "success": success, - "deleted": deleted, - "current_answer": current_answer}) + # Messages + if success: + if deleted: + messages.success(request, + "Votre réponse a bien été supprimée") + else: + messages.success(request, + "Votre réponse a bien été enregistrée ! Vous " + "pouvez cependant la modifier jusqu'à la fin " + "du sondage.") + return render(request, "gestioncof/survey.html", { + "survey": survey, + "form": form, + "current_answer": current_answer + }) def get_event_form_choices(event, form): From 91fff8a11e3a2e960520562e7cd3db19a28c3d7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 29 Jan 2017 17:13:01 +0100 Subject: [PATCH 04/17] Proper use of messages in BdA inscription --- bda/templates/bda/inscription-tirage.html | 8 +--- .../bda/resume-inscription-tirage.html | 2 - bda/views.py | 45 ++++++++++++++----- .../{ => gestioncof}/registration_post.html | 0 4 files changed, 34 insertions(+), 21 deletions(-) rename gestioncof/templates/{ => gestioncof}/registration_post.html (100%) diff --git a/bda/templates/bda/inscription-tirage.html b/bda/templates/bda/inscription-tirage.html index d43059e7..2e8cb6cf 100644 --- a/bda/templates/bda/inscription-tirage.html +++ b/bda/templates/bda/inscription-tirage.html @@ -91,12 +91,6 @@ var django = {

Inscription au tirage au sort du BdA

- {% if success %} -

Votre inscription a été mise à jour avec succès !

- {% endif %} - {% if stateerror %} -

Impossible d'enregistrer vos modifications: vous avez apporté d'autres modifications entre temps

- {% endif %} {% csrf_token %} {% include "bda/inscription-formset.html" %} @@ -113,7 +107,7 @@ var django = {

- 1: cette liste de vœu est ordonnée (du plus important au moins important), pour ajuster la priorité vous pouvez déplacer chaque vœu.
+ 1: cette liste de vœux est ordonnée (du plus important au moins important), pour ajuster la priorité vous pouvez déplacer chaque vœu.

diff --git a/bda/templates/bda/resume-inscription-tirage.html b/bda/templates/bda/resume-inscription-tirage.html index 2e0531ca..0ad7ec0e 100644 --- a/bda/templates/bda/resume-inscription-tirage.html +++ b/bda/templates/bda/resume-inscription-tirage.html @@ -1,8 +1,6 @@ {% extends "base_title.html" %} {% block realcontent %} -

{{ error_title }}

-

{{ error_description }}

{% if choices %}

Vos vœux:

    diff --git a/bda/views.py b/bda/views.py index 3c448f34..ddd2fc90 100644 --- a/bda/views.py +++ b/bda/views.py @@ -8,6 +8,7 @@ from datetime import timedelta from django.shortcuts import render, get_object_or_404 from django.contrib.auth.decorators import login_required +from django.contrib import messages from django.db import models, transaction from django.db.models import Count, Q, Sum from django.core import serializers, mail @@ -17,7 +18,7 @@ from django.core.urlresolvers import reverse from django.conf import settings from django.core.mail import send_mail from django.template import loader -from django.utils import timezone +from django.utils import timezone, formats from django.views.generic.list import ListView from gestioncof.decorators import cof_required, buro_required @@ -121,23 +122,37 @@ def places(request, tirage_id): @cof_required def inscription(request, tirage_id): + """ + Vue d'inscription à un tirage BdA. + - On vérifie qu'on se situe bien entre la date d'ouverture et la date de + fermeture des inscriptions. + - On vérifie que l'inscription n'a pas été modifiée entre le moment où le + client demande le formulaire et le moment où il soumet son inscription + (autre session par exemple). + """ tirage = get_object_or_404(Tirage, id=tirage_id) if timezone.now() < tirage.ouverture: - error_desc = tirage.ouverture.strftime('Ouverture le %d %b %Y à %H:%M') - return render(request, 'bda/resume-inscription-tirage.html', - {"error_title": "Le tirage n'est pas encore ouvert !", - "error_description": error_desc}) + # Le tirage n'est pas encore ouvert. + opening = formats.localize( + timezone.template_localtime(tirage.ouverture)) + messages.error(request, "Le tirage n'est pas encore ouvert : " + "ouverture le {:s}".format(opening)) + return render(request, 'bda/resume-inscription-tirage.html', {}) if timezone.now() > tirage.fermeture: + # Le tirage est fermé. participant, created = Participant.objects.get_or_create( user=request.user, tirage=tirage) choices = participant.choixspectacle_set.order_by("priority").all() + messages.error(request, + " C'est fini : tirage au sort dans la journée !") return render(request, "bda/resume-inscription-tirage.html", - {"error_title": "C'est fini !", - "error_description": - "Tirage au sort dans la journée !", - "choices": choices}) + {"choices": choices}) def formfield_callback(f, **kwargs): + """ + Fonction utilisée par inlineformset_factory ci dessous. + Restreint les spectacles proposés aux spectacles du bo tirage. + """ if f.name == "spectacle": kwargs['queryset'] = tirage.spectacle_set return f.formfield(**kwargs) @@ -170,13 +185,19 @@ def inscription(request, tirage_id): total_price += choice.spectacle.price if choice.double: total_price += choice.spectacle.price + # Messages + if success: + messages.success(request, "Votre inscription a été mise à jour avec " + "succès !") + if stateerror: + messages.error(request, "Impossible d'enregistrer vos modifications " + ": vous avez apporté d'autres modifications " + "entre temps.") return render(request, "bda/inscription-tirage.html", {"formset": formset, - "success": success, "total_price": total_price, "dbstate": dbstate, - 'tirage': tirage, - "stateerror": stateerror}) + 'tirage': tirage}) def do_tirage(request, tirage_id): diff --git a/gestioncof/templates/registration_post.html b/gestioncof/templates/gestioncof/registration_post.html similarity index 100% rename from gestioncof/templates/registration_post.html rename to gestioncof/templates/gestioncof/registration_post.html From efea92b5d22adc3fc2dc29f07ba62dbd44cec9d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 29 Jan 2017 22:49:32 +0100 Subject: [PATCH 05/17] Proper use of messages in places --- bda/templates/{ => bda}/resume_places.html | 3 --- bda/views.py | 9 ++++++--- 2 files changed, 6 insertions(+), 6 deletions(-) rename bda/templates/{ => bda}/resume_places.html (83%) diff --git a/bda/templates/resume_places.html b/bda/templates/bda/resume_places.html similarity index 83% rename from bda/templates/resume_places.html rename to bda/templates/bda/resume_places.html index 614a1656..3785169b 100644 --- a/bda/templates/resume_places.html +++ b/bda/templates/bda/resume_places.html @@ -2,9 +2,6 @@ {% block realcontent %}

    Places attribuées

    - {% if warning %} -

    Attention, vous avez reçu plusieurs places pour des spectacles différents à la même date !

    - {% endif %} {% if places %} {% for place in places %} diff --git a/bda/views.py b/bda/views.py index ddd2fc90..039e0ec7 100644 --- a/bda/views.py +++ b/bda/views.py @@ -112,12 +112,15 @@ def places(request, tirage_id): warning = True else: dates.append(date) - return render(request, "resume_places.html", + # On prévient l'utilisateur s'il a deux places à la même date + if warning: + messages.warning(request, "Attention, vous avez reçu des places pour " + "des spectacles différents à la même date.") + return render(request, "bda/resume_places.html", {"participant": participant, "places": filtered_places, "tirage": tirage, - "total": total, - "warning": warning}) + "total": total}) @cof_required From b12b5c938fc3765bdd8dff2a429f4e14099400ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 29 Jan 2017 23:05:59 +0100 Subject: [PATCH 06/17] Proper use of messages in inscription-reventes --- bda/templates/{ => bda}/liste-reventes.html | 9 --------- bda/views.py | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 15 deletions(-) rename bda/templates/{ => bda}/liste-reventes.html (72%) diff --git a/bda/templates/liste-reventes.html b/bda/templates/bda/liste-reventes.html similarity index 72% rename from bda/templates/liste-reventes.html rename to bda/templates/bda/liste-reventes.html index c0bf8ff0..fcf57345 100644 --- a/bda/templates/liste-reventes.html +++ b/bda/templates/bda/liste-reventes.html @@ -3,15 +3,6 @@ {% block realcontent %}

    Inscriptions pour BdA-Revente

    - {% if success %} -

    Ton inscription a bien été prise en compte !

    - {% endif %} - {% if deja_revente %} -

    Des reventes existent déjà pour certains de ces spectacles ; vérifie les places disponibles sans tirage !

    - {% elif inscrit_revente %} -

    Tu as été inscrit à une revente en cours pour ce spectacle !

    - {% endif %} -
    {% csrf_token %}
    diff --git a/bda/views.py b/bda/views.py index 039e0ec7..98d4c751 100644 --- a/bda/views.py +++ b/bda/views.py @@ -427,7 +427,7 @@ def list_revente(request, tirage_id): user=request.user, tirage=tirage) deja_revente = False success = False - inscrit_revente = False + inscrit_revente = [] if request.method == 'POST': form = InscriptionReventeForm(tirage, request.POST) if form.is_valid(): @@ -454,17 +454,24 @@ def list_revente(request, tirage_id): if min_resell is not None: min_resell.answered_mail.add(participant) min_resell.save() - inscrit_revente = True + inscrit_revente.append(spectacle) success = True else: form = InscriptionReventeForm( tirage, initial={'spectacles': participant.choicesrevente.all()}) + # Messages + if success: + messages.success(request, "Ton inscription a bien été prise en compte") + if deja_revente: + messages.info(request, "Des reventes existent déjà pour certains de " + "ces spectacles, vérifie les places " + "disponibles sans tirage !") + for spectacle in inscrit_revente: + messages.info(request, "Tu as été inscrit à une revente en cours pour " + "{!s}".format(spectacle)) - return render(request, "liste-reventes.html", - {"form": form, - "deja_revente": deja_revente, "success": success, - "inscrit_revente": inscrit_revente}) + return render(request, "bda/liste-reventes.html", {"form": form}) @login_required From 1fe1b94afc138e0e425f92fa384161de33567f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Mon, 30 Jan 2017 13:12:01 +0100 Subject: [PATCH 07/17] Proper use of messages in events --- gestioncof/templates/{ => gestioncof}/event.html | 3 --- gestioncof/views.py | 9 +++++++-- 2 files changed, 7 insertions(+), 5 deletions(-) rename gestioncof/templates/{ => gestioncof}/event.html (69%) diff --git a/gestioncof/templates/event.html b/gestioncof/templates/gestioncof/event.html similarity index 69% rename from gestioncof/templates/event.html rename to gestioncof/templates/gestioncof/event.html index cc7d96d0..52f893db 100644 --- a/gestioncof/templates/event.html +++ b/gestioncof/templates/gestioncof/event.html @@ -2,9 +2,6 @@ {% block realcontent %}

    Événement: {{ event.title }}

    - {% if success %} -

    Votre inscription a bien été enregistrée ! Vous pouvez cependant la modifier jusqu'à la fin des inscriptions.

    - {% endif %} {% if event.details %}

    {{ event.details }}

    {% endif %} diff --git a/gestioncof/views.py b/gestioncof/views.py index 2a59bd14..ea0de7c8 100644 --- a/gestioncof/views.py +++ b/gestioncof/views.py @@ -224,8 +224,13 @@ def event(request, event_id): current_choices=current_registration.options) except EventRegistration.DoesNotExist: form = EventForm(event=event) - return render(request, "event.html", - {"event": event, "form": form, "success": success}) + # Messages + if success: + messages.success(request, "Votre inscription a bien été enregistrée ! " + "Vous pouvez cependant la modifier jusqu'à " + "la fin des inscriptions.") + return render(request, "gestioncof/event.html", + {"event": event, "form": form}) def clean_post_for_status(initial): From b7ecac3db6a3cd29407485482be459c56bd2b2a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Mon, 30 Jan 2017 13:19:50 +0100 Subject: [PATCH 08/17] Proper use of messages in profile edit --- gestioncof/templates/{ => gestioncof}/profile.html | 3 --- gestioncof/views.py | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) rename gestioncof/templates/{ => gestioncof}/profile.html (89%) diff --git a/gestioncof/templates/profile.html b/gestioncof/templates/gestioncof/profile.html similarity index 89% rename from gestioncof/templates/profile.html rename to gestioncof/templates/gestioncof/profile.html index 7b185150..59358239 100644 --- a/gestioncof/templates/profile.html +++ b/gestioncof/templates/gestioncof/profile.html @@ -5,9 +5,6 @@ {% block realcontent %}

    Modifier mon profil

    - {% if success %} -

    Votre profil a été mis à jour avec succès !

    - {% endif %}
    {% csrf_token %} diff --git a/gestioncof/views.py b/gestioncof/views.py index ea0de7c8..32fd39a4 100644 --- a/gestioncof/views.py +++ b/gestioncof/views.py @@ -317,15 +317,15 @@ def survey_status(request, survey_id): @cof_required def profile(request): - success = False if request.method == "POST": form = UserProfileForm(request.POST, instance=request.user.profile) if form.is_valid(): form.save() - success = True + messages.success(request, + "Votre profil a été mis à jour avec succès !") else: form = UserProfileForm(instance=request.user.profile) - return render(request, "profile.html", {"form": form, "success": success}) + return render(request, "gestioncof/profile.html", {"form": form}) def registration_set_ro_fields(user_form, profile_form): From 51c0e2dabccd9a31e84dc91450be603caaffeae8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Mon, 30 Jan 2017 13:36:51 +0100 Subject: [PATCH 09/17] proper use of messages in registration --- .../templates/gestioncof/registration_post.html | 4 ---- gestioncof/views.py | 16 ++++++++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/gestioncof/templates/gestioncof/registration_post.html b/gestioncof/templates/gestioncof/registration_post.html index ce2f3786..e96fa1e7 100644 --- a/gestioncof/templates/gestioncof/registration_post.html +++ b/gestioncof/templates/gestioncof/registration_post.html @@ -2,10 +2,6 @@ {% block realcontent %}

    Inscription d'un nouveau membre

    - {% if success %} -

    L'inscription de {{ member.first_name }} {{ member.last_name }} ({{ member.username }}) a été enregistrée avec succès. - {% if member.profile.is_cof %}Il est désormais membre du COF n°{{ member.profile.num }} !{% endif %}

    - {% endif %}
    {% include "registration_form.html" %}
    diff --git a/gestioncof/views.py b/gestioncof/views.py index 32fd39a4..3fdafd28 100644 --- a/gestioncof/views.py +++ b/gestioncof/views.py @@ -388,7 +388,7 @@ def registration_form2(request, login_clipper=None, username=None): profile_form = RegistrationProfileForm() event_formset = EventFormset(events=events, prefix='events') clubs_form = ClubsForm() - return render(request, "registration_form.html", + return render(request, "gestioncof/registration_form.html", {"member": member, "login_clipper": login_clipper, "user_form": user_form, "profile_form": profile_form, @@ -491,9 +491,17 @@ def registration(request): club.membres.add(member) club.save() success = True - return render(request, "registration_post.html", - {"success": success, - "user_form": user_form, + # Messages + if success: + msg = ("L'inscription de {:s} ({:s}) a été " + "enregistrées avec succès" + .format(member.get_full_name(), member.email)) + if member.profile.is_cof: + msg += "Il est désormais membre du COF n°{:d} !".format( + member.profile.num) + messages.success(request, msg, extra_tags='safe') + return render(request, "gestioncof/registration_post.html", + {"user_form": user_form, "profile_form": profile_form, "member": member, "login_clipper": login_clipper, From fd42563f7f9a40d3f230e562076782d66208478a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Mon, 30 Jan 2017 13:46:16 +0100 Subject: [PATCH 10/17] Proper use of messages in calendar subscription --- .../{ => gestioncof}/calendar_subscription.html | 8 -------- gestioncof/views.py | 12 +++++++----- 2 files changed, 7 insertions(+), 13 deletions(-) rename gestioncof/templates/{ => gestioncof}/calendar_subscription.html (88%) diff --git a/gestioncof/templates/calendar_subscription.html b/gestioncof/templates/gestioncof/calendar_subscription.html similarity index 88% rename from gestioncof/templates/calendar_subscription.html rename to gestioncof/templates/gestioncof/calendar_subscription.html index 5f0bc988..62e154ea 100644 --- a/gestioncof/templates/calendar_subscription.html +++ b/gestioncof/templates/gestioncof/calendar_subscription.html @@ -4,14 +4,6 @@

    Calendrier dynamique

    -{% if success %} -

    Calendrier mis à jour avec succès

    -{% endif %} - -{% if error %} -

    {{ error }}

    -{% endif %} -

    Ce formulaire vous permet de définir un calendrier dynamique compatible avec n'importe quel logiciel ou application d'agenda. Vous pouvez choisir de souscrire aux événements du COF et/ou aux spectacles BdA. diff --git a/gestioncof/views.py b/gestioncof/views.py index 3fdafd28..c67691cb 100644 --- a/gestioncof/views.py +++ b/gestioncof/views.py @@ -707,15 +707,17 @@ def calendar(request): subscription.token = uuid.uuid4() subscription.save() form.save_m2m() - return render(request, "calendar_subscription.html", + messages.success(request, + "Calendrier mis à jour avec succès.") + return render(request, "gestioncof/calendar_subscription.html", {'form': form, - 'success': True, 'token': str(subscription.token)}) else: - return render(request, "calendar_subscription.html", - {'form': form, 'error': "Formulaire incorrect"}) + messages.error(request, "Formulaire incorrect.") + return render(request, "gestioncof/calendar_subscription.html", + {'form': form}) else: - return render(request, "calendar_subscription.html", + return render(request, "gestioncof/calendar_subscription.html", {'form': CalendarForm(instance=instance), 'token': instance.token if instance else None}) From 8c34e2f83fe9f92a1ce882f8336bd1c1ea37b78e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Mon, 30 Jan 2017 13:50:24 +0100 Subject: [PATCH 11/17] proper use of messages in petits cours --- gestioncof/petits_cours_views.py | 11 ++++------- .../traitement_demande.html} | 6 ------ 2 files changed, 4 insertions(+), 13 deletions(-) rename gestioncof/templates/{traitement_demande_petit_cours.html => petits_cours/traitement_demande.html} (90%) diff --git a/gestioncof/petits_cours_views.py b/gestioncof/petits_cours_views.py index ee71d1a9..f4cafab0 100644 --- a/gestioncof/petits_cours_views.py +++ b/gestioncof/petits_cours_views.py @@ -1,9 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import division -from __future__ import print_function -from __future__ import unicode_literals - from django.shortcuts import render, get_object_or_404, redirect from django.core import mail from django.core.mail import EmailMessage @@ -17,6 +13,7 @@ from django.views.decorators.csrf import csrf_exempt from django.template import loader from django.conf import settings from django.contrib.auth.decorators import login_required +from django.contrib import messages from django.db.models import Min from gestioncof.models import CofProfile @@ -29,7 +26,6 @@ from gestioncof.shared import lock_table, unlock_tables from captcha.fields import ReCaptchaField from datetime import datetime -import base64 import json @@ -139,7 +135,9 @@ def _finalize_traitement(request, demande, proposals, proposed_for, 'style="width:99%; height: 90px;">' '' }) - return render(request, "traitement_demande_petit_cours.html", + for error in errors: + messages.error(request, error) + return render(request, "petits_cours/traitement_demande.html", {"demande": demande, "unsatisfied": unsatisfied, "proposals": proposals, @@ -148,7 +146,6 @@ def _finalize_traitement(request, demande, proposals, proposed_for, "mainmail": mainmail, "attribdata": json.dumps(attribdata), "redo": redo, - "errors": errors, }) diff --git a/gestioncof/templates/traitement_demande_petit_cours.html b/gestioncof/templates/petits_cours/traitement_demande.html similarity index 90% rename from gestioncof/templates/traitement_demande_petit_cours.html rename to gestioncof/templates/petits_cours/traitement_demande.html index d51f87b5..6b43fbe6 100644 --- a/gestioncof/templates/traitement_demande_petit_cours.html +++ b/gestioncof/templates/petits_cours/traitement_demande.html @@ -4,12 +4,6 @@

    Traitement de la demande de petits cours {{ demande.id }}

    {% include "details_demande_petit_cours_infos.html" %}
    - {% if errors %} -
    - Attention: -
      {% for error in errors %}
    • {{ error }}
    • {% endfor %}
    -
    - {% endif %} {% if unsatisfied %}
    Attention: Impossible de trouver des propositions pour les matières suivantes: From f274c1e978fe1f6923cd826f012e4c2bb544d11c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sat, 4 Feb 2017 00:01:15 +0100 Subject: [PATCH 12/17] Un seul message pour la liste des inscriptions --- bda/views.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/bda/views.py b/bda/views.py index 98d4c751..fe43a0cb 100644 --- a/bda/views.py +++ b/bda/views.py @@ -467,9 +467,13 @@ def list_revente(request, tirage_id): messages.info(request, "Des reventes existent déjà pour certains de " "ces spectacles, vérifie les places " "disponibles sans tirage !") - for spectacle in inscrit_revente: - messages.info(request, "Tu as été inscrit à une revente en cours pour " - "{!s}".format(spectacle)) + if inscrit_revente: + shows = map("
  1. {!s}
  2. ".format, inscrit_revente) + msg = ( + "Tu as été inscrit à des reventes en cours pour les spectacles " + "
      {:s}
    ".format('\n'.join(shows)) + ) + messages.info(request, msg, extra_tags="safe") return render(request, "bda/liste-reventes.html", {"form": form}) From 99a19f850a1122d8f447ce80d0f8edb173c6cf48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sat, 11 Feb 2017 11:41:49 +0100 Subject: [PATCH 13/17] typo --- gestioncof/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gestioncof/views.py b/gestioncof/views.py index c122bf9d..a18d447f 100644 --- a/gestioncof/views.py +++ b/gestioncof/views.py @@ -494,7 +494,7 @@ def registration(request): # Messages if success: msg = ("L'inscription de {:s} ({:s}) a été " - "enregistrées avec succès" + "enregistrée avec succès" .format(member.get_full_name(), member.email)) if member.profile.is_cof: msg += "Il est désormais membre du COF n°{:d} !".format( From 675ff99414bbf6e84a63f4e221c7fc321cb2a693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sat, 11 Feb 2017 11:50:49 +0100 Subject: [PATCH 14/17] Supprime les doublons avec jquery --- bda/templates/bda-participants.html | 2 -- bda/templates/bda/etat-places.html | 2 -- bda/templates/bda/inscription-tirage.html | 1 - bda/templates/spectacle_list.html | 2 -- gestioncof/templates/inscription-petit-cours.html | 1 - 5 files changed, 8 deletions(-) diff --git a/bda/templates/bda-participants.html b/bda/templates/bda-participants.html index f52e6b96..86124804 100644 --- a/bda/templates/bda-participants.html +++ b/bda/templates/bda-participants.html @@ -48,8 +48,6 @@ {% endfor %} - diff --git a/bda/templates/spectacle_list.html b/bda/templates/spectacle_list.html index 93d07c63..b58656d9 100644 --- a/bda/templates/spectacle_list.html +++ b/bda/templates/spectacle_list.html @@ -32,8 +32,6 @@ {% endfor %}
    - From 65341f0ecbee99b32529bab219e7a2dfeeb0a5c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sat, 11 Feb 2017 20:43:49 +0100 Subject: [PATCH 15/17] Minor error --- bda/templates/bda-participants.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bda/templates/bda-participants.html b/bda/templates/bda-participants.html index 86124804..289d1761 100644 --- a/bda/templates/bda-participants.html +++ b/bda/templates/bda-participants.html @@ -47,7 +47,8 @@ {% for participant in participants %}{{participant.name}} : {{participant.nb_places}} places {% endfor %} - +