Files
interchan/board/urls.py
Alek Ratzloff 1a2ac653d7 Fix /banned/ page redirect error
The URL routing for /banned/ was going to the board controller because it
would match /banned/ as a board URL rather than its verbatim value. This
is fixed by moving the board route match to the bottom of the URL
routing list.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2022-07-17 15:47:46 -07:00

56 lines
2.2 KiB
Python

from django.conf import settings
from django.conf.urls.static import static
from django.urls import path
from django.utils.translation import gettext as _
from board.views import *
app_name = "board"
urlpatterns = [
# News views
path("news/", NewsListView.as_view(), name="board_news"),
# Reports
path("report/<slug:url>/<int:id>/", ReportView.as_view(), name="report_form"),
path(
"report/success/",
ActionSuccessView.as_view(
window_timeout=settings.REPORT_WINDOW_CLOSE_TIMEOUT,
message=_("Post reported."),
),
name="report_success",
),
# Bans
path("ban/<slug:url>/<int:id>/", BanCreateView.as_view(), name="ban_create"),
path(
"ban/success/",
BanSuccessView.as_view(window_timeout=settings.ACTION_SUCCESS_CLOSE_TIMEOUT),
name="ban_success",
),
path("banned/", BannedView.as_view(), name="banned"),
# Other moderation pages
path("modify/<int:pk>/", PostModifyView.as_view(), name="post_modify"),
path(
"modify/success/",
PostModifySuccessView.as_view(
window_timeout=settings.ACTION_SUCCESS_CLOSE_TIMEOUT
),
name="post_modify_success",
),
path("post/delete/<int:pk>/", PostDeleteView.as_view(), name="post_delete"),
path(
"post/delete/success/",
ActionSuccessView.as_view(window_timeout=settings.ACTION_SUCCESS_CLOSE_TIMEOUT),
name="post_delete_success",
),
# Board views
path("post/success/", PostSuccessView.as_view(), name="post_success"),
path("<slug:url>/page/<int:page>/", BoardView.as_view(), name="board_detail"),
path("<slug:url>/post/<int:id>/", PostView.as_view(), name="post_detail"),
path("<slug:url>/post/create/", PostCreateView.as_view(), name="post_create"),
path("<slug:url>/reply/<int:id>/", ReplyCreateView.as_view(), name="reply_create"),
# This has to go very last, so that things like banned/ page works
path("<slug:url>/", BoardView.as_view(), name="board_detail"),
]
# TODO - make this conditional so we can serve images up with whatever server we want
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)