Merge lp:~wesmason/django-saml2-idp/django1.6 into lp:~ubuntuone-pqm-team/django-saml2-idp/stable

Proposed by Wes Mason
Status: Merged
Approved by: Ricardo Kirkner
Approved revision: 73
Merged at revision: 68
Proposed branch: lp:~wesmason/django-saml2-idp/django1.6
Merge into: lp:~ubuntuone-pqm-team/django-saml2-idp/stable
Diff against target: 96 lines (+28/-7)
3 files modified
idptest/saml2idp/urls.py (+6/-1)
idptest/saml2idp/views.py (+16/-4)
idptest/urls.py (+6/-2)
To merge this branch: bzr merge lp:~wesmason/django-saml2-idp/django1.6
Reviewer Review Type Date Requested Status
Ricardo Kirkner (community) Approve
Review via email: mp+228131@code.launchpad.net

Commit message

Add django 1.6 compatibility

Description of the change

Hi,
This adds Django 1.6 support, required for Ye Olde SSO upgrade, which I've attempted to get merged upstream here: https://github.com/novapost/django-saml2-idp/pull/2

I attempted to maintain compatibility with <1.6 and kept to the same style as the project's code.

To post a comment you must log in.
Revision history for this message
Ricardo Kirkner (ricardokirkner) wrote :

LGTM, but please fix the pep8 issue before globally approving

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'idptest/saml2idp/urls.py'
2--- idptest/saml2idp/urls.py 2012-08-23 20:27:29 +0000
3+++ idptest/saml2idp/urls.py 2014-07-25 15:48:37 +0000
4@@ -1,7 +1,12 @@
5-from django.conf.urls.defaults import *
6 from views import descriptor, login_begin, login_init, login_process, logout
7 from metadata import get_deeplink_resources
8
9+try:
10+ # Django <1.6
11+ from django.conf.urls.defaults import *
12+except ImportError:
13+ from django.conf.urls import *
14+
15 def deeplink_url_patterns(
16 prefix='',
17 url_base_pattern=r'^init/%s/$',
18
19=== modified file 'idptest/saml2idp/views.py'
20--- idptest/saml2idp/views.py 2012-08-20 18:41:37 +0000
21+++ idptest/saml2idp/views.py 2014-07-25 15:48:37 +0000
22@@ -10,7 +10,6 @@
23 from django.core.urlresolvers import reverse
24 from django.shortcuts import render_to_response, redirect
25 from django.template import RequestContext
26-from django.views.decorators.csrf import csrf_view_exempt, csrf_response_exempt
27 # saml2idp app imports:
28 import saml2idp_metadata
29 import exceptions
30@@ -18,6 +17,19 @@
31 import registry
32 import xml_signing
33
34+try:
35+ # Django <1.6
36+ from django.views.decorators.csrf import (
37+ csrf_view_exempt as csrf_exempt,
38+ csrf_response_exempt
39+ )
40+except ImportError:
41+ from django.views.decorators.csrf import csrf_exempt
42+
43+ def csrf_response_exempt(func):
44+ return func
45+
46+
47 def _generate_response(request, processor):
48 """
49 Generate a SAML response using processor and return it in the proper Django
50@@ -35,7 +47,7 @@
51 def xml_response(request, template, tv):
52 return render_to_response(template, tv, mimetype="application/xml")
53
54-@csrf_view_exempt
55+@csrf_exempt
56 def login_begin(request, *args, **kwargs):
57 """
58 Receives a SAML 2.0 AuthnRequest from a Service Provider and
59@@ -84,7 +96,7 @@
60 proc = registry.find_processor(request)
61 return _generate_response(request, proc)
62
63-@csrf_view_exempt
64+@csrf_exempt
65 def logout(request):
66 """
67 Allows a non-SAML 2.0 URL to log out the user and
68@@ -97,7 +109,7 @@
69 context_instance=RequestContext(request))
70
71 @login_required
72-@csrf_view_exempt
73+@csrf_exempt
74 def slo_logout(request):
75 """
76 Receives a SAML 2.0 LogoutRequest from a Service Provider,
77
78=== modified file 'idptest/urls.py'
79--- idptest/urls.py 2011-07-15 21:15:11 +0000
80+++ idptest/urls.py 2014-07-25 15:48:37 +0000
81@@ -1,9 +1,13 @@
82-from django.conf.urls.defaults import *
83-
84 # Uncomment the next two lines to enable the admin:
85 from django.contrib import admin
86 admin.autodiscover()
87
88+try:
89+ # Django <1.6
90+ from django.conf.urls.defaults import *
91+except ImportError:
92+ from django.conf.urls import *
93+
94 urlpatterns = patterns('',
95 # Example:
96 # (r'^idptest/', include('idptest.foo.urls')),

Subscribers

People subscribed via source and target branches

to all changes: