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/$', GalleryView.as_view(), name="catalogue_book_gallery"),
+ 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'^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'),
)