class GlobalHistoryPlugin(BasePlugin): slug = settings.SLUG urlpatterns = {'root': [ url(r'^$', views.GlobalHistory.as_view(), name='globalhistory'), url('^(?P<only_last>[01])/$', views.GlobalHistory.as_view(), name='globalhistory'), ]}
def get_root_urls(self): urlpatterns = [ url(r'^$', self.article_view, name='root', kwargs={'path': ''}), url(r'^create-root/$', self.root_view, name='root_create'), url(r'^missing-root/$', self.root_missing_view, name='root_missing'), url(r'^_search/$', self.search_view, name='search'), url(r'^_revision/diff/(?P<revision_id>[0-9]+)/$', self.article_diff_view, name='diff'), ] return urlpatterns
def get_accounts_urls(self): if settings.ACCOUNT_HANDLING: urlpatterns = [ url(r'^_accounts/sign-up/$', self.signup_view, name='signup'), url(r'^_accounts/logout/$', self.logout_view, name='logout'), url(r'^_accounts/login/$', self.login_view, name='login'), url(r'^_accounts/settings/$', self.profile_update_view, name='profile_update'), ] else: urlpatterns = [] return urlpatterns
def get_revision_urls(self): urlpatterns = [ # This one doesn't work because it don't know # where to redirect after... url(r'^change/(?P<revision_id>[0-9]+)/$', self.revision_change_view, name='change_revision'), url(r'^preview/$', self.article_preview_view, name='preview_revision'), url(r'^merge/(?P<revision_id>[0-9]+)/preview/$', self.revision_preview_merge_view, name='merge_revision_preview'), ] return [ url(r'^_revision/(?P<article_id>[0-9]+)/', include(urlpatterns)), ]
def get_root_urls(self): our_root_urls = [ url(r'^ex/(?P<exnum>\d+)/$', views.PTokenView.as_view(), name='ptoken_view'), # /ex/3495/ url('^(?P<lang>[a-z][a-z](-[a-z]+)?)/(?P<corpus>[^/]*[0-9][^/]*)/(?P<sent_id>[^/_][^/]*)/$', views.CorpusSentenceView.as_view(), name='corpus_sentence_view' ), # /en/corpus/streusle4.1/reviews-001325-0003 url(r'^_table/(?P<metadata_type>.*)/(?P<article_id>.*)/$', tables.ptoken_data_table, name="metadata_ptoken_data_table"), ] return our_root_urls + super().get_root_urls()
def get_revision_urls(self): urlpatterns = [ # This one doesn't work because it don't know # where to redirect after... url(r'^_revision/change/(?P<article_id>[0-9]+)/(?P<revision_id>[0-9]+)/$', self.revision_change_view_class.as_view(), name='change_revision'), url(r'^_revision/preview/(?P<article_id>[0-9]+)/$', self.article_preview_view_class.as_view(), name='preview_revision'), url(r'^_revision/merge/(?P<article_id>[0-9]+)/(?P<revision_id>[0-9]+)/preview/$', self.revision_merge_view_class.as_view(preview=True), name='merge_revision_preview'), ] return urlpatterns
def get_article_path_urls(self): urlpatterns = [ url('^some-other-prefix/(?P<path>.+/|)$', self.article_view_class.as_view(), name='get'), ] return urlpatterns
def get_deleted_list_urls(self): urlpatterns = [ url('^_admin/$', self.deleted_list_view_class.as_view(), name="deleted_list"), ] return urlpatterns
class AttachmentPlugin(BasePlugin): slug = settings.SLUG urlpatterns = { 'article': [url('', include('wiki.plugins.attachments.urls'))] } article_tab = (_('Attachments'), "fa fa-file") article_view = views.AttachmentView().dispatch # List of notifications to construct signal handlers for. This # is handled inside the notifications plugin. notifications = [{ 'model': models.AttachmentRevision, 'message': lambda obj: ( _("A file was changed: %s") if not obj.deleted else _("A file was deleted: %s") ) % truncate_title(obj.get_filename()), 'key': ARTICLE_EDIT, 'created': True, 'get_article': lambda obj: obj.attachment.article} ] markdown_extensions = [AttachmentExtension()]
def get_article_path_urls(self): urlpatterns = [ url('^my-wiki/(?P<path>.+/|)$', self.article_view_class.as_view(), name='get'), ] return urlpatterns
class MetadataPlugin(BasePlugin): ''' This initializes the entire plugin, both the edit 'sidebar' class and the metadata 'tab' ''' slug = settings.SLUG urlpatterns = {'article': [url('', include('wiki.plugins.metadata.urls'))]} sidebar = { 'headline': _('Metadata'), 'icon_class': 'fa-asterisk', 'template': 'metadatasidebar.html', 'form_class': forms.MetaSidebarForm, 'get_form_kwargs': (lambda a: {}) } article_tab = (_('Metadata'), "fa fa-asterisk") article_view = views.MetadataView().dispatch class RenderMedia: css = {'screen': 'wiki/css/metadata.css'} js = ['wiki/js/modurlify.js'] def __init__(self): # print "I WAS LOADED!" pass
def get_article_path_urls(self): urlpatterns = [ url('^some-other-prefix/(?P<path>.+/|)$', self.article_view, name='get'), ] return urlpatterns
def get_article_urls(self): urlpatterns = [ url('^my-wiki/(?P<article_id>[0-9]+)/$', self.article_view_class.as_view(), name='get'), ] return urlpatterns
def get_article_urls(self): urlpatterns = [ url('^some-prefix/(?P<article_id>[0-9]+)/$', self.article_view, name='get'), ] return urlpatterns
class LinkPlugin(BasePlugin): slug = 'links' urlpatterns = { 'article': [ url(r'^json/query-urlpath/$', views.QueryUrlPath.as_view(), name='links_query_urlpath'), ] } sidebar = { 'headline': _('Links'), 'icon_class': 'fa-bookmark', 'template': 'wiki/plugins/links/sidebar.html', 'form_class': None, 'get_form_kwargs': (lambda a: {}) } wikipath_config = [ ('base_url', reverse_lazy('wiki:get', kwargs={'path': ''})), ('default_level', settings.LOOKUP_LEVEL), ] markdown_extensions = [ urlize_makeExtension(), WikiPathExtension(wikipath_config) ]
def get_article_urls(self): urlpatterns = [ url('^my-wiki/(?P<article_id>[0-9]+)/$', self.article_view_class.as_view(), name='get' ), ] return urlpatterns
def get_revision_urls(self): urlpatterns = [ # This one doesn't work because it don't know # where to redirect after... url( r'^_revision/change/(?P<article_id>[0-9]+)/(?P<revision_id>[0-9]+)/$', self.revision_change_view_class.as_view(), name='change_revision'), url(r'^_revision/preview/(?P<article_id>[0-9]+)/$', self.article_preview_view_class.as_view(), name='preview_revision'), url( r'^_revision/merge/(?P<article_id>[0-9]+)/(?P<revision_id>[0-9]+)/preview/$', self.revision_merge_view_class.as_view(preview=True), name='merge_revision_preview'), ] return urlpatterns
def get_plugin_urls(): urlpatterns = [] for plugin in registry.get_plugins().values(): slug = getattr(plugin, 'slug', None) if slug: article_urlpatterns = plugin.urlpatterns.get('article', []) urlpatterns += [ url(r'^(?P<article_id>[0-9]+)/plugin/' + slug + '/', include(article_urlpatterns)), url(r'^(?P<path>.+/|)_plugin/' + slug + '/', include(article_urlpatterns)), ] root_urlpatterns = plugin.urlpatterns.get('root', []) urlpatterns += [ url(r'^_plugin/' + slug + '/', include(root_urlpatterns)), ] return urlpatterns
def get_plugin_urls(self): urlpatterns = [] for plugin in registry.get_plugins().values(): slug = getattr(plugin, 'slug', None) if slug: article_urlpatterns = plugin.urlpatterns.get('article', []) urlpatterns += [ url(r'^(?P<article_id>[0-9]+)/plugin/' + slug + '/', include(article_urlpatterns)), url(r'^(?P<path>.+/|)_plugin/' + slug + '/', include(article_urlpatterns)), ] root_urlpatterns = plugin.urlpatterns.get('root', []) urlpatterns += [ url(r'^_plugin/' + slug + '/', include(root_urlpatterns)), ] return urlpatterns
def get_root_urls(self): urlpatterns = [ url(r'^$', self.article_view_class.as_view(), name='root', kwargs={'path': ''}), url(r'^create-root/$', article.CreateRootView.as_view(), name='root_create'), url(r'^missing-root/$', article.MissingRootView.as_view(), name='root_missing'), url(r'^_search/$', get_class_from_str(self.search_view_class).as_view(), name='search'), url(r'^_revision/diff/(?P<revision_id>[0-9]+)/$', self.article_diff_view_class.as_view(), name='diff'), ] return urlpatterns
class NotifyPlugin(BasePlugin): slug = settings.SLUG urlpatterns = { 'root': [ url(r'^$', views.NotificationSettings.as_view(), name='notification_settings'), ] } article_view = views.NotificationSettings().dispatch settings_form = 'wiki.plugins.notifications.forms.SubscriptionForm'
from django.conf import settings from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django_nyt.urls import get_pattern as get_notify_pattern from wiki.compat import include, url from wiki.urls import get_pattern as get_wiki_pattern admin.autodiscover() urlpatterns = [ url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', admin.site.urls), ] if settings.DEBUG: urlpatterns += staticfiles_urlpatterns() urlpatterns += [ url(r'^media/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.MEDIA_ROOT, }), ] urlpatterns += [ url(r'^django_functest/', include('django_functest.urls')), url(r'^notify/', get_notify_pattern()), url(r'', get_wiki_pattern()) ]
def get_article_path_urls(self): urlpatterns = [ url('^some-other-prefix/(?P<path>.+/|)$', self.article_view, name='get'), ] return urlpatterns class WikiCustomConfig(WikiConfig): default_site = "tests.core.test_sites.WikiCustomSite" urlpatterns = [ url(r'^notify/', include('django_nyt.urls')), url(r'', include('wiki.urls')), ] @wiki_override_settings( INSTALLED_APPS=[ 'tests.testdata', 'django.contrib.auth.apps.AuthConfig', 'django.contrib.contenttypes.apps.ContentTypesConfig', 'django.contrib.sessions.apps.SessionsConfig', 'django.contrib.admin.apps.AdminConfig', 'django.contrib.humanize.apps.HumanizeConfig', 'django.contrib.sites.apps.SitesConfig', 'django_nyt.apps.DjangoNytConfig', 'mptt',
from django.conf import settings from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.http.response import HttpResponse from django.views.static import serve as static_serve from wiki.compat import include, url admin.autodiscover() urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^robots.txt', lambda _: HttpResponse('User-agent: *\nDisallow: /')), # url(r'^silk/', include('silk.urls', namespace='silk')), ] urlpatterns += [ url(r'^notify/', include('django_nyt.urls')), url(r'', include('wiki.urls')), ] handler500 = 'testproject.views.server_error' handler404 = 'testproject.views.page_not_found' if settings.DEBUG: import debug_toolbar urlpatterns += staticfiles_urlpatterns() urlpatterns += [
from django.http.response import HttpResponse from django.views.static import serve as static_serve from wiki.compat import include, url from . import views from . import mysites as sites ## from .my_views.article import ArticleView from django.views.generic.base import View ## from .my_views import accounts admin.autodiscover() urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^robots.txt', lambda _: HttpResponse('User-agent: *\nDisallow: /')), url(r'^test1/', views.test1, name='wikitest1'), # url(r'^test2/', views.test2, name='wikitest2'), ] if settings.DEBUG: urlpatterns += staticfiles_urlpatterns() urlpatterns += [ url(r'^media/(?P<path>.*)$', static_serve, {'document_root': settings.MEDIA_ROOT}), ] urlpatterns += [ url(r'^notify/', include('django_nyt.urls')), url(r'^_test/', views.hello_fn),
from django.utils.module_loading import import_string from wiki import sites from wiki.compat import include, url from wiki.conf import settings from wiki.core.plugins import registry from wiki.views import accounts, article, deleted_list urlpatterns = [ url(r'^', sites.site.urls), ] class WikiURLPatterns: """ configurator for wiki urls. To customize, you can define your own subclass, either overriding the view providers, or overriding the functions that collect views. """ # basic views article_view_class = article.ArticleView article_create_view_class = article.Create article_delete_view_class = article.Delete article_deleted_view_class = article.Deleted article_dir_view_class = article.Dir article_edit_view_class = article.Edit article_move_view_class = article.Move article_preview_view_class = article.Preview
def get_article_urls(self): urlpatterns = [ # Paths decided by article_ids url(r'^$', self.article_view, name='get'), url(r'^delete/$', self.article_delete_view, name='delete'), url(r'^deleted/$', self.article_deleted_view, name='deleted'), url(r'^edit/$', self.article_edit_view, name='edit'), url(r'^move/$', self.article_move_view, name='move'), url(r'^preview/$', self.article_preview_view, name='preview'), url(r'^history/$', self.article_history_view, name='history'), url(r'^settings/$', self.article_settings_view, name='settings'), url(r'^source/$', self.article_source_view, name='source'), url(r'^revision/change/(?P<revision_id>[0-9]+)/$', self.revision_change_view, name='change_revision'), url(r'^revision/merge/(?P<revision_id>[0-9]+)/$', self.revision_merge_view, name='merge_revision'), url(r'^plugin/(?P<slug>\w+)/$', self.article_plugin_view, name='plugin'), ] return [ url(r'^(?P<article_id>[0-9]+)/', include(urlpatterns)), ]
from django.utils.module_loading import import_string from . import mysites as sites from wiki.compat import include, url from wiki.conf import settings from wiki.core.plugins import registry from wiki.views import deleted_list ## from .my_views import article, accounts urlpatterns = [ url(r'^', sites.site.urls), ] class WikiURLPatterns: """ configurator for wiki urls. To customize, you can define your own subclass, either overriding the view providers, or overriding the functions that collect views. """ # basic views article_view_class = article.ArticleView article_create_view_class = article.Create article_delete_view_class = article.Delete article_deleted_view_class = article.Deleted article_dir_view_class = article.Dir article_edit_view_class = article.Edit
def get_article_path_urls(self): urlpatterns = [ # Paths decided by URLs url(r'^(?P<path>.+/|)_create/$', self.article_create_view, name='create'), url(r'^(?P<path>.+/|)_delete/$', self.article_delete_view, name='delete'), url(r'^(?P<path>.+/|)_deleted/$', self.article_deleted_view, name='deleted'), url(r'^(?P<path>.+/|)_edit/$', self.article_edit_view, name='edit'), url(r'^(?P<path>.+/|)_move/$', self.article_move_view, name='move'), url(r'^(?P<path>.+/|)_preview/$', self.article_preview_view, name='preview'), url(r'^(?P<path>.+/|)_history/$', self.article_history_view, name='history'), url(r'^(?P<path>.+/|)_dir/$', self.article_dir_view, name='dir'), url(r'^(?P<path>.+/|)_search/$', self.search_view, name='search'), url(r'^(?P<path>.+/|)_settings/$', self.article_settings_view, name='settings'), url(r'^(?P<path>.+/|)_source/$', self.article_source_view, name='source'), url(r'^(?P<path>.+/|)_revision/change/(?P<revision_id>[0-9]+)/$', self.revision_change_view, name='change_revision'), url(r'^(?P<path>.+/|)_revision/merge/(?P<revision_id>[0-9]+)/$', self.revision_merge_view, name='merge_revision'), url(r'^(?P<path>.+/|)_plugin/(?P<slug>\w+)/$', self.article_plugin_view, name='plugin'), # This should always go last! url(r'^(?P<path>.+/|)$', self.article_view, name='get'), ] return urlpatterns
from django.conf import settings from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.http.response import HttpResponse from django.views.static import serve as static_serve from django_nyt.urls import get_pattern as get_notify_pattern from wiki.compat import include, url from wiki.urls import get_pattern as get_wiki_pattern admin.autodiscover() urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^robots.txt', lambda _: HttpResponse('User-agent: *\nDisallow: /')), ] if settings.DEBUG: urlpatterns += staticfiles_urlpatterns() urlpatterns += [ url(r'^media/(?P<path>.*)$', static_serve, {'document_root': settings.MEDIA_ROOT}), ] urlpatterns += [ url(r'^notify/', get_notify_pattern()), url(r'', get_wiki_pattern()) ] handler500 = 'testproject.views.server_error' handler404 = 'testproject.views.page_not_found'
def get_article_urls(self): urlpatterns = [ # Paths decided by article_ids url(r'^(?P<article_id>[0-9]+)/$', self.article_view_class.as_view(), name='get'), url(r'^(?P<article_id>[0-9]+)/delete/$', self.article_delete_view_class.as_view(), name='delete'), url(r'^(?P<article_id>[0-9]+)/deleted/$', self.article_deleted_view_class.as_view(), name='deleted'), url(r'^(?P<article_id>[0-9]+)/edit/$', self.article_edit_view_class.as_view(), name='edit'), url(r'^(?P<article_id>[0-9]+)/move/$', self.article_move_view_class.as_view(), name='move'), url(r'^(?P<article_id>[0-9]+)/preview/$', self.article_preview_view_class.as_view(), name='preview'), url(r'^(?P<article_id>[0-9]+)/history/$', self.article_history_view_class.as_view(), name='history'), url(r'^(?P<article_id>[0-9]+)/settings/$', self.article_settings_view_class.as_view(), name='settings'), url(r'^(?P<article_id>[0-9]+)/source/$', self.article_source_view_class.as_view(), name='source'), url( r'^(?P<article_id>[0-9]+)/revision/change/(?P<revision_id>[0-9]+)/$', self.revision_change_view_class.as_view(), name='change_revision'), url( r'^(?P<article_id>[0-9]+)/revision/merge/(?P<revision_id>[0-9]+)/$', self.revision_merge_view_class.as_view(), name='merge_revision'), url(r'^(?P<article_id>[0-9]+)/plugin/(?P<slug>\w+)/$', self.article_plugin_view_class.as_view(), name='plugin'), ] return urlpatterns
] return urlpatterns def get_article_path_urls(self): urlpatterns = [ url('^some-other-prefix/(?P<path>.+/|)$', self.article_view, name='get'), ] return urlpatterns class WikiCustomConfig(WikiConfig): default_site = "tests.core.test_sites.WikiCustomSite" urlpatterns = [ url(r'^notify/', include('django_nyt.urls')), url(r'', include('wiki.urls')), ] @wiki_override_settings( INSTALLED_APPS=[ 'tests.testdata', 'django.contrib.auth.apps.AuthConfig', 'django.contrib.contenttypes.apps.ContentTypesConfig', 'django.contrib.sessions.apps.SessionsConfig', 'django.contrib.admin.apps.AdminConfig', 'django.contrib.humanize.apps.HumanizeConfig', 'django.contrib.sites.apps.SitesConfig', 'django_nyt.apps.DjangoNytConfig', 'mptt',
from django.conf import settings from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns from wiki.compat import include, url urlpatterns = [ url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', admin.site.urls), ] if settings.DEBUG: urlpatterns += staticfiles_urlpatterns() urlpatterns += [ url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, }), ] urlpatterns += [ url(r'^django_functest/', include('django_functest.urls')), url(r'^notify/', include('django_nyt.urls')), url(r'', include('wiki.urls')), ]
from django.utils.module_loading import import_string from wiki import sites from wiki.compat import include, url from wiki.conf import settings from wiki.core.plugins import registry from wiki.views import accounts, article, deleted_list urlpatterns = [ url(r'^', sites.site.urls), url('^martor/', include('martor.urls')) ] class WikiURLPatterns: """ configurator for wiki urls. To customize, you can define your own subclass, either overriding the view providers, or overriding the functions that collect views. """ # basic views article_view_class = article.ArticleView article_create_view_class = article.Create article_delete_view_class = article.Delete article_deleted_view_class = article.Deleted article_dir_view_class = article.Dir article_edit_view_class = article.Edit article_move_view_class = article.Move article_preview_view_class = article.Preview
class ImagePlugin(BasePlugin): slug = settings.SLUG sidebar = { 'headline': _('Images'), 'icon_class': 'fa-picture-o', 'template': 'wiki/plugins/images/sidebar.html', 'form_class': forms.SidebarForm, 'get_form_kwargs': (lambda a: { 'instance': models.Image(article=a) }) } # List of notifications to construct signal handlers for. This # is handled inside the notifications plugin. notifications = [{ 'model': models.ImageRevision, 'message': lambda obj: _("An image was added: %s") % truncate_title( obj.get_filename()), 'key': ARTICLE_EDIT, 'created': False, # Ignore if there is a previous revision... the image isn't new 'ignore': lambda revision: bool(revision.previous_revision), 'get_article': lambda obj: obj.article }] class RenderMedia: js = [ 'wiki/colorbox/jquery.colorbox-min.js', 'wiki/js/images.js', ] css = {'screen': 'wiki/colorbox/example1/colorbox.css'} urlpatterns = { 'article': [ url('^$', views.ImageView.as_view(), name='images_index'), url('^delete/(?P<image_id>[0-9]+)/$', views.DeleteView.as_view(), name='images_delete'), url('^restore/(?P<image_id>[0-9]+)/$', views.DeleteView.as_view(), name='images_restore', kwargs={'restore': True}), url('^purge/(?P<image_id>[0-9]+)/$', views.PurgeView.as_view(), name='images_purge'), url('^(?P<image_id>[0-9]+)/revision/change/(?P<rev_id>[0-9]+)/$', views.RevisionChangeView.as_view(), name='images_set_revision'), url('^(?P<image_id>[0-9]+)/revision/add/$', views.RevisionAddView.as_view(), name='images_add_revision'), ] } markdown_extensions = [ImageExtension()]
def get_article_urls(self): urlpatterns = [ # Paths decided by article_ids url(r'^(?P<article_id>[0-9]+)/$', self.article_view_class.as_view(), name='get'), url(r'^(?P<article_id>[0-9]+)/delete/$', self.article_delete_view_class.as_view(), name='delete'), url(r'^(?P<article_id>[0-9]+)/deleted/$', self.article_deleted_view_class.as_view(), name='deleted'), url(r'^(?P<article_id>[0-9]+)/edit/$', self.article_edit_view_class.as_view(), name='edit'), url(r'^(?P<article_id>[0-9]+)/move/$', self.article_move_view_class.as_view(), name='move'), url(r'^(?P<article_id>[0-9]+)/preview/$', self.article_preview_view_class.as_view(), name='preview'), url(r'^(?P<article_id>[0-9]+)/history/$', self.article_history_view_class.as_view(), name='history'), url(r'^(?P<article_id>[0-9]+)/settings/$', self.article_settings_view_class.as_view(), name='settings'), url(r'^(?P<article_id>[0-9]+)/source/$', self.article_source_view_class.as_view(), name='source'), url(r'^(?P<article_id>[0-9]+)/revision/change/(?P<revision_id>[0-9]+)/$', self.revision_change_view_class.as_view(), name='change_revision'), url(r'^(?P<article_id>[0-9]+)/revision/merge/(?P<revision_id>[0-9]+)/$', self.revision_merge_view_class.as_view(), name='merge_revision'), url(r'^(?P<article_id>[0-9]+)/plugin/(?P<slug>\w+)/$', self.article_plugin_view_class.as_view(), name='plugin'), ] return urlpatterns
from django.conf import settings from django.contrib import admin from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.http.response import HttpResponse from django.views.static import serve as static_serve from wiki.compat import include, url admin.autodiscover() urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^robots.txt', lambda _: HttpResponse('User-agent: *\nDisallow: /')), ] if settings.DEBUG: urlpatterns += staticfiles_urlpatterns() urlpatterns += [ url(r'^media/(?P<path>.*)$', static_serve, {'document_root': settings.MEDIA_ROOT}), ] urlpatterns += [ url(r'^notify/', include('django_nyt.urls')), url(r'', include('wiki.urls')), ] handler500 = 'testproject.views.server_error' handler404 = 'testproject.views.page_not_found'
name='get' ), ] return urlpatterns def get_article_path_urls(self): urlpatterns = [ url('^some-other-prefix/(?P<path>.+/|)$', self.article_view_class.as_view(), name='get'), ] return urlpatterns urlpatterns = [ url(r'^notify/', include('django_nyt.urls')), url(r'', get_wiki_pattern(url_config_class=WikiCustomUrlPatterns)) ] @wiki_override_settings(WIKI_URL_CONFIG_CLASS='tests.core.test_models.WikiCustomUrlPatterns', ROOT_URLCONF='tests.core.test_urls') class ArticleModelReverseMethodTest(TestCase): def test_get_absolute_url_if_urlpath_set_is_not_exists__no_root_urlconf(self): a = Article.objects.create() url = a.get_absolute_url() expected = '/some-prefix/1/'
def get_article_path_urls(self): urlpatterns = [ # Paths decided by URLs url(r'^(?P<path>.+/|)_create/$', self.article_create_view_class.as_view(), name='create'), url(r'^(?P<path>.+/|)_delete/$', self.article_delete_view_class.as_view(), name='delete'), url(r'^(?P<path>.+/|)_deleted/$', self.article_deleted_view_class.as_view(), name='deleted'), url(r'^(?P<path>.+/|)_edit/$', self.article_edit_view_class.as_view(), name='edit'), url(r'^(?P<path>.+/|)_move/$', self.article_move_view_class.as_view(), name='move'), url(r'^(?P<path>.+/|)_preview/$', self.article_preview_view_class.as_view(), name='preview'), url(r'^(?P<path>.+/|)_history/$', self.article_history_view_class.as_view(), name='history'), url(r'^(?P<path>.+/|)_dir/$', self.article_dir_view_class.as_view(), name='dir'), url(r'^(?P<path>.+/|)_search/$', self.search_view_class.as_view(), name='search'), url(r'^(?P<path>.+/|)_settings/$', self.article_settings_view_class.as_view(), name='settings'), url(r'^(?P<path>.+/|)_source/$', self.article_source_view_class.as_view(), name='source'), url(r'^(?P<path>.+/|)_revision/change/(?P<revision_id>[0-9]+)/$', self.revision_change_view_class.as_view(), name='change_revision'), url(r'^(?P<path>.+/|)_revision/merge/(?P<revision_id>[0-9]+)/$', self.revision_merge_view_class.as_view(), name='merge_revision'), url(r'^(?P<path>.+/|)_plugin/(?P<slug>\w+)/$', self.article_plugin_view_class.as_view(), name='plugin'), # This should always go last! url(r'^(?P<path>.+/|)$', self.article_view_class.as_view(), name='get'), ] return urlpatterns
from wiki.compat import url from wiki.plugins.attachments import views urlpatterns = [ url(r'^$', views.AttachmentView.as_view(), name='attachments_index'), url(r'^search/$', views.AttachmentSearchView.as_view(), name='attachments_search'), url(r'^add/(?P<attachment_id>[0-9]+)/$', views.AttachmentAddView.as_view(), name='attachments_add'), url(r'^replace/(?P<attachment_id>[0-9]+)/$', views.AttachmentReplaceView.as_view(), name='attachments_replace'), url(r'^history/(?P<attachment_id>[0-9]+)/$', views.AttachmentHistoryView.as_view(), name='attachments_history'), url(r'^download/(?P<attachment_id>[0-9]+)/$', views.AttachmentDownloadView.as_view(), name='attachments_download'), url(r'^delete/(?P<attachment_id>[0-9]+)/$', views.AttachmentDeleteView.as_view(), name='attachments_delete'), url(r'^download/(?P<attachment_id>[0-9]+)/revision/(?P<revision_id>[0-9]+)/$', views.AttachmentDownloadView.as_view(), name='attachments_download'), url(r'^change/(?P<attachment_id>[0-9]+)/revision/(?P<revision_id>[0-9]+)/$', views.AttachmentChangeRevisionView.as_view(), name='attachments_revision_change'),
from wiki.compat import url from wiki.plugins.attachments import views urlpatterns = [ url(r'^$', views.AttachmentView.as_view(), name='attachments_index'), url(r'^search/$', views.AttachmentSearchView.as_view(), name='attachments_search'), url(r'^add/(?P<attachment_id>[0-9]+)/$', views.AttachmentAddView.as_view(), name='attachments_add'), url(r'^replace/(?P<attachment_id>[0-9]+)/$', views.AttachmentReplaceView.as_view(), name='attachments_replace'), url(r'^history/(?P<attachment_id>[0-9]+)/$', views.AttachmentHistoryView.as_view(), name='attachments_history'), url(r'^download/(?P<attachment_id>[0-9]+)/$', views.AttachmentDownloadView.as_view(), name='attachments_download'), url(r'^delete/(?P<attachment_id>[0-9]+)/$', views.AttachmentDeleteView.as_view(), name='attachments_delete'), url(r'^download/(?P<attachment_id>[0-9]+)/revision/(?P<revision_id>[0-9]+)/$', views.AttachmentDownloadView.as_view(), name='attachments_download'), url(r'^change/(?P<attachment_id>[0-9]+)/revision/(?P<revision_id>[0-9]+)/$', views.AttachmentChangeRevisionView.as_view(), name='attachments_revision_change'), ]