Skip to contentSkip to conversation

views: add ability to force https URL in layer review emails

PATCH New Paul Eggleton 1 participant 1 message Jul 21, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 views: add ability to force https URL in layer review emails

At the moment the URL that is presented in the review email will have
http:// or https:// prefix depending on what the user who submitted the layer was using, but that's irrelevant - we actually want https:// if the server is capable of it since the reviewer may be redirected to log in (and Django's login_required decorator will always redirect to the login page if http is being used as far as I observed, which is a bit annoying if you are already logged in.) Add a setting which if enabled will substitute https:// as the prefix.

---
 layerindex/views.py | 5 ++++-
 settings.py         | 4 ++++
 2 files changed, 8 insertions(+), 1 deletion(-)
layerindex/views.py +4 -1
index 2f7d45e..eaeb5c3 100644
@@ -169,10 +169,13 @@ def edit_layer_view(request, template_name, branch='master', slug=None):
                             user_name = user.first_name
                         else:
                             user_name = user.username
+                        layer_url = request.build_absolute_uri(reverse('layer_review', args=(layeritem.name,)))
+                        if getattr(settings, 'FORCE_REVIEW_HTTPS', False) and layer_url.startswith('http:'):
+                            layer_url = 'https:' + layer_url.split(':', 1)[1]
                         d = Context({
                             'user_name': user_name,
                             'layer_name': layeritem.name,
-                            'layer_url': request.build_absolute_uri(reverse('layer_review', args=(layeritem.name,))),
+                            'layer_url': layer_url,
                         })
                         subject = '%s - %s' % (settings.SUBMIT_EMAIL_SUBJECT, layeritem.name)
                         from_email = settings.SUBMIT_EMAIL_FROM
settings.py +4 -0
index 3318af1..92146f8 100644
@@ -217,6 +217,10 @@ UPDATE_PURGE_DAYS = 30
 # Remove layer dependencies that are not specified in conf/layer.conf
 REMOVE_LAYER_DEPENDENCIES = False
 
+# Always use https:// for review URLs in emails (since it may be redirected to
+# the login page)
+FORCE_REVIEW_HTTPS = False
+
 # Settings for layer submission feature
 SUBMIT_EMAIL_FROM = '[email protected]'
 SUBMIT_EMAIL_SUBJECT = 'OE Layerindex layer submission'
Signature · 1 line
2.9.4