14188107cd618c53a4cc6d0566bddd6eca886b79
[chloro.git] / chloro / phyll / urls.py
1 # chloro - personal space
2 # Copyright (C) 2019  Frederic Peters
3 #
4 # This program is free software: you can redistribute it and/or modify it
5 # under the terms of the GNU Affero General Public License as published
6 # by the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU Affero General Public License for more details.
13 #
14 # You should have received a copy of the GNU Affero General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 from django.conf.urls import url
18 from django.contrib.admin.views.decorators import staff_member_required
19 from django.views.decorators.cache import never_cache
20
21 import ckeditor.views as ckeditor_views
22
23 from . import views
24
25 urlpatterns = [
26     url(
27         r'^ckeditor/upload/',
28         staff_member_required(ckeditor_views.upload, login_url='login'),
29         name='ckeditor_upload',
30     ),
31     url(
32         r'^ckeditor/browse/',
33         never_cache(staff_member_required(ckeditor_views.browse, login_url='login')),
34         name='ckeditor_browse',
35     ),
36     url(r'^(?P<slug>[\w:-]+)/edit/$', staff_member_required(views.NoteEditView.as_view(), login_url='login')),
37     url(
38         r'^(?P<slug>[\w:-]+)/delete/$',
39         staff_member_required(views.NoteDeleteView.as_view(), login_url='login'),
40     ),
41     url(r'^new-note/$', staff_member_required(views.NoteAddView.as_view(), login_url='login')),
42     url(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[\w:-]+)/$', views.NoteView.as_view()),
43     url(r'^(?P<slug>[\w:-]+)/$', views.NoteView.as_view()),
44     url(r'^$', views.HomeView.as_view()),
45 ]