From b2b3db51ea52156023fa5b4fc5b0f07ecc75ee71 Mon Sep 17 00:00:00 2001
From: Art Lukyanchyk <artiom.lukyanchyk@hs-hannover.de>
Date: Fri, 1 Jul 2022 14:39:36 +0200
Subject: [PATCH] Add django 4.x support

---
 ssoauth/urls.py | 25 ++++++++++++++++---------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/ssoauth/urls.py b/ssoauth/urls.py
index a395560..55d0a64 100644
--- a/ssoauth/urls.py
+++ b/ssoauth/urls.py
@@ -1,19 +1,26 @@
-from django.conf.urls import url
 from django import conf
 from . import views
 
+try:
+    from django.urls import re_path
+except ImportError:
+    # minimal support for ancient django versions
+    # TODO: delete the except clause when we don't have django 1.x anywhere
+    from django.conf.urls import url as re_path
+
+
 urlpatterns = (
-    url(r"^(?:.*/)?login/?$", views.LogInView.as_view(), name="sso-login"),  # aggressive login pattern helps against apps that provide own login pages and forms
-    url(r"^logout/?$", views.LogOutView.as_view(), name="sso-logout"),
-    url(r"^logout/message/?$", views.LoggedOutLocallyView.as_view(), name="sso-logged-out-locally"),
-    url(r"^logout/idp/?$", views.IdpLogoutRedirectView.as_view(), name="sso-logout-idp"),
-    url(r"^saml2/acs/?$", views.ACSAuthNView.as_view(), name="sso-saml2-acs"),
-    url(r"^saml2/sls/?$", views.SLSView.as_view(), name="sso-saml2-sls"),
-    url(r"^saml2/meta(?:data)?/?$", views.MetadataView.as_view(), name="sso-saml2-meta"),
+    re_path(r"^(?:.*/)?login/?$", views.LogInView.as_view(), name="sso-login"),  # aggressive login pattern helps against apps that provide own login pages and forms
+    re_path(r"^logout/?$", views.LogOutView.as_view(), name="sso-logout"),
+    re_path(r"^logout/message/?$", views.LoggedOutLocallyView.as_view(), name="sso-logged-out-locally"),
+    re_path(r"^logout/idp/?$", views.IdpLogoutRedirectView.as_view(), name="sso-logout-idp"),
+    re_path(r"^saml2/acs/?$", views.ACSAuthNView.as_view(), name="sso-saml2-acs"),
+    re_path(r"^saml2/sls/?$", views.SLSView.as_view(), name="sso-saml2-sls"),
+    re_path(r"^saml2/meta(?:data)?/?$", views.MetadataView.as_view(), name="sso-saml2-meta"),
 )
 
 if conf.settings.DEBUG:
     # add the dev view
     urlpatterns += (
-        url(r"^sso-dev/?$", views.DevView.as_view(), name="sso-dev"),
+        re_path(r"^sso-dev/?$", views.DevView.as_view(), name="sso-dev"),
     )
-- 
GitLab