diff --git a/home/templates/admin.html b/home/templates/admin.html index 14d70bacbc406b98445f968bb958b6dc22edc177..c7337fd5b6f05c56c25f42986b3e3f25bcc4e058 100644 --- a/home/templates/admin.html +++ b/home/templates/admin.html @@ -113,24 +113,31 @@ <p>La répartition se fait depuis la <a href="{% url 'admin:index' %}">page d'administration de django</a>, dans la rebrique "Choix d'activités" via la colonne "obtenue".</p> + <p>Une fois la répartition effectuée, vérifiez qu'elle passe les tests avant d'envoyer les mails</p> + {{ validations|safe }} <script type="text/javascript"> + {% if validation_errors %} + const errors = "!! Cette répartition ne passe PAS tous les tests !!\n\n"; + {% else %} + const errors = ""; + {% endif %} {% if not settings.user_notified %} function mail_inscrits() { if (confirm( - `Cette action va envoyer 20 emails.\nÊtes-vous sur de vouloir continuer ?` + `${errors}Cette action va envoyer {{ user_email_nb }} emails.\nÊtes-vous sur de vouloir continuer ?` )) window.location = "{% url 'home' %}"; } {% endif %} {% if not settings.orga_notified %} - function mail_orgas() { - if (confirm( - `Cette action va envoyer 10 emails.\nÊtes-vous sur de vouloir continuer ?` - )) - window.location = "{% url 'home' %}"; - } + function mail_orgas() { + if (confirm( + `${errors}Cette action va envoyer {{ orga_email_nb }} emails.\nÊtes-vous sur de vouloir continuer ?` + )) + window.location = "{% url 'home' %}"; + } {% endif %} </script> <p class="centered"><i class="fas fa-exclamation-triangle"></i> N'ENVOYER LES EMAILS QUE SI VOUS ÊTES SUR DE VOUS ! <i class="fas fa-exclamation-triangle"></i></p> @@ -155,7 +162,7 @@ {% if settings.orga_notified %} <button class="button disabled">Email aux orgas</button> {% else %} - <button class="button" onclick="mail_orgas();">Email aux orgass</button> + <button class="button" onclick="mail_orgas();">Email aux orgas</button> {% endif %} </div> {% endblock %} \ No newline at end of file diff --git a/home/views.py b/home/views.py index 2389090baf7d7af06b79cc6fa9ac299b957e8ddf..da0c13125a6554f3ac5e9c781575834e9fef94e3 100644 --- a/home/views.py +++ b/home/views.py @@ -248,12 +248,25 @@ class AdminView(SuperuserRequiredMixin, TemplateView): validations += self.validate_activity_participant_nb() validations += self.validate_activity_conflicts() validations += '</ul>' - return validations + + user_email_nb = ActivityList.objects.filter( + participant__is_registered=True + ).values("participant").distinct().count() + orga_email_nb = InterludesActivity.objects.filter( + display=True, must_subscribe=True, communicate_participants=True + ).count() + + return { + "validations": validations, + "user_email_nb": user_email_nb, + "orga_email_nb": orga_email_nb, + "validation_errors": '<li class="error">' in validations + } def get_context_data(self, *args, **kwargs): context = super().get_context_data(*args, **kwargs) context["metrics"] = self.get_metrics() - context["validations"] = self.validate_activity_allocation() + context.update(self.validate_activity_allocation()) return context