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_QUERIES_DIR = os.path.join(BASE_DIR, '..', 'client', 'src', 'graphql', 'gql')
GRAPHQL_MUTATIONS_DIR = os.path.join(GRAPHQL_QUERIES_DIR, 'mutations') 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>' 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_USER = os.environ.get("TASKBASE_USER")
TASKBASE_PASSWORD = os.environ.get("TASKBASE_PASSWORD") TASKBASE_PASSWORD = os.environ.get("TASKBASE_PASSWORD")
TASKBASE_SUPERUSER = os.environ.get("TASKBASE_SUPERUSER") TASKBASE_SUPERUSER = os.environ.get("TASKBASE_SUPERUSER")

View File

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

View File

@ -1,6 +1,7 @@
import json import json
from django import template from django import template
from django.urls import reverse
from rest_framework import serializers from rest_framework import serializers
register = template.Library() register = template.Library()
@ -19,3 +20,8 @@ def json_dumps(obj):
@register.filter(name='class_name') @register.filter(name='class_name')
def class_name(obj): 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 import url, include
from django.conf.urls.static import static from django.conf.urls.static import static
from django.contrib import admin from django.contrib import admin
from django.contrib.auth.views import PasswordResetView
from django.urls import re_path, path from django.urls import re_path, path
from django.views.generic import RedirectView from django.views.generic import RedirectView
from wagtail.admin import urls as wagtailadmin_urls from wagtail.admin import urls as wagtailadmin_urls
@ -14,10 +15,14 @@ from core.views import LegacySetPasswordView, LegacySetPasswordDoneView, LegacyS
urlpatterns = [ urlpatterns = [
# django admin # django admin
url(r'^guru/', admin.site.urls), url(r'^guru/', admin.site.urls),
url(r'^accounts/', include('django.contrib.auth.urls')),
url(r'^statistics/', include('statistics.urls', namespace='statistics')), url(r'^statistics/', include('statistics.urls', namespace='statistics')),
# legacy - will be removed # 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 # set password
path('welcome/', LegacySetPasswordView.as_view(), name='set_password'), path('welcome/', LegacySetPasswordView.as_view(), name='set_password'),
path('set-password/done/', LegacySetPasswordDoneView.as_view(), name='set_password_done'), path('set-password/done/', LegacySetPasswordDoneView.as_view(), name='set_password_done'),

View File

@ -27,7 +27,7 @@ def home(request):
class SetPasswordView(PasswordResetView): 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' subject_template_name = 'registration/registration_set_password_subject.txt'
success_url = reverse_lazy('registration_set_password_done') success_url = reverse_lazy('registration_set_password_done')
template_name = 'registration/registration_set_password_form.html' template_name = 'registration/registration_set_password_form.html'
@ -52,7 +52,7 @@ class SetPasswordCompleteView(PasswordResetCompleteView):
# legacy # legacy
class LegacySetPasswordView(PasswordResetView): 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' subject_template_name = 'registration/set_password_subject.txt'
success_url = reverse_lazy('set_password_done') success_url = reverse_lazy('set_password_done')
template_name = 'registration/set_password_form.html' template_name = 'registration/set_password_form.html'