Add audience and thema data to catalogue. Also: nicer cover view.
[redakcja.git] / src / catalogue / urls.py
index e81c0a3..ac9cede 100644 (file)
@@ -1,64 +1,34 @@
-# -*- coding: utf-8
-from django.conf.urls import patterns, url
-from django.contrib.auth.decorators import permission_required
-from django.views.generic import RedirectView
-from catalogue.feeds import PublishTrackFeed
-from catalogue.views import GalleryView
-
-
-urlpatterns = patterns('catalogue.views',
-    url(r'^$', RedirectView.as_view(url='catalogue/')),
-
-    url(r'^images/$', 'image_list', name='catalogue_image_list'),
-    url(r'^image/(?P<slug>[^/]+)/$', 'image', name="catalogue_image"),
-    url(r'^image/(?P<slug>[^/]+)/publish$', 'publish_image',
-            name="catalogue_publish_image"),
-
-    url(r'^catalogue/$', 'document_list', name='catalogue_document_list'),
-    url(r'^user/$', 'my', name='catalogue_user'),
-    url(r'^user/(?P<username>[^/]+)/$', 'user', name='catalogue_user'),
-    url(r'^users/$', 'users', name='catalogue_users'),
-    url(r'^activity/$', 'activity', name='catalogue_activity'),
-    url(r'^activity/(?P<isodate>\d{4}-\d{2}-\d{2})/$', 
-        'activity', name='catalogue_activity'),
-
-    url(r'^upload/$',
-        'upload', name='catalogue_upload'),
-
-    url(r'^create/(?P<slug>[^/]*)/',
-        'create_missing', name='catalogue_create_missing'),
-    url(r'^create/',
-        'create_missing', name='catalogue_create_missing'),
-
-    url(r'^book/(?P<slug>[^/]+)/publish$', 'publish', name="catalogue_publish"),
-
-    url(r'^book/(?P<slug>[^/]+)/$', 'book', name="catalogue_book"),
-    url(r'^book/(?P<slug>[^/]+)/gallery/$',
-            permission_required('catalogue.change_book')(GalleryView.as_view()),
-            name="catalogue_book_gallery"),
-    url(r'^book/(?P<slug>[^/]+)/xml$', 'book_xml', name="catalogue_book_xml"),
-    url(r'^book/dc/(?P<slug>[^/]+)/xml$', 'book_xml_dc', name="catalogue_book_xml_dc"),
-    url(r'^book/(?P<slug>[^/]+)/txt$', 'book_txt', name="catalogue_book_txt"),
-    url(r'^book/(?P<slug>[^/]+)/html$', 'book_html', name="catalogue_book_html"),
-    url(r'^book/(?P<slug>[^/]+)/epub$', 'book_epub', name="catalogue_book_epub"),
-    url(r'^book/(?P<slug>[^/]+)/mobi$', 'book_mobi', name="catalogue_book_mobi"),
-    url(r'^book/(?P<slug>[^/]+)/pdf$', 'book_pdf', name="catalogue_book_pdf"),
-    url(r'^book/(?P<slug>[^/]+)/pdf-mobile$', 'book_pdf', kwargs={'mobile': True}, name="catalogue_book_pdf_mobile"),
-
-    url(r'^chunk_add/(?P<slug>[^/]+)/(?P<chunk>[^/]+)/$',
-        'chunk_add', name="catalogue_chunk_add"),
-    url(r'^chunk_edit/(?P<slug>[^/]+)/(?P<chunk>[^/]+)/$',
-        'chunk_edit', name="catalogue_chunk_edit"),
-    url(r'^book_append/(?P<slug>[^/]+)/$',
-        'book_append', name="catalogue_book_append"),
-    url(r'^chunk_mass_edit',
-        'chunk_mass_edit', name='catalogue_chunk_mass_edit'),
-    url(r'^image_mass_edit',
-        'image_mass_edit', name='catalogue_image_mass_edit'),
-
-    url(r'^track/(?P<slug>[^/]*)/$', PublishTrackFeed()),
-    url(r'^active/$', 'active_users_list', name='active_users_list'),
-
-    url(r'^mark-final/$', 'mark_final', name='mark_final'),
-    url(r'^mark-final-completed/$', 'mark_final_completed', name='mark_final_completed'),
-)
+# This file is part of FNP-Redakcja, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
+from django.urls import path
+from . import views
+
+
+urlpatterns = [
+    path("", views.CatalogueView.as_view(), name="catalogue"),
+    path("author/<slug:slug>/", views.AuthorView.as_view(), name="catalogue_author"),
+    path("book/<slug:slug>/", views.BookView.as_view(), name="catalogue_book"),
+    path("book/<slug:slug>.json", views.BookAPIView.as_view(), name="catalogue_book_api"),
+
+    path('terms/epoch/', views.EpochTerms.as_view()),
+    path('terms/kind/', views.KindTerms.as_view()),
+    path('terms/genre/', views.GenreTerms.as_view()),
+    path('terms/wluri/', views.WLURITerms.as_view()),
+    path('terms/book_title/', views.BookTitleTerms.as_view()),
+    path('terms/author/', views.AuthorTerms.as_view()),
+    path('terms/thema/', views.ThemaTerms.as_view()),
+
+    path('terms/editor/', views.EditorTerms.as_view()),
+
+    path('wikidata/<slug:model>/<qid>', views.WikidataView.as_view()),
+
+    path('publish/author/<int:pk>/', views.publish_author, name='catalogue_publish_author'),
+    path('publish/genre/<int:pk>/', views.publish_genre, name='catalogue_publish_genre'),
+    path('publish/kind/<int:pk>/', views.publish_kind, name='catalogue_publish_kind'),
+    path('publish/epoch/<int:pk>/', views.publish_epoch, name='catalogue_publish_epoch'),
+    path('publish/collection/<int:pk>/', views.publish_collection, name='catalogue_publish_collection'),
+
+    path('woblink/author/autocomplete', views.woblink_author_autocomplete,
+         name='catalogue_woblink_author_autocomplete'),
+]