Merge pull request #390 from eventcally/issues/388

Add admin email test page #388
This commit is contained in:
Daniel Grams 2023-03-26 22:56:02 +02:00 committed by GitHub
commit 0547f08528
5 changed files with 24 additions and 2 deletions

View File

@ -1,4 +1,5 @@
from project import app, celery from project import app, celery
from project.celery import force_locale
from project.views.utils import send_mail from project.views.utils import send_mail
@ -7,4 +8,5 @@ from project.views.utils import send_mail
priority=0, priority=0,
) )
def send_mail_task(recipient, subject, template): def send_mail_task(recipient, subject, template):
send_mail(recipient, subject, template) with force_locale():
send_mail(recipient, subject, template)

View File

@ -1,6 +1,8 @@
from contextlib import contextmanager
from smtplib import SMTPException from smtplib import SMTPException
from urllib.error import URLError from urllib.error import URLError
from babel import Locale
from celery import Celery from celery import Celery
from celery import Task as BaseTask from celery import Task as BaseTask
from celery.signals import after_setup_logger, after_setup_task_logger, task_postrun from celery.signals import after_setup_logger, after_setup_task_logger, task_postrun
@ -77,3 +79,15 @@ def close_session(*args, **kwargs):
# won't propagate across tasks) # won't propagate across tasks)
with app.app_context(): with app.app_context():
sqlalchemydb.session.remove() sqlalchemydb.session.remove()
@contextmanager
def force_locale(locale=None):
from project import app
if not locale:
locale = Locale.parse("de")
with app.test_request_context() as ctx:
ctx.babel_locale = locale
yield

View File

@ -19,6 +19,12 @@
for (var i = 0; i < elements.length; i++) { for (var i = 0; i < elements.length; i++) {
initIframeWidget(elements.item(i), i); initIframeWidget(elements.item(i), i);
} }
// Legacy
elements = d.getElementsByClassName("oveda-widget");
for (var i = 0; i < elements.length; i++) {
initIframeWidget(elements.item(i), i);
}
} }
function initIframeWidget(element, index) { function initIframeWidget(element, index) {

View File

@ -2107,7 +2107,7 @@ msgstr "Einstellungen erfolgreich aktualisiert"
#: project/views/admin.py:108 #: project/views/admin.py:108
#, python-format #, python-format
msgid "Test mail from %(site_name)s" msgid "Test mail from %(site_name)s"
msgstr "Test-Mail from %(site_name)s" msgstr "Test-Mail von %(site_name)s"
#: project/views/admin.py:152 #: project/views/admin.py:152
msgid "User successfully updated" msgid "User successfully updated"