mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-27 07:02:26 +00:00
Move mail util function to seperate file
This commit is contained in:
parent
91504e9688
commit
00c15b4bb9
4 changed files with 54 additions and 27 deletions
45
re2o/mail_utils.py
Normal file
45
re2o/mail_utils.py
Normal file
|
@ -0,0 +1,45 @@
|
|||
# -*- mode: python; coding: utf-8 -*-
|
||||
# Re2o est un logiciel d'administration développé initiallement au rezometz. Il
|
||||
# se veut agnostique au réseau considéré, de manière à être installable en
|
||||
# quelques clics.
|
||||
#
|
||||
# Copyright © 2020 Jean-Romain Garnier
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
# Jean-Romain Garnier
|
||||
"""
|
||||
Regroupe les fonctions en lien avec les mails
|
||||
"""
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.core.mail import send_mail as django_send_mail
|
||||
from django.contrib import messages
|
||||
from smtplib import SMTPException
|
||||
|
||||
|
||||
def send_mail(request, *args, **kwargs):
|
||||
"""Wrapper for Django's send_mail which handles errors"""
|
||||
try:
|
||||
kwargs["fail_silently"] = request is None
|
||||
django_send_mail(*args, **kwargs)
|
||||
except SMTPException as e:
|
||||
messages.error(
|
||||
request,
|
||||
_("Failed to send email: %(error)s.") % {
|
||||
"error": e,
|
||||
},
|
||||
)
|
|
@ -39,10 +39,6 @@ from __future__ import unicode_literals
|
|||
from django.utils import timezone
|
||||
from django.db.models import Q
|
||||
from django.contrib.auth.models import Permission
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.core.mail import send_mail as django_send_mail
|
||||
from django.contrib import messages
|
||||
from smtplib import SMTPException
|
||||
|
||||
from cotisations.models import Cotisation, Facture, Vente
|
||||
from machines.models import Interface, Machine
|
||||
|
@ -217,17 +213,3 @@ def remove_user_room(room, force=True):
|
|||
if force or not user.has_access():
|
||||
user.room = None
|
||||
user.save()
|
||||
|
||||
|
||||
def send_mail(request, *args, **kwargs):
|
||||
"""Wrapper for Django's send_mail which handles errors"""
|
||||
try:
|
||||
kwargs["fail_silently"] = request is None
|
||||
django_send_mail(*args, **kwargs)
|
||||
except SMTPException as e:
|
||||
messages.error(
|
||||
request,
|
||||
_("Failed to send email: %(error)s.") % {
|
||||
"error": e,
|
||||
},
|
||||
)
|
||||
|
|
|
@ -5,7 +5,7 @@ from django.db.models.signals import post_save
|
|||
from django.dispatch import receiver
|
||||
|
||||
from re2o.mixins import AclMixin
|
||||
import re2o.utils
|
||||
from re2o.mail_utils import send_mail
|
||||
|
||||
from preferences.models import GeneralOption
|
||||
|
||||
|
@ -64,7 +64,7 @@ class Ticket(AclMixin, models.Model):
|
|||
obj = "New ticket opened"
|
||||
template = loader.get_template("tickets/publication_mail_en")
|
||||
|
||||
re2o.utils.send_mail(
|
||||
send_mail(
|
||||
request,
|
||||
obj,
|
||||
template.render(context),
|
||||
|
|
|
@ -83,7 +83,7 @@ from re2o.settings import LDAP, GID_RANGES, UID_RANGES
|
|||
from re2o.field_permissions import FieldPermissionModelMixin
|
||||
from re2o.mixins import AclMixin, RevMixin
|
||||
from re2o.base import smtp_check
|
||||
import re2o.utils
|
||||
from re2o.mail_utils import send_mail
|
||||
|
||||
from cotisations.models import Cotisation, Facture, Paiement, Vente
|
||||
from machines.models import Domain, Interface, Machine, regen
|
||||
|
@ -763,7 +763,7 @@ class User(
|
|||
"pseudo": self.pseudo,
|
||||
}
|
||||
|
||||
re2o.utils.send_mail(
|
||||
send_mail(
|
||||
request,
|
||||
"Bienvenue au %(name)s / Welcome to %(name)s"
|
||||
% {"name": AssoOption.get_cached_value("name")},
|
||||
|
@ -792,7 +792,7 @@ class User(
|
|||
"expire_in": str(GeneralOption.get_cached_value("req_expire_hrs")),
|
||||
}
|
||||
|
||||
re2o.utils.send_mail(
|
||||
send_mail(
|
||||
request,
|
||||
"Changement de mot de passe de %(name)s / Password change for "
|
||||
"%(name)s" % {"name": AssoOption.get_cached_value("name")},
|
||||
|
@ -877,7 +877,7 @@ class User(
|
|||
"confirm_before_en": self.confirm_email_before_date().strftime("%Y-%m-%d"),
|
||||
}
|
||||
|
||||
re2o.utils.send_mail(
|
||||
send_mail(
|
||||
request,
|
||||
"Confirmation du mail de %(name)s / Email confirmation for "
|
||||
"%(name)s" % {"name": AssoOption.get_cached_value("name")},
|
||||
|
@ -933,7 +933,7 @@ class User(
|
|||
"pseudo": self.pseudo,
|
||||
}
|
||||
|
||||
re2o.utils.send_mail(
|
||||
send_mail(
|
||||
None,
|
||||
"Ajout automatique d'une machine / New machine autoregistered",
|
||||
"",
|
||||
|
@ -953,7 +953,7 @@ class User(
|
|||
"site_name": GeneralOption.get_cached_value("site_name"),
|
||||
}
|
||||
|
||||
re2o.utils.send_mail(
|
||||
send_mail(
|
||||
request,
|
||||
"Suspension automatique / Automatic suspension",
|
||||
template.render(context),
|
||||
|
@ -1765,7 +1765,7 @@ class Ban(RevMixin, AclMixin, models.Model):
|
|||
"asso_name": AssoOption.get_cached_value("name"),
|
||||
}
|
||||
|
||||
re2o.utils.send_mail(
|
||||
send_mail(
|
||||
request,
|
||||
"Déconnexion disciplinaire / Disciplinary disconnection",
|
||||
template.render(context),
|
||||
|
|
Loading…
Reference in a new issue