# 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()),
]