]> git.0d.be Git - chloro.git/commitdiff
make decorator always redirect to correct login page
authorFrédéric Péters <fpeters@0d.be>
Fri, 12 May 2023 20:42:46 +0000 (22:42 +0200)
committerFrédéric Péters <fpeters@0d.be>
Fri, 12 May 2023 20:44:06 +0000 (22:44 +0200)
chloro/phyll/urls.py

index 9c884829c1d4f94cc2cc77983e16c7ed85d04571..bc885b84891055aa2ce63a6f65633c3a0cbed9bb 100644 (file)
@@ -14,6 +14,8 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+from functools import partial
+
 import ckeditor.views as ckeditor_views
 from django.conf.urls import url
 from django.contrib.admin.views.decorators import staff_member_required
@@ -21,27 +23,30 @@ from django.views.decorators.cache import never_cache
 
 from . import views
 
+staff_required = partial(staff_member_required, login_url='login')
+
+
 urlpatterns = [
     url(
         r'^ckeditor/upload/',
-        staff_member_required(ckeditor_views.upload, login_url='login'),
+        staff_required(ckeditor_views.upload),
         name='ckeditor_upload',
     ),
     url(
         r'^ckeditor/browse/',
-        never_cache(staff_member_required(ckeditor_views.browse, login_url='login')),
+        never_cache(staff_required(ckeditor_views.browse)),
         name='ckeditor_browse',
     ),
-    url(r'^(?P<slug>[\w:-]+)/edit/$', staff_member_required(views.NoteEditView.as_view(), login_url='login')),
+    url(r'^(?P<slug>[\w:-]+)/edit/$', staff_required(views.NoteEditView.as_view())),
     url(
         r'^(?P<slug>[\w:-]+)/delete/$',
-        staff_member_required(views.NoteDeleteView.as_view(), login_url='login'),
+        staff_required(views.NoteDeleteView.as_view()),
     ),
-    url(r'^(?P<slug>[\w:-]+)/api-save/$', staff_member_required(views.NoteApiSaveView.as_view())),
-    url(r'^ajax/upload/$', staff_member_required(views.ajax_upload)),
-    url(r'^ajax/newpage/$', staff_member_required(views.ajax_new_page)),
+    url(r'^(?P<slug>[\w:-]+)/api-save/$', staff_required(views.NoteApiSaveView.as_view())),
+    url(r'^ajax/upload/$', staff_required(views.ajax_upload)),
+    url(r'^ajax/newpage/$', staff_required(views.ajax_new_page)),
     url(r'^ajax/search/$', views.ajax_search, name='ajax-search'),
-    url(r'^new-note/$', staff_member_required(views.NoteAddView.as_view(), login_url='login')),
+    url(r'^new-note/$', staff_required(views.NoteAddView.as_view())),
     url(r'^feeds/(?P<sub>[\w:-]+)/atom$', views.AtomFeed()),
     url(r'^feed/atom$', views.AtomFeed()),
     url(r'^tag/(?P<tag>[\w:-]+)/$', views.ListOnTagView.as_view()),