Merge branch 'hotfix/html-email'

This commit is contained in:
Christian Cueni 2020-02-27 13:57:38 +01:00
commit a89bf91ecf
7 changed files with 69 additions and 18 deletions

View File

@ -355,12 +355,26 @@ WAGTAIL_SITE_NAME = 'skillbox'
GRAPHQL_QUERIES_DIR = os.path.join(BASE_DIR, '..', 'client', 'src', 'graphql', 'gql')
GRAPHQL_MUTATIONS_DIR = os.path.join(GRAPHQL_QUERIES_DIR, 'mutations')
EMAIL_BACKEND = 'sendgrid_backend.SendgridBackend'
# Sendgrid Config
# EMAIL_BACKEND = 'sendgrid_backend.SendgridBackend'
#
# SENDGRID_API_KEY = os.environ.get("SENDGRID_API_KEY")
# SENDGRID_SANDBOX_MODE_IN_DEBUG = False
SENDGRID_API_KEY = os.environ.get("SENDGRID_API_KEY")
SENDGRID_SANDBOX_MODE_IN_DEBUG = False
DEFAULT_FROM_EMAIL = 'myskillbox <noreply@myskillbox.ch>'
# Metanet Config
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = os.environ.get("EMAIL_HOST")
EMAIL_PORT = os.environ.get("EMAIL_PORT")
EMAIL_HOST_PASSWORD = os.environ.get("EMAIL_HOST_PASSWORD")
EMAIL_HOST_USER = os.environ.get("EMAIL_HOST_USER")
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
TASKBASE_USER = os.environ.get("TASKBASE_USER")
TASKBASE_PASSWORD = os.environ.get("TASKBASE_PASSWORD")
TASKBASE_SUPERUSER = os.environ.get("TASKBASE_SUPERUSER")

View File

@ -1,12 +1,21 @@
{% load i18n %}{% autoescape off %}
{% blocktrans %}Du erhältst dieses E-Mail, weil dein Passwort auf {{ site_name }} zurückgesetzt wurde.{% endblocktrans %}
{% load i18n %}
{% load core_tags %}
{% autoescape off %}
<p>
{% blocktrans %}Sie erhalten diese E-Mail, weil Ihr Passwort auf {{ site_name }} zurückgesetzt wurde.{% endblocktrans %}
</p>
<p>
{% trans "Bitte öffnen Sie folgende Seite, um Ihr neues Passwort einzugeben:" %}
</p>
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
<p>
<a href="{% reset_link 'password_reset_confirm' protocol domain token uid %}">{% reset_link 'password_reset_confirm' protocol domain token uid %}</a>
</p>
{% endblock %}
<p>
{% trans "Ihr Benutzername lautet:" %} {{ user.get_username }}
</p>
{% trans "Ihr Skillbox Team" %}
{% endautoescape %}

View File

@ -1,12 +1,26 @@
{% load i18n %}{% autoescape off %}
{% load i18n %}
{% load core_tags %}
{% autoescape off %}
<p>
{% blocktrans %}Sie erhalten diese E-Mail, um Ihr Passwort auf mySkillbox initial zu setzen.{% endblocktrans %}
</p>
<p>
{% trans "Bitte öffnen Sie folgende Seite, um Ihr neues Passwort einzugeben:" %}
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url 'set_password_confirm' uidb64=uid token=token %}
{% endblock %}
{% trans "Ihr Benutzername lautet:" %} {{ user.get_username }}
</p>
<p>
{% block reset_link %}
<a href="{% reset_link 'set_password_confirm' protocol domain token uid %}">{% reset_link 'set_password_confirm' protocol domain token uid %}</a>
</p>
{% endblock %}
<p>
{% trans "Ihr Benutzername lautet:" %} {{ user.get_username }}
</p>
<p>
{% trans "Ihr mySkillbox Team" %}
</p>
{% endautoescape %}

View File

@ -1,9 +1,12 @@
{% load i18n %}{% autoescape off %}
{% load i18n %}
{% load core_tags %}
{% autoescape off %}
{% blocktrans %}Sie erhalten diese E-Mail, um Ihr Passwort auf mySkillbox initial zu setzen.{% endblocktrans %}
{% trans "Bitte öffnen Sie folgende Seite, um Ihr neues Passwort einzugeben:" %}
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url 'set_password_confirm' uidb64=uid token=token %}
<a href="{% reset_link 'set_password_confirm' protocol domain token uid %}">{% reset_link 'set_password_confirm' protocol domain token uid %}</a>
{% endblock %}
{% trans "Ihr Benutzername lautet:" %} {{ user.get_username }}

View File

@ -1,6 +1,7 @@
import json
from django import template
from django.urls import reverse
from rest_framework import serializers
register = template.Library()
@ -18,4 +19,9 @@ def json_dumps(obj):
@register.filter(name='class_name')
def class_name(obj):
return str(obj.__class__.__name__)
return str(obj.__class__.__name__)
@register.simple_tag
def reset_link(name, protocol, domain, token, uid):
return '{}://{}{}'.format(protocol, domain, reverse(name, kwargs={'uidb64': uid, 'token': token}))

View File

@ -2,6 +2,7 @@ from django.conf import settings
from django.conf.urls import url, include
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.auth.views import PasswordResetView
from django.urls import re_path, path
from django.views.generic import RedirectView
from wagtail.admin import urls as wagtailadmin_urls
@ -14,10 +15,14 @@ from core.views import LegacySetPasswordView, LegacySetPasswordDoneView, LegacyS
urlpatterns = [
# django admin
url(r'^guru/', admin.site.urls),
url(r'^accounts/', include('django.contrib.auth.urls')),
url(r'^statistics/', include('statistics.urls', namespace='statistics')),
# legacy - will be removed
# forgot password
path('accounts/password_reset/',
PasswordResetView.as_view(html_email_template_name='registration/password_reset_email.html')),
path(r'accounts/', include('django.contrib.auth.urls')),
# set password
path('welcome/', LegacySetPasswordView.as_view(), name='set_password'),
path('set-password/done/', LegacySetPasswordDoneView.as_view(), name='set_password_done'),

View File

@ -27,7 +27,7 @@ def home(request):
class SetPasswordView(PasswordResetView):
email_template_name = 'registration/registration_set_password_email.html'
html_email_template_name = 'registration/registration_set_password_email.html'
subject_template_name = 'registration/registration_set_password_subject.txt'
success_url = reverse_lazy('registration_set_password_done')
template_name = 'registration/registration_set_password_form.html'
@ -52,7 +52,7 @@ class SetPasswordCompleteView(PasswordResetCompleteView):
# legacy
class LegacySetPasswordView(PasswordResetView):
email_template_name = 'registration/set_password_email.html'
html_email_template_name = 'registration/set_password_email.html'
subject_template_name = 'registration/set_password_subject.txt'
success_url = reverse_lazy('set_password_done')
template_name = 'registration/set_password_form.html'