Initial commit

This commit is contained in:
2024-08-27 20:33:44 +02:00
commit 1f1832267d
14794 changed files with 1599592 additions and 0 deletions

View File

@@ -0,0 +1,183 @@
import functools
from django.conf import settings
from django.http import Http404
from django.urls import include, path, re_path
from django.views.decorators.cache import never_cache
from django.views.defaults import page_not_found
from django.views.generic import TemplateView
from django.views.i18n import JavaScriptCatalog
from wagtail import hooks
from wagtail.admin.api import urls as api_urls
from wagtail.admin.auth import require_admin_access
from wagtail.admin.urls import collections as wagtailadmin_collections_urls
from wagtail.admin.urls import editing_sessions as wagtailadmin_editing_sessions_urls
from wagtail.admin.urls import pages as wagtailadmin_pages_urls
from wagtail.admin.urls import password_reset as wagtailadmin_password_reset_urls
from wagtail.admin.urls import reports as wagtailadmin_reports_urls
from wagtail.admin.urls import workflows as wagtailadmin_workflows_urls
from wagtail.admin.views import account, chooser, dismissibles, home, tags
from wagtail.admin.views.bulk_action import index as bulk_actions
from wagtail.admin.views.pages import listing
from wagtail.utils.urlpatterns import decorate_urlpatterns
urlpatterns = [
path("", home.HomeView.as_view(), name="wagtailadmin_home"),
path("test404/", TemplateView.as_view(template_name="wagtailadmin/404.html")),
path("api/", include(api_urls)),
path("failwhale/", home.error_test, name="wagtailadmin_error_test"),
# TODO: Move into wagtailadmin_pages namespace
path(
"pages/",
listing.ExplorableIndexView.as_view(),
name="wagtailadmin_explore_root",
),
path(
"pages/<int:parent_page_id>/",
listing.ExplorableIndexView.as_view(),
name="wagtailadmin_explore",
),
path(
"pages/<int:parent_page_id>/results/",
listing.ExplorableIndexView.as_view(results_only=True),
name="wagtailadmin_explore_results",
),
# bulk actions
path(
"bulk/<str:app_label>/<str:model_name>/<str:action>/",
bulk_actions,
name="wagtail_bulk_action",
),
path("pages/", include(wagtailadmin_pages_urls, namespace="wagtailadmin_pages")),
# TODO: Move into wagtailadmin_pages namespace
path("choose-page/", chooser.BrowseView.as_view(), name="wagtailadmin_choose_page"),
path(
"choose-page/<int:parent_page_id>/",
chooser.BrowseView.as_view(),
name="wagtailadmin_choose_page_child",
),
path(
"choose-page/search/",
chooser.SearchView.as_view(),
name="wagtailadmin_choose_page_search",
),
path(
"choose-page/chosen-multiple/",
chooser.ChosenMultipleView.as_view(),
name="wagtailadmin_choose_page_chosen_multiple",
),
path(
"choose-external-link/",
chooser.ExternalLinkView.as_view(),
name="wagtailadmin_choose_page_external_link",
),
path(
"choose-email-link/",
chooser.EmailLinkView.as_view(),
name="wagtailadmin_choose_page_email_link",
),
path(
"choose-phone-link/",
chooser.PhoneLinkView.as_view(),
name="wagtailadmin_choose_page_phone_link",
),
path(
"choose-anchor-link/",
chooser.AnchorLinkView.as_view(),
name="wagtailadmin_choose_page_anchor_link",
),
path("tag-autocomplete/", tags.autocomplete, name="wagtailadmin_tag_autocomplete"),
path(
"tag-autocomplete/<slug:app_name>/<slug:model_name>/",
tags.autocomplete,
name="wagtailadmin_tag_model_autocomplete",
),
path(
"collections/",
include(wagtailadmin_collections_urls, namespace="wagtailadmin_collections"),
),
path(
"workflows/",
include(wagtailadmin_workflows_urls, namespace="wagtailadmin_workflows"),
),
path(
"reports/", include(wagtailadmin_reports_urls, namespace="wagtailadmin_reports")
),
path("account/", account.AccountView.as_view(), name="wagtailadmin_account"),
path("logout/", account.LogoutView.as_view(), name="wagtailadmin_logout"),
path(
"dismissibles/",
dismissibles.DismissiblesView.as_view(),
name="wagtailadmin_dismissibles",
),
path(
"editing-sessions/",
include(
wagtailadmin_editing_sessions_urls,
namespace="wagtailadmin_editing_sessions",
),
),
]
# Import additional urlpatterns from any apps that define a register_admin_urls hook
for fn in hooks.get_hooks("register_admin_urls"):
urls = fn()
if urls:
urlpatterns += urls
# Add "wagtailadmin.access_admin" permission check
urlpatterns = decorate_urlpatterns(urlpatterns, require_admin_access)
# These url patterns do not require an authenticated admin user
urlpatterns += [
path("sprite/", home.sprite, name="wagtailadmin_sprite"),
path("login/", account.LoginView.as_view(), name="wagtailadmin_login"),
# Password reset
path("password_reset/", include(wagtailadmin_password_reset_urls)),
# JS translation catalog
path(
"jsi18n/",
JavaScriptCatalog.as_view(packages=["wagtail.admin"]),
name="wagtailadmin_javascript_catalog",
),
]
# Default view (will show 404 page)
# This must be the last URL in this file!
if settings.APPEND_SLASH:
# Only catch unrecognised patterns with a trailing slash
# and let CommonMiddleware handle adding a slash to every other pattern
urlpatterns += [
re_path(r"^.*/$", home.default),
]
else:
# Catch all unrecognised patterns
urlpatterns += [
re_path(r"^", home.default),
]
# Hook in our own 404 handler
def display_custom_404(view_func):
@functools.wraps(view_func)
def wrapper(request, *args, **kwargs):
try:
return view_func(request, *args, **kwargs)
except Http404:
return page_not_found(request, "", template_name="wagtailadmin/404.html")
return wrapper
urlpatterns = decorate_urlpatterns(urlpatterns, display_custom_404)
# Decorate all views with cache settings to prevent caching
urlpatterns = decorate_urlpatterns(urlpatterns, never_cache)

View File

@@ -0,0 +1,16 @@
from django.urls import path
from wagtail.admin.views import collection_privacy, collections
app_name = "wagtailadmin_collections"
urlpatterns = [
path("", collections.Index.as_view(), name="index"),
path("add/", collections.Create.as_view(), name="add"),
path("<int:pk>/", collections.Edit.as_view(), name="edit"),
path("<int:pk>/delete/", collections.Delete.as_view(), name="delete"),
path(
"<int:collection_id>/privacy/",
collection_privacy.set_privacy,
name="set_privacy",
),
]

View File

@@ -0,0 +1,17 @@
from django.urls import path
from wagtail.admin.views.editing_sessions import ping, release
app_name = "wagtailadmin_editing_sessions"
urlpatterns = [
path(
"ping/<str:app_label>/<str:model_name>/<str:object_id>/<int:session_id>/",
ping,
name="ping",
),
path(
"release/<int:session_id>/",
release,
name="release",
),
]

View File

@@ -0,0 +1,129 @@
from django.urls import path, re_path
from wagtail.admin.views import page_privacy
from wagtail.admin.views.pages import (
convert_alias,
copy,
create,
delete,
edit,
history,
lock,
move,
ordering,
preview,
revisions,
search,
unpublish,
usage,
workflow,
)
app_name = "wagtailadmin_pages"
urlpatterns = [
path(
"add/<slug:content_type_app_name>/<slug:content_type_model_name>/<int:parent_page_id>/",
create.CreateView.as_view(),
name="add",
),
path(
"add/<slug:content_type_app_name>/<slug:content_type_model_name>/<int:parent_page_id>/preview/",
preview.PreviewOnCreate.as_view(),
name="preview_on_add",
),
path(
"usage/<slug:content_type_app_name>/<slug:content_type_model_name>/",
usage.ContentTypeUseView.as_view(),
name="type_use",
),
path("<int:page_id>/usage/", usage.UsageView.as_view(), name="usage"),
path("<int:page_id>/edit/", edit.EditView.as_view(), name="edit"),
path(
"<int:page_id>/edit/preview/",
preview.PreviewOnEdit.as_view(),
name="preview_on_edit",
),
path("<int:page_id>/view_draft/", preview.view_draft, name="view_draft"),
path("<int:parent_page_id>/add_subpage/", create.add_subpage, name="add_subpage"),
path("<int:page_id>/delete/", delete.delete, name="delete"),
path("<int:page_id>/unpublish/", unpublish.Unpublish.as_view(), name="unpublish"),
path(
"<int:page_id>/convert_alias/",
convert_alias.convert_alias,
name="convert_alias",
),
path("search/", search.SearchView.as_view(), name="search"),
path("search/results/", search.SearchResultsView.as_view(), name="search_results"),
path("<int:page_to_move_id>/move/", move.move_choose_destination, name="move"),
path(
"<int:page_to_move_id>/move/<int:destination_id>/confirm/",
move.move_confirm,
name="move_confirm",
),
path(
"<int:page_to_move_id>/set_position/",
ordering.set_page_position,
name="set_page_position",
),
path("<int:page_id>/copy/", copy.copy, name="copy"),
path(
"workflow/action/<int:page_id>/<slug:action_name>/<int:task_state_id>/",
workflow.WorkflowAction.as_view(),
name="workflow_action",
),
path(
"workflow/collect_action_data/<int:page_id>/<slug:action_name>/<int:task_state_id>/",
workflow.CollectWorkflowActionData.as_view(),
name="collect_workflow_action_data",
),
path(
"workflow/confirm_cancellation/<int:page_id>/",
workflow.ConfirmWorkflowCancellation.as_view(),
name="confirm_workflow_cancellation",
),
path(
"workflow/preview/<int:page_id>/<int:task_id>/",
workflow.PreviewRevisionForTask.as_view(),
name="workflow_preview",
),
path("<int:page_id>/privacy/", page_privacy.set_privacy, name="set_privacy"),
path("<int:page_id>/lock/", lock.LockView.as_view(), name="lock"),
path("<int:page_id>/unlock/", lock.UnlockView.as_view(), name="unlock"),
path("<int:page_id>/revisions/", revisions.revisions_index, name="revisions_index"),
path(
"<int:page_id>/revisions/<int:revision_id>/view/",
revisions.RevisionsView.as_view(),
name="revisions_view",
),
path(
"<int:page_id>/revisions/<int:revision_id>/revert/",
revisions.revisions_revert,
name="revisions_revert",
),
path(
"<int:page_id>/revisions/<int:revision_id>/unschedule/",
revisions.RevisionsUnschedule.as_view(),
name="revisions_unschedule",
),
re_path(
r"^(\d+)/revisions/compare/(live|earliest|\d+)\.\.\.(live|latest|\d+)/$",
revisions.RevisionsCompare.as_view(),
name="revisions_compare",
),
path(
"<int:page_id>/workflow_history/",
history.WorkflowHistoryView.as_view(),
name="workflow_history",
),
path(
"<int:page_id>/workflow_history/detail/<int:workflow_state_id>/",
history.WorkflowHistoryDetailView.as_view(),
name="workflow_history_detail",
),
path("<int:page_id>/history/", history.PageHistoryView.as_view(), name="history"),
path(
"<int:page_id>/history/results/",
history.PageHistoryView.as_view(results_only=True),
name="history_results",
),
]

View File

@@ -0,0 +1,22 @@
from django.urls import path
from wagtail.admin.views import account
urlpatterns = [
path("", account.PasswordResetView.as_view(), name="wagtailadmin_password_reset"),
path(
"done/",
account.PasswordResetDoneView.as_view(),
name="wagtailadmin_password_reset_done",
),
path(
"confirm/<uidb64>/<token>/",
account.PasswordResetConfirmView.as_view(),
name="wagtailadmin_password_reset_confirm",
),
path(
"complete/",
account.PasswordResetCompleteView.as_view(),
name="wagtailadmin_password_reset_complete",
),
]

View File

@@ -0,0 +1,53 @@
from django.urls import path
from wagtail.admin.views.reports.aging_pages import AgingPagesView
from wagtail.admin.views.reports.audit_logging import LogEntriesView
from wagtail.admin.views.reports.locked_pages import LockedPagesView
from wagtail.admin.views.reports.page_types_usage import (
PageTypesUsageReportView,
)
from wagtail.admin.views.reports.workflows import WorkflowTasksView, WorkflowView
app_name = "wagtailadmin_reports"
urlpatterns = [
path("locked/", LockedPagesView.as_view(), name="locked_pages"),
path(
"locked/results/",
LockedPagesView.as_view(results_only=True),
name="locked_pages_results",
),
path("workflow/", WorkflowView.as_view(), name="workflow"),
path(
"workflow/results/",
WorkflowView.as_view(results_only=True),
name="workflow_results",
),
path("workflow_tasks/", WorkflowTasksView.as_view(), name="workflow_tasks"),
path(
"workflow_tasks/results/",
WorkflowTasksView.as_view(results_only=True),
name="workflow_tasks_results",
),
path("site-history/", LogEntriesView.as_view(), name="site_history"),
path(
"site-history/results/",
LogEntriesView.as_view(results_only=True),
name="site_history_results",
),
path("aging-pages/", AgingPagesView.as_view(), name="aging_pages"),
path(
"aging-pages/results/",
AgingPagesView.as_view(results_only=True),
name="aging_pages_results",
),
path(
"page-types-usage/",
PageTypesUsageReportView.as_view(),
name="page_types_usage",
),
path(
"page-types-usage/results/",
PageTypesUsageReportView.as_view(results_only=True),
name="page_types_usage_results",
),
]

View File

@@ -0,0 +1,53 @@
from django.urls import path
from wagtail.admin.views import workflows
app_name = "wagtailadmin_workflows"
urlpatterns = [
path("list/", workflows.Index.as_view(), name="index"),
path(
"list/results/",
workflows.Index.as_view(results_only=True),
name="index_results",
),
path("add/", workflows.Create.as_view(), name="add"),
path("enable/<int:pk>/", workflows.enable_workflow, name="enable"),
path("disable/<int:pk>/", workflows.Disable.as_view(), name="disable"),
path("edit/<int:pk>/", workflows.Edit.as_view(), name="edit"),
path("usage/<int:pk>/", workflows.usage, name="usage"),
path("remove/<int:page_pk>/", workflows.remove_workflow, name="remove"),
path(
"remove/<int:page_pk>/<int:workflow_pk>/",
workflows.remove_workflow,
name="remove",
),
path(
"tasks/add/<str:app_label>/<str:model_name>/",
workflows.CreateTask.as_view(),
name="add_task",
),
path("tasks/select_type/", workflows.select_task_type, name="select_task_type"),
path("tasks/index/", workflows.TaskIndex.as_view(), name="task_index"),
path(
"tasks/index/results/",
workflows.TaskIndex.as_view(results_only=True),
name="task_index_results",
),
path("tasks/edit/<int:pk>/", workflows.EditTask.as_view(), name="edit_task"),
path(
"tasks/disable/<int:pk>/", workflows.DisableTask.as_view(), name="disable_task"
),
path("tasks/enable/<int:pk>/", workflows.enable_task, name="enable_task"),
path("task_chooser/", workflows.TaskChooserView.as_view(), name="task_chooser"),
path(
"task_chooser/results/",
workflows.TaskChooserResultsView.as_view(),
name="task_chooser_results",
),
path(
"task_chooser/create/",
workflows.TaskChooserCreateView.as_view(),
name="task_chooser_create",
),
path("task_chooser/<int:task_id>/", workflows.task_chosen, name="task_chosen"),
]