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
=== modified file 'idptest/saml2idp/urls.py'
--- idptest/saml2idp/urls.py 2012-08-23 20:27:29 +0000
+++ idptest/saml2idp/urls.py 2014-07-25 15:48:37 +0000
@@ -1,7 +1,12 @@
1from django.conf.urls.defaults import *
2from views import descriptor, login_begin, login_init, login_process, logout1from views import descriptor, login_begin, login_init, login_process, logout
3from metadata import get_deeplink_resources2from metadata import get_deeplink_resources
43
4try:
5 # Django <1.6
6 from django.conf.urls.defaults import *
7except ImportError:
8 from django.conf.urls import *
9
5def deeplink_url_patterns(10def deeplink_url_patterns(
6 prefix='',11 prefix='',
7 url_base_pattern=r'^init/%s/$',12 url_base_pattern=r'^init/%s/$',
813
=== modified file 'idptest/saml2idp/views.py'
--- idptest/saml2idp/views.py 2012-08-20 18:41:37 +0000
+++ idptest/saml2idp/views.py 2014-07-25 15:48:37 +0000
@@ -10,7 +10,6 @@
10from django.core.urlresolvers import reverse10from django.core.urlresolvers import reverse
11from django.shortcuts import render_to_response, redirect11from django.shortcuts import render_to_response, redirect
12from django.template import RequestContext12from django.template import RequestContext
13from django.views.decorators.csrf import csrf_view_exempt, csrf_response_exempt
14# saml2idp app imports:13# saml2idp app imports:
15import saml2idp_metadata14import saml2idp_metadata
16import exceptions15import exceptions
@@ -18,6 +17,19 @@
18import registry17import registry
19import xml_signing18import xml_signing
2019
20try:
21 # Django <1.6
22 from django.views.decorators.csrf import (
23 csrf_view_exempt as csrf_exempt,
24 csrf_response_exempt
25 )
26except ImportError:
27 from django.views.decorators.csrf import csrf_exempt
28
29 def csrf_response_exempt(func):
30 return func
31
32
21def _generate_response(request, processor):33def _generate_response(request, processor):
22 """34 """
23 Generate a SAML response using processor and return it in the proper Django35 Generate a SAML response using processor and return it in the proper Django
@@ -35,7 +47,7 @@
35def xml_response(request, template, tv):47def xml_response(request, template, tv):
36 return render_to_response(template, tv, mimetype="application/xml")48 return render_to_response(template, tv, mimetype="application/xml")
3749
38@csrf_view_exempt50@csrf_exempt
39def login_begin(request, *args, **kwargs):51def login_begin(request, *args, **kwargs):
40 """52 """
41 Receives a SAML 2.0 AuthnRequest from a Service Provider and53 Receives a SAML 2.0 AuthnRequest from a Service Provider and
@@ -84,7 +96,7 @@
84 proc = registry.find_processor(request)96 proc = registry.find_processor(request)
85 return _generate_response(request, proc)97 return _generate_response(request, proc)
8698
87@csrf_view_exempt99@csrf_exempt
88def logout(request):100def logout(request):
89 """101 """
90 Allows a non-SAML 2.0 URL to log out the user and102 Allows a non-SAML 2.0 URL to log out the user and
@@ -97,7 +109,7 @@
97 context_instance=RequestContext(request))109 context_instance=RequestContext(request))
98110
99@login_required111@login_required
100@csrf_view_exempt112@csrf_exempt
101def slo_logout(request):113def slo_logout(request):
102 """114 """
103 Receives a SAML 2.0 LogoutRequest from a Service Provider,115 Receives a SAML 2.0 LogoutRequest from a Service Provider,
104116
=== modified file 'idptest/urls.py'
--- idptest/urls.py 2011-07-15 21:15:11 +0000
+++ idptest/urls.py 2014-07-25 15:48:37 +0000
@@ -1,9 +1,13 @@
1from django.conf.urls.defaults import *
2
3# Uncomment the next two lines to enable the admin:1# Uncomment the next two lines to enable the admin:
4from django.contrib import admin2from django.contrib import admin
5admin.autodiscover()3admin.autodiscover()
64
5try:
6 # Django <1.6
7 from django.conf.urls.defaults import *
8except ImportError:
9 from django.conf.urls import *
10
7urlpatterns = patterns('',11urlpatterns = patterns('',
8 # Example:12 # Example:
9 # (r'^idptest/', include('idptest.foo.urls')),13 # (r'^idptest/', include('idptest.foo.urls')),

Subscribers

People subscribed via source and target branches

to all changes: