From 441a2be0b8d11a03aeebe9c05f45d3c0fd051f08 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Thu, 6 Oct 2016 16:08:01 +0100 Subject: [PATCH] Added embedded login, and all iframe links open in new tab --- RIGS/templates/RIGS/event_embed.html | 56 ++++--------------------- RIGS/urls.py | 3 +- RIGS/views.py | 9 ++++ templates/base_embed.html | 51 ++++++++++++++++++++++ templates/registration/login_embed.html | 11 +++++ 5 files changed, 82 insertions(+), 48 deletions(-) create mode 100644 templates/base_embed.html create mode 100644 templates/registration/login_embed.html diff --git a/RIGS/templates/RIGS/event_embed.html b/RIGS/templates/RIGS/event_embed.html index 9670d38e..49c8384e 100644 --- a/RIGS/templates/RIGS/event_embed.html +++ b/RIGS/templates/RIGS/event_embed.html @@ -1,44 +1,12 @@ +{% extends 'base_embed.html' %} {% load static from staticfiles %} -{% load raven %} +{% block content %} - - - - - - - - - - - - - - - - -{% include "analytics.html" %} - -
-
-
+ +
+

@@ -54,7 +22,7 @@ {% endif %} - + {% if object.is_rig %}N{{ object.pk|stringformat:"05d" }}{% else %}{{ object.pk }}{% endif %} | {{ object.name }} @@ -79,7 +47,7 @@

{{ object.start_date|date:"D d/m/Y" }} {% if object.end_date and object.end_date != object.start_date %} - {{ object.end_date|date:"D d/m/Y" }} + – {{ object.end_date|date:"D d/m/Y" }} {% endif %} ({{ object.get_status_display }})

@@ -88,8 +56,7 @@ {{ object.description|linebreaksbr }}

{% endif %} -

-
+ {% if not object.cancelled %}
{% if object.meet_at %} @@ -115,10 +82,5 @@
-
-
-{% block js %} -{% endblock %} - - \ No newline at end of file +{% endblock %} \ No newline at end of file diff --git a/RIGS/urls.py b/RIGS/urls.py index beae4ec2..b402a109 100644 --- a/RIGS/urls.py +++ b/RIGS/urls.py @@ -15,6 +15,7 @@ urlpatterns = patterns('', url(r'^closemodal/$', views.CloseModal.as_view(), name='closemodal'), url('^user/login/$', 'RIGS.views.login', name='login'), + url('^user/login/embed/$', 'RIGS.views.login_embed', name='login_embed'), url(r'^user/password_reset/$', 'django.contrib.auth.views.password_reset', {'password_reset_form':forms.PasswordReset}), # People @@ -84,7 +85,7 @@ urlpatterns = patterns('', permission_required_with_403('RIGS.view_event', oembed_view="event_oembed")(rigboard.EventDetail.as_view()), name='event_detail'), url(r'^event/(?P\d+)/embed/$', - xframe_options_exempt(permission_required_with_403('RIGS.view_event')(rigboard.EventEmbed.as_view())), + xframe_options_exempt(permission_required_with_403('RIGS.view_event', login_url='/user/login/embed/')(rigboard.EventEmbed.as_view())), name='event_embed'), url(r'^event/(?P\d+)/oembed_json/$', rigboard.EventOembed.as_view(), diff --git a/RIGS/views.py b/RIGS/views.py index c013ce1d..fded9865 100644 --- a/RIGS/views.py +++ b/RIGS/views.py @@ -35,6 +35,15 @@ def login(request, **kwargs): return login(request) +def login_embed(request, **kwargs): + if request.user.is_authenticated(): + next = request.REQUEST.get('next', '/') + return HttpResponseRedirect(request.REQUEST.get('next', '/')) + else: + from django.contrib.auth.views import login + + return login(request, template_name="registration/login_embed.html") + """ Called from a modal window (e.g. when an item is submitted to an event/invoice). May optionally also include some javascript in a success message to cause a load of diff --git a/templates/base_embed.html b/templates/base_embed.html new file mode 100644 index 00000000..2dd1dcc7 --- /dev/null +++ b/templates/base_embed.html @@ -0,0 +1,51 @@ +{% load static from staticfiles %} +{% load raven %} + + + + + + + + + + + + + + + + + + + + + +{% include "analytics.html" %} + +
+
+ {% block content %} + {% endblock %} +
+
+ +{% block js %} +{% endblock %} + + \ No newline at end of file diff --git a/templates/registration/login_embed.html b/templates/registration/login_embed.html new file mode 100644 index 00000000..1cfdfa5b --- /dev/null +++ b/templates/registration/login_embed.html @@ -0,0 +1,11 @@ +{% extends 'base_embed.html' %} + +{% block title %}Login{% endblock %} + +{% block content %} +
+

Rig Information Gathering System

+
+{% include 'registration/loginform.html' %} + +{% endblock %} \ No newline at end of file