Commit 2eeedf8b by cahrens

URL pattern upgrades

parent da730eb9
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf.urls import patterns, url from django.conf.urls import url
from django_notify import views
urlpatterns = patterns('', urlpatterns = [
url('^json/get/$', 'django_notify.views.get_notifications', name='json_get', kwargs={}), url('^json/get/$', views.get_notifications, name='json_get', kwargs={}),
url('^json/mark-read/$', 'django_notify.views.mark_read', name='json_mark_read_base', kwargs={}), url('^json/mark-read/$', views.mark_read, name='json_mark_read_base', kwargs={}),
url('^json/mark-read/(\d+)/$', 'django_notify.views.mark_read', name='json_mark_read', kwargs={}), url('^json/mark-read/(\d+)/$', views.mark_read, name='json_mark_read', kwargs={}),
url('^goto/(?P<notification_id>\d+)/$', 'django_notify.views.goto', name='goto', kwargs={}), url('^goto/(?P<notification_id>\d+)/$', views.goto, name='goto', kwargs={}),
url('^goto/$', 'django_notify.views.goto', name='goto_base', kwargs={}), url('^goto/$', views.goto, name='goto_base', kwargs={}),
) ]
def get_pattern(app_name="notify", namespace="notify"): def get_pattern(app_name="notify", namespace="notify"):
"""Every url resolution takes place as "notify:view_name". """Every url resolution takes place as "notify:view_name".
......
django<1.9 django>=1.8,<2.0
South==1.0.1 # Markdown>=2.6,<2.7 # When I downgraded django to 1.8, I had to put this back to 2.2.0
django-sekizai>=0.10
django-mptt>=0.8.6,<0.9
# sorl-thumbnail>=12,<13
Markdown<2.3.0 Markdown<2.3.0
django-sekizai<0.7 # django-sekizai<0.7
django-mptt<0.8 # django-mptt<0.8
sorl-thumbnail<13 sorl-thumbnail<13
\ No newline at end of file
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from os import path as os_path from os import path as os_path
import os
PROJECT_PATH = os_path.abspath(os_path.split(__file__)[0]) PROJECT_PATH = os_path.abspath(os_path.split(__file__)[0])
PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = True DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = ( ADMINS = (
# ('Your Name', 'your_email@example.com'), # ('Your Name', 'your_email@example.com'),
...@@ -57,12 +59,6 @@ STATICFILES_FINDERS = ( ...@@ -57,12 +59,6 @@ STATICFILES_FINDERS = (
SECRET_KEY = 'b^fv_)t39h%9p40)fnkfblo##jkr!$0)lkp6bpy!fi*f$4*92!' SECRET_KEY = 'b^fv_)t39h%9p40)fnkfblo##jkr!$0)lkp6bpy!fi*f$4*92!'
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = ( MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
...@@ -79,22 +75,32 @@ ROOT_URLCONF = 'testproject.urls' ...@@ -79,22 +75,32 @@ ROOT_URLCONF = 'testproject.urls'
# Python dotted path to the WSGI application used by Django's runserver. # Python dotted path to the WSGI application used by Django's runserver.
WSGI_APPLICATION = 'testproject.wsgi.application' WSGI_APPLICATION = 'testproject.wsgi.application'
TEMPLATE_DIRS = ( # See https://docs.djangoproject.com/en/1.11/ref/templates/upgrading/
'templates', TEMPLATES = [
) {
'BACKEND': 'django.template.backends.django.DjangoTemplates',
TEMPLATE_CONTEXT_PROCESSORS =( 'DIRS': [
'django.contrib.auth.context_processors.auth', os.path.join(PROJECT_DIR, 'templates'),
'django.core.context_processors.debug', ],
'django.core.context_processors.i18n', 'APP_DIRS': True,
'django.core.context_processors.media', 'OPTIONS': {
'django.core.context_processors.static', 'context_processors': [
'django.core.context_processors.tz', "django.contrib.auth.context_processors.auth",
'django.contrib.messages.context_processors.messages', "django.template.context_processors.debug",
'sekizai.context_processors.sekizai', "django.template.context_processors.i18n",
) "django.core.context_processors.media",
"django.core.context_processors.static",
"django.template.context_processors.request", # TODO: is this needed?
"django.template.context_processors.tz",
"django.contrib.messages.context_processors.messages",
"sekizai.context_processors.sekizai",
],
'debug': DEBUG,
},
},
]
INSTALLED_APPS = ( INSTALLED_APPS = [
'django.contrib.humanize', 'django.contrib.humanize',
'django.contrib.auth', 'django.contrib.auth',
'django.contrib.contenttypes', 'django.contrib.contenttypes',
...@@ -105,44 +111,62 @@ INSTALLED_APPS = ( ...@@ -105,44 +111,62 @@ INSTALLED_APPS = (
'django.contrib.admin', 'django.contrib.admin',
'django.contrib.admindocs', 'django.contrib.admindocs',
'sekizai', 'sekizai',
'django_notify', 'django_notify', # Note: this is not installed in version 0.2.x. But there is "django_nyt".
'sorl.thumbnail', 'sorl.thumbnail',
'wiki', 'wiki',
'wiki.plugins.help', 'wiki.plugins.help', # Note: in version 0.2.x, wiki.plugins.macro is added.
'wiki.plugins.links', 'wiki.plugins.links',
'wiki.plugins.images', 'wiki.plugins.images',
'wiki.plugins.attachments', 'wiki.plugins.attachments',
'wiki.plugins.notifications', 'wiki.plugins.notifications',
'mptt', 'mptt',
) ]
# A sample logging configuration. The only tangible logging # A sample logging configuration. The only tangible logging
# performed by this configuration is to send an email to # performed by this configuration is to send an email to
# the site admins on every HTTP 500 error when DEBUG=False. # the site admins on every HTTP 500 error when DEBUG=False.
# See http://docs.djangoproject.com/en/dev/topics/logging for # See http://docs.djangoproject.com/en/dev/topics/logging for
# more details on how to customize your logging configuration. # more details on how to customize your logging configuration.
LOGGING = { # LOGGING = {
'version': 1, # 'version': 1,
'disable_existing_loggers': False, # 'disable_existing_loggers': False,
'filters': { # 'filters': {
'require_debug_false': { # 'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse' # '()': 'django.utils.log.RequireDebugFalse'
} # }
}, # },
'handlers': { # 'handlers': {
'mail_admins': { # 'mail_admins': {
'level': 'ERROR', # 'level': 'ERROR',
'filters': ['require_debug_false'], # 'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler' # 'class': 'django.utils.log.AdminEmailHandler'
} # }
}, # },
'loggers': { # 'loggers': {
'django.request': { # 'django.request': {
'handlers': ['mail_admins'], # 'handlers': ['mail_admins'],
'level': 'ERROR', # 'level': 'ERROR',
'propagate': True, # 'propagate': True,
}, # },
} # }
} # }
WIKI_ANONYMOUS_WRITE = True WIKI_ANONYMOUS_WRITE = True
# Password validation
# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
from django.conf.urls import patterns, include, url from django.conf.urls import include, url
from django.conf import settings from django.conf import settings
from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views import static
from django.contrib import admin from django.contrib import admin
admin.autodiscover() admin.autodiscover()
urlpatterns = patterns('', urlpatterns = [
url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/', include(admin.site.urls)), url(r'^admin/', include(admin.site.urls)),
url(r'^notify/', include('django_notify.urls', namespace='notify')), url(r'^notify/', include('django_notify.urls', namespace='notify')),
) ]
if settings.DEBUG: if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns() urlpatterns += staticfiles_urlpatterns()
urlpatterns += patterns('', urlpatterns += [
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', { url(r'^media/(?P<path>.*)$', static.serve, {'document_root': settings.MEDIA_ROOT,}),
'document_root': settings.MEDIA_ROOT, ]
}),
)
from wiki.urls import get_pattern as get_wiki_pattern from wiki.urls import get_pattern as get_wiki_pattern
from django_notify.urls import get_pattern as get_notify_pattern from django_notify.urls import get_pattern as get_notify_pattern
urlpatterns += patterns('',
(r'^notify/', get_notify_pattern()), urlpatterns += [
(r'', get_wiki_pattern()) url(r'^notify/', get_notify_pattern()),
) url(r'', get_wiki_pattern()),
\ No newline at end of file ]
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf.urls import patterns, url from django.conf.urls import url
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from wiki.core.plugins import registry from wiki.core.plugins import registry
...@@ -15,7 +15,7 @@ class AttachmentPlugin(BasePlugin): ...@@ -15,7 +15,7 @@ class AttachmentPlugin(BasePlugin):
#settings_form = 'wiki.plugins.notifications.forms.SubscriptionForm' #settings_form = 'wiki.plugins.notifications.forms.SubscriptionForm'
slug = settings.SLUG slug = settings.SLUG
urlpatterns = patterns('', urlpatterns = [
url(r'^$', views.AttachmentView.as_view(), name='attachments_index'), url(r'^$', views.AttachmentView.as_view(), name='attachments_index'),
url(r'^search/$', views.AttachmentSearchView.as_view(), name='attachments_search'), url(r'^search/$', views.AttachmentSearchView.as_view(), name='attachments_search'),
url(r'^add/(?P<attachment_id>\d+)/$', views.AttachmentAddView.as_view(), name='attachments_add'), url(r'^add/(?P<attachment_id>\d+)/$', views.AttachmentAddView.as_view(), name='attachments_add'),
...@@ -25,7 +25,7 @@ class AttachmentPlugin(BasePlugin): ...@@ -25,7 +25,7 @@ class AttachmentPlugin(BasePlugin):
url(r'^delete/(?P<attachment_id>\d+)/$', views.AttachmentDeleteView.as_view(), name='attachments_delete'), url(r'^delete/(?P<attachment_id>\d+)/$', views.AttachmentDeleteView.as_view(), name='attachments_delete'),
url(r'^download/(?P<attachment_id>\d+)/revision/(?P<revision_id>\d+)/$', views.AttachmentDownloadView.as_view(), name='attachments_download'), url(r'^download/(?P<attachment_id>\d+)/revision/(?P<revision_id>\d+)/$', views.AttachmentDownloadView.as_view(), name='attachments_download'),
url(r'^change/(?P<attachment_id>\d+)/revision/(?P<revision_id>\d+)/$', views.AttachmentChangeRevisionView.as_view(), name='attachments_revision_change'), url(r'^change/(?P<attachment_id>\d+)/revision/(?P<revision_id>\d+)/$', views.AttachmentChangeRevisionView.as_view(), name='attachments_revision_change'),
) ]
article_tab = (_(u'Attachments'), "icon-file") article_tab = (_(u'Attachments'), "icon-file")
article_view = views.AttachmentView().dispatch article_view = views.AttachmentView().dispatch
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf.urls import patterns
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from wiki.core.plugins import registry from wiki.core.plugins import registry
...@@ -8,7 +7,7 @@ from wiki.core.plugins.base import BasePlugin ...@@ -8,7 +7,7 @@ from wiki.core.plugins.base import BasePlugin
class HelpPlugin(BasePlugin): class HelpPlugin(BasePlugin):
slug = 'help' slug = 'help'
urlpatterns = patterns('',) urlpatterns = []
sidebar = {'headline': _('Help'), sidebar = {'headline': _('Help'),
'icon_class': 'icon-question-sign', 'icon_class': 'icon-question-sign',
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf.urls import patterns, url from django.conf.urls import url
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from wiki.core.plugins import registry from wiki.core.plugins import registry
...@@ -39,15 +39,15 @@ class ImagePlugin(BasePlugin): ...@@ -39,15 +39,15 @@ class ImagePlugin(BasePlugin):
css = { css = {
'screen': 'wiki/colorbox/example1/colorbox.css' 'screen': 'wiki/colorbox/example1/colorbox.css'
} }
urlpatterns = patterns('', urlpatterns = [
url('^$', views.ImageView.as_view(), name='images_index'), url('^$', views.ImageView.as_view(), name='images_index'),
url('^delete/(?P<image_id>\d+)/$', views.DeleteView.as_view(), name='images_delete'), url('^delete/(?P<image_id>\d+)/$', views.DeleteView.as_view(), name='images_delete'),
url('^restore/(?P<image_id>\d+)/$', views.DeleteView.as_view(), name='images_restore', kwargs={'restore': True}), url('^restore/(?P<image_id>\d+)/$', views.DeleteView.as_view(), name='images_restore', kwargs={'restore': True}),
url('^purge/(?P<image_id>\d+)/$', views.PurgeView.as_view(), name='images_purge'), url('^purge/(?P<image_id>\d+)/$', views.PurgeView.as_view(), name='images_purge'),
url('^(?P<image_id>\d+)/revision/change/(?P<rev_id>\d+)/$', views.RevisionChangeView.as_view(), name='images_restore'), url('^(?P<image_id>\d+)/revision/change/(?P<rev_id>\d+)/$', views.RevisionChangeView.as_view(), name='images_restore'),
url('^(?P<image_id>\d+)/revision/add/$', views.RevisionAddView.as_view(), name='images_add_revision'), url('^(?P<image_id>\d+)/revision/add/$', views.RevisionAddView.as_view(), name='images_add_revision'),
) ]
markdown_extensions = [ImageExtension()] markdown_extensions = [ImageExtension()]
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf.urls import patterns, url from django.conf.urls import url
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from wiki.conf import settings from wiki.conf import settings
...@@ -13,9 +13,9 @@ from django.core.urlresolvers import reverse_lazy ...@@ -13,9 +13,9 @@ from django.core.urlresolvers import reverse_lazy
class LinkPlugin(BasePlugin): class LinkPlugin(BasePlugin):
slug = 'links' slug = 'links'
urlpatterns = patterns('', urlpatterns = [
url(r'^json/query-urlpath/$', views.QueryUrlPath.as_view(), name='links_query_urlpath'), url(r'^json/query-urlpath/$', views.QueryUrlPath.as_view(), name='links_query_urlpath'),
) ]
sidebar = {'headline': _('Links'), sidebar = {'headline': _('Links'),
'icon_class': 'icon-bookmark', 'icon_class': 'icon-bookmark',
......
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.conf.urls import patterns, url, include from django.conf.urls import url, include
from wiki.views import article, accounts from wiki.views import article, accounts
from wiki.conf import settings from wiki.conf import settings
from wiki.core.plugins import registry from wiki.core.plugins import registry
urlpatterns = patterns('', urlpatterns = [
url('^$', article.ArticleView.as_view(), name='root', kwargs={'path': ''}), url('^$', article.ArticleView.as_view(), name='root', kwargs={'path': ''}),
url('^create-root/$', 'wiki.views.article.root_create', name='root_create'), url('^create-root/$', article.root_create, name='root_create'),
url('^_revision/diff/(?P<revision_id>\d+)/$', 'wiki.views.article.diff', name='diff'), url('^_revision/diff/(?P<revision_id>\d+)/$', article.diff, name='diff'),
) ]
if settings.ACCOUNT_HANDLING: if settings.ACCOUNT_HANDLING:
urlpatterns += patterns('', urlpatterns += [
url('^_accounts/sign-up/$', accounts.Signup.as_view(), name='signup'), url('^_accounts/sign-up/$', accounts.Signup.as_view(), name='signup'),
url('^_accounts/logout/$', accounts.Logout.as_view(), name='logout'), url('^_accounts/logout/$', accounts.Logout.as_view(), name='logout'),
url('^_accounts/login/$', accounts.Login.as_view(), name='login'), url('^_accounts/login/$', accounts.Login.as_view(), name='login'),
) ]
urlpatterns += patterns('', urlpatterns += [
# This one doesn't work because it don't know where to redirect after... # This one doesn't work because it don't know where to redirect after...
url('^_revision/change/(?P<article_id>\d+)/(?P<revision_id>\d+)/$', 'wiki.views.article.change_revision', name='change_revision'), url('^_revision/change/(?P<article_id>\d+)/(?P<revision_id>\d+)/$', article.change_revision,
url('^_revision/preview/(?P<article_id>\d+)/$', article.Preview.as_view(), name='preview_revision'), name='change_revision'),
url('^_revision/merge/(?P<article_id>\d+)/(?P<revision_id>\d+)/preview/$', 'wiki.views.article.merge', name='merge_revision_preview', kwargs={'preview': True}), url('^_revision/preview/(?P<article_id>\d+)/$', article.Preview.as_view(), name='preview_revision'),
url('^_revision/merge/(?P<article_id>\d+)/(?P<revision_id>\d+)/preview/$', article.merge,
name='merge_revision_preview', kwargs={'preview': True}),
# Paths decided by article_ids # Paths decided by article_ids
url('^(?P<article_id>\d+)/$', article.ArticleView.as_view(), name='get'), url('^(?P<article_id>\d+)/$', article.ArticleView.as_view(), name='get'),
...@@ -32,23 +34,22 @@ urlpatterns += patterns('', ...@@ -32,23 +34,22 @@ urlpatterns += patterns('',
url('^(?P<article_id>\d+)/preview/$', article.Preview.as_view(), name='preview'), url('^(?P<article_id>\d+)/preview/$', article.Preview.as_view(), name='preview'),
url('^(?P<article_id>\d+)/history/$', article.History.as_view(), name='history'), url('^(?P<article_id>\d+)/history/$', article.History.as_view(), name='history'),
url('^(?P<article_id>\d+)/settings/$', article.Settings.as_view(), name='settings'), url('^(?P<article_id>\d+)/settings/$', article.Settings.as_view(), name='settings'),
url('^(?P<article_id>\d+)/source/$', article.Source.as_view(), name='source'), url('^(?P<article_id>\d+)/source/$', article.Source.as_view(), name='source'),
url('^(?P<article_id>\d+)/revision/change/(?P<revision_id>\d+)/$', 'wiki.views.article.change_revision', name='change_revision'), url('^(?P<article_id>\d+)/revision/change/(?P<revision_id>\d+)/$', article.change_revision, name='change_revision'),
url('^(?P<article_id>\d+)/revision/merge/(?P<revision_id>\d+)/$', 'wiki.views.article.merge', name='merge_revision'), url('^(?P<article_id>\d+)/revision/merge/(?P<revision_id>\d+)/$', article.merge, name='merge_revision'),
url('^(?P<article_id>\d+)/plugin/(?P<slug>\w+)/$', article.Plugin.as_view(), name='plugin'), url('^(?P<article_id>\d+)/plugin/(?P<slug>\w+)/$', article.Plugin.as_view(), name='plugin'),
]
)
for plugin in registry.get_plugins().values(): for plugin in registry.get_plugins().values():
slug = getattr(plugin, 'slug', None) slug = getattr(plugin, 'slug', None)
plugin_urlpatterns = getattr(plugin, 'urlpatterns', None) plugin_urlpatterns = getattr(plugin, 'urlpatterns', None)
if slug and plugin_urlpatterns: if slug and plugin_urlpatterns:
urlpatterns += patterns('', urlpatterns += [
url('^(?P<article_id>\d+)/plugin/'+slug+'/', include(plugin_urlpatterns)), url('^(?P<article_id>\d+)/plugin/'+slug+'/', include(plugin_urlpatterns)),
url('^(?P<path>.+/|)_plugin/'+slug+'/', include(plugin_urlpatterns)), url('^(?P<path>.+/|)_plugin/'+slug+'/', include(plugin_urlpatterns)),
) ]
urlpatterns += patterns('', urlpatterns += [
# Paths decided by URLs # Paths decided by URLs
url('^(?P<path>.+/|)_create/$', article.Create.as_view(), name='create'), url('^(?P<path>.+/|)_create/$', article.Create.as_view(), name='create'),
url('^(?P<path>.+/|)_delete/$', article.Delete.as_view(), name='delete'), url('^(?P<path>.+/|)_delete/$', article.Delete.as_view(), name='delete'),
...@@ -58,12 +59,12 @@ urlpatterns += patterns('', ...@@ -58,12 +59,12 @@ urlpatterns += patterns('',
url('^(?P<path>.+/|)_history/$', article.History.as_view(), name='history'), url('^(?P<path>.+/|)_history/$', article.History.as_view(), name='history'),
url('^(?P<path>.+/|)_dir/$', article.Dir.as_view(), name='dir'), url('^(?P<path>.+/|)_dir/$', article.Dir.as_view(), name='dir'),
url('^(?P<path>.+/|)_settings/$', article.Settings.as_view(), name='settings'), url('^(?P<path>.+/|)_settings/$', article.Settings.as_view(), name='settings'),
url('^(?P<path>.+/|)_source/$', article.Source.as_view(), name='source'), url('^(?P<path>.+/|)_source/$', article.Source.as_view(), name='source'),
url('^(?P<path>.+/|)_revision/change/(?P<revision_id>\d+)/$', 'wiki.views.article.change_revision', name='change_revision'), url('^(?P<path>.+/|)_revision/change/(?P<revision_id>\d+)/$', article.change_revision, name='change_revision'),
url('^(?P<path>.+/|)_revision/merge/(?P<revision_id>\d+)/$', 'wiki.views.article.merge', name='merge_revision'), url('^(?P<path>.+/|)_revision/merge/(?P<revision_id>\d+)/$', article.merge, name='merge_revision'),
url('^(?P<path>.+/|)_plugin/(?P<slug>\w+)/$', article.Plugin.as_view(), name='plugin'), url('^(?P<path>.+/|)_plugin/(?P<slug>\w+)/$', article.Plugin.as_view(), name='plugin'),
url('^(?P<path>.+/|)$', article.ArticleView.as_view(), name='get'), url('^(?P<path>.+/|)$', article.ArticleView.as_view(), name='get'),
) ]
def get_pattern(app_name="wiki", namespace="wiki"): def get_pattern(app_name="wiki", namespace="wiki"):
"""Every url resolution takes place as "wiki:view_name". """Every url resolution takes place as "wiki:view_name".
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment