From 722cd0f30e6306f8bd8d7c8288324ca931075c65 Mon Sep 17 00:00:00 2001 From: KhaledBousrih Date: Fri, 21 Feb 2020 18:18:11 +0100 Subject: [PATCH 1/2] register email subject in settings --- CHANGELOG.md | 1 + concrete_datastore/api/v1/views.py | 2 +- concrete_datastore/settings/base.py | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9fb8127..4dd775d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - fixed password change token expiry computation - fixed register serializer to allow null values of url_format and email_format +- register email subject in settings ### Removed diff --git a/concrete_datastore/api/v1/views.py b/concrete_datastore/api/v1/views.py index a016cfff..6e809d2d 100644 --- a/concrete_datastore/api/v1/views.py +++ b/concrete_datastore/api/v1/views.py @@ -984,7 +984,7 @@ def create_user(self, request, serializer, divider=None): confirmation.send_link(body=email_body) else: Email.objects.create( - subject='Set password', + subject=settings.REGISTER_EMAIL_SUBJECT, resource_status='to-send', resource_message='', body=email_body, diff --git a/concrete_datastore/settings/base.py b/concrete_datastore/settings/base.py index 75abb79d..5a2ed5fc 100644 --- a/concrete_datastore/settings/base.py +++ b/concrete_datastore/settings/base.py @@ -447,6 +447,8 @@ ALLOW_SEND_EMAIL_ON_REGISTER = True +REGISTER_EMAIL_SUBJECT = "Account created" + DEFAULT_REGISTER_EMAIL_FORMAT = """ From f821d161e4107b03c4ff133618426dffb31df23f Mon Sep 17 00:00:00 2001 From: KhaledBousrih Date: Fri, 21 Feb 2020 18:41:00 +0100 Subject: [PATCH 2/2] Add format url in settings and restore dev settings --- concrete_datastore/api/v1/serializers.py | 16 ++++++++++++---- concrete_datastore/settings/base.py | 4 ++++ development/settings.py | 4 ++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/concrete_datastore/api/v1/serializers.py b/concrete_datastore/api/v1/serializers.py index 2dcff7c4..9e955d0a 100644 --- a/concrete_datastore/api/v1/serializers.py +++ b/concrete_datastore/api/v1/serializers.py @@ -64,7 +64,11 @@ class RegisterSerializer(serializers.Serializer): password1 = serializers.CharField(required=False, allow_null=True) password2 = serializers.CharField(required=False, allow_null=True) email_format = serializers.CharField(required=False, allow_null=True) - url_format = serializers.CharField(required=False, allow_null=True) + url_format = serializers.CharField( + required=False, + allow_null=True, + default=settings.DEFAULT_REGISTER_URL_FORMAT, + ) class Meta: fields = ( @@ -77,20 +81,24 @@ class Meta: def validate_url_format(self, value): if value is None: - return '/#/set-password/{token}/{email}/' + return settings.DEFAULT_REGISTER_URL_FORMAT return value class ResetPasswordSerializer(serializers.Serializer): email = serializers.EmailField() - url_format = serializers.CharField(required=False, allow_null=True) + url_format = serializers.CharField( + required=False, + allow_null=True, + default=settings.DEFAULT_RESET_PASSWORD_URL_FORMAT, + ) class Meta: fields = ("email", "url_format") def validate_url_format(self, value): if value is None: - return '/#/reset-password/{token}/{email}/' + return settings.DEFAULT_RESET_PASSWORD_URL_FORMAT return value diff --git a/concrete_datastore/settings/base.py b/concrete_datastore/settings/base.py index 5a2ed5fc..600a8a9b 100644 --- a/concrete_datastore/settings/base.py +++ b/concrete_datastore/settings/base.py @@ -95,6 +95,8 @@ """ # nosec +DEFAULT_RESET_PASSWORD_URL_FORMAT = '/#/reset-password/{token}/{email}/' + AUTH_CONFIRM_RESET_PASSWORD_EMAIL_BODY = """ @@ -449,6 +451,8 @@ REGISTER_EMAIL_SUBJECT = "Account created" +DEFAULT_REGISTER_URL_FORMAT = '/#/set-password/{token}/{email}/' + DEFAULT_REGISTER_EMAIL_FORMAT = """ diff --git a/development/settings.py b/development/settings.py index 8d32407b..123fd06f 100644 --- a/development/settings.py +++ b/development/settings.py @@ -63,10 +63,10 @@ DISABLED_MODELS = () -EMAIL_HOST = os.environ.get("EMAIL_HOST", 'localhost') +EMAIL_HOST = os.environ.get("EMAIL_HOST", '') EMAIL_HOST_USER = os.environ.get("EMAIL_HOST_USER", '') EMAIL_HOST_PASSWORD = os.environ.get("EMAIL_HOST_PASSWORD", '') -EMAIL_PORT = os.environ.get("EMAIL_PORT", 1025) +EMAIL_PORT = os.environ.get("EMAIL_PORT", 587) EMAIL_USE_TLS = True EMAIL_USE_SSL = False EMAIL_TIMEOUT = None