]> git.0d.be Git - chloro.git/blobdiff - chloro/phyll/urls.py
do not include non-feed posts on homepage
[chloro.git] / chloro / phyll / urls.py
index 14188107cd618c53a4cc6d0566bddd6eca886b79..703507d1eb09a0830727fe7983d422b0aa5b5941 100644 (file)
 # 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 django.conf.urls import url
-from django.contrib.admin.views.decorators import staff_member_required
-from django.views.decorators.cache import never_cache
+from functools import partial
 
 import ckeditor.views as ckeditor_views
+from django.contrib.admin.views.decorators import staff_member_required
+from django.urls import path, re_path
+from django.views.decorators.cache import never_cache
 
 from . import views
 
+staff_required = partial(staff_member_required, login_url='login')
+
+
 urlpatterns = [
-    url(
+    re_path(
         r'^ckeditor/upload/',
-        staff_member_required(ckeditor_views.upload, login_url='login'),
+        staff_required(ckeditor_views.upload),
         name='ckeditor_upload',
     ),
-    url(
+    re_path(
         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(
+    re_path(r'^(?P<slug>[\w:-]+)/edit/$', staff_required(views.NoteEditView.as_view())),
+    re_path(
         r'^(?P<slug>[\w:-]+)/delete/$',
-        staff_member_required(views.NoteDeleteView.as_view(), login_url='login'),
+        staff_required(views.NoteDeleteView.as_view()),
+    ),
+    re_path(r'^(?P<slug>[\w:-]+)/api-save/$', staff_required(views.NoteApiSaveView.as_view())),
+    path('ajax/upload/', staff_required(views.ajax_upload)),
+    path('ajax/newpage/', staff_required(views.ajax_new_page)),
+    path('ajax/search/', views.ajax_search, name='ajax-search'),
+    path('new-note/', staff_required(views.NoteAddView.as_view())),
+    re_path(r'^feeds/(?P<sub>[\w:-]+)/atom$', views.AtomFeed()),
+    path('feed/atom', views.AtomFeed()),
+    re_path(r'^tag/(?P<tag>[\w:-]+)/$', views.ListOnTagView.as_view()),
+    path('archives/', views.ArchivesView.as_view()),
+    re_path(
+        r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[\w:-]+)/$', views.NoteView.as_view()
     ),
-    url(r'^new-note/$', staff_member_required(views.NoteAddView.as_view(), login_url='login')),
-    url(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[\w:-]+)/$', views.NoteView.as_view()),
-    url(r'^(?P<slug>[\w:-]+)/$', views.NoteView.as_view()),
-    url(r'^$', views.HomeView.as_view()),
+    re_path(r'^(?P<slug>[\w:-]+)/$', views.NoteView.as_view()),
+    path('', views.HomeView.as_view()),
 ]