Skip to content
Snippets Groups Projects
Commit 3714dcc5 authored by Dorian Lesbre's avatar Dorian Lesbre
Browse files

Added global mail restrict setting for safety

parent 1a6479d3
No related branches found
No related tags found
No related merge requests found
......@@ -141,7 +141,7 @@
{% else %}
const errors = "";
{% endif %}
{% if not settings.user_notified %}
{% if not settings.user_notified and settings.allow_mass_mail %}
function mail_inscrits() {
if (confirm(
`${errors}Cette action va envoyer {{ user_email_nb }} emails.\nÊtes-vous sur de vouloir continuer ?`
......@@ -149,7 +149,7 @@
window.location = "{% url 'email_users' %}";
}
{% endif %}
{% if not settings.orga_notified %}
{% if not settings.orga_notified and settings.allow_mass_mail %}
function mail_orgas() {
if (confirm(
`${errors}Cette action va envoyer {{ orga_email_nb }} emails.\nÊtes-vous sur de vouloir continuer ?`
......@@ -159,7 +159,11 @@
{% 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>
{% if not settings.allow_mass_mail %}
<p>L'envoi d'emails collectifs est désactivé dans les réglages. Activez le avant d'envoyer
et redésactivez le après.
</p>
{% endif %}
{% if settings.user_notified %}
<p>Un email communiquant la répartition aux utilisateurs a déjà été envoyé.
(Modifiez les paramètres s'il faut en renvoyer un)
......@@ -176,12 +180,12 @@
{% endif %}
<div class="flex wrap">
{% if settings.user_notified %}
{% if settings.user_notified or not settings.allow_mass_mail %}
<button class="button disabled">Email aux inscrits</button>
{% else %}
<button class="button" onclick="mail_inscrits();">Email aux inscrits</button>
{% endif %}
{% if settings.orga_notified %}
{% if settings.orga_notified or not settings.allow_mass_mail %}
<button class="button disabled">Email aux orgas</button>
{% else %}
<button class="button" onclick="mail_orgas();">Email aux orgas</button>
......
......@@ -331,7 +331,11 @@ class SendEmailBase(SuperuserRequiredMixin, RedirectView):
raise NotImplementedError("{}.send_emails isn't implemented".format(self.__class__.__name__))
def get_redirect_url(self, *args, **kwargs):
self.send_emails()
settings = SiteSettings.load()
if settings.allow_mass_mail:
self.send_emails()
else:
messages.error(self.request, "L'envoi de mail de masse est désactivé dans les réglages")
return reverse(self.pattern_name)
class SendUserEmail(SendEmailBase):
......
......@@ -58,6 +58,11 @@ class SiteSettings(SingletonModel):
activity_submission_form = models.CharField("Lien pour soumettre une activité", max_length=200, default="")
allow_mass_mail = models.BooleanField(
"Permettre l'envoi de mails collectifs (aux utilisateurs et orgas)", default=False,
help_text="Par sécurité, n'activez ceci qu'au moment d'envoyer les emails et désactivez le après"
)
user_notified = models.BooleanField(
"L'email de répartition des activités a été envoyé", default=False,
help_text="Ce champ existe pour éviter l'envoie de plusieurs mails successifs. Le decocher permet de renvoyer tous les mails"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment