From 69b0ff9fae63a1c2e5a065e59020444ef4fcc971 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Thu, 6 Oct 2016 12:52:33 +0100 Subject: [PATCH] Made embed page, with clickjacking protection turned off --- RIGS/rigboard.py | 8 ++ RIGS/templates/RIGS/event_embed.html | 122 +++++++++++++++++++++++++++ RIGS/urls.py | 5 +- 3 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 RIGS/templates/RIGS/event_embed.html diff --git a/RIGS/rigboard.py b/RIGS/rigboard.py index b56ca7d3..23fd5e6a 100644 --- a/RIGS/rigboard.py +++ b/RIGS/rigboard.py @@ -12,6 +12,7 @@ from django.conf import settings from django.http import HttpResponse from django.db.models import Q from django.contrib import messages +from django.views.decorators.clickjacking import xframe_options_exempt from z3c.rml import rml2pdf from PyPDF2 import PdfFileMerger, PdfFileReader import simplejson @@ -66,6 +67,13 @@ class EventOembed(generic.View): json = simplejson.JSONEncoderForHTML().encode(data) return HttpResponse(json, content_type="application/json") +class EventEmbed(EventDetail): + template_name = 'RIGS/event_embed.html' + + @xframe_options_exempt + def get(self, request, *args, **kwargs): + return super(EventEmbed, self).get(request, *args, **kwargs) + class EventCreate(generic.CreateView): model = models.Event diff --git a/RIGS/templates/RIGS/event_embed.html b/RIGS/templates/RIGS/event_embed.html new file mode 100644 index 00000000..2c13dd39 --- /dev/null +++ b/RIGS/templates/RIGS/event_embed.html @@ -0,0 +1,122 @@ +{% load static from staticfiles %} +{% load raven %} + + + + + + + + + + + + + + + + + + +{% include "analytics.html" %} + +
+
+
+
+

+ + + + {% if object.mic %} + {{ object.mic.initials }} +
+ +
+ + {% elif object.is_rig %} + + {% endif %} +
+
+ + + {% if object.is_rig %}N{{ object.pk|stringformat:"05d" }}{% else %}{{ object.pk }}{% endif %} + | {{ object.name }} + {% if object.venue %} + at {{ object.venue }} + {% endif %} + + + +

+ + {% if object.is_rig %} +
+ {{ object.person.name }} + {% if object.organisation %} + for {{ object.organisation.name }} + {% endif %} + {% if object.dry_hire %}Dry Hire{% endif %} +
+ {% endif %} + +

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

+

+ {{ event.description|linebreaksbr }} +

+
+
+ {% if not object.cancelled %} +
+ {% if object.meet_at %} +
Crew meet
+
{{ object.meet_at|date:"H:i" }} {{ object.meet_at|date:"(Y-m-d)" }}
+ {% endif %} + {% if object.has_start_time %} +
Event starts
+
+ {{ object.start_time|date:"H:i" }} + {{ object.start_date|date:"(Y-m-d)" }}
+
+ {% endif %} + {% if object.has_end_time%}{% if object.start_date != object.end_date or object.start_time != object.end_time %} +
Event ends
+
+ {{ object.end_time|date:"H:i" }} + {{ object.end_date|date:"(Y-m-d)" }} +
+ {% endif %}{% endif %} +
+ {% endif %} +
+
+
+
+ + +{% block js %} +{% endblock %} + + \ No newline at end of file diff --git a/RIGS/urls.py b/RIGS/urls.py index 16da83da..b0eca4c4 100644 --- a/RIGS/urls.py +++ b/RIGS/urls.py @@ -82,7 +82,10 @@ urlpatterns = patterns('', url(r'^event/(?P\d+)/$', permission_required_with_403('RIGS.view_event', oembed_view="event_oembed")(rigboard.EventDetail.as_view()), name='event_detail'), - url(r'^event/(?P\d+)/oembed/$', + url(r'^event/(?P\d+)/embed/$', + permission_required_with_403('RIGS.view_event')(rigboard.EventEmbed.as_view()), + name='event_oembed'), + url(r'^event/(?P\d+)/oembed_json/$', rigboard.EventOembed.as_view(), name='event_oembed'), url(r'^event/(?P\d+)/print/$',