Files
website-v2/config/urls.py
Lacey Williams Henschel 55b9967d95 🔧 Refactoring for clarity
2022-11-30 14:56:26 -08:00

145 lines
4.4 KiB
Python
Executable File

from django.conf.urls import include
from django.contrib import admin
from django.views.generic import TemplateView
from django.urls import path
from rest_framework import routers
from machina import urls as machina_urls
from users.views import UserViewSet, CurrentUserView, ProfileViewSet
from ak.views import (
HomepageView,
ForbiddenView,
InternalServerErrorView,
NotFoundView,
OKView,
)
from core.views import MarkdownTemplateView
from libraries.views import (
LibraryList,
LibraryByLetter,
LibraryByCategory,
LibraryDetail,
)
from support.views import SupportView, ContactView
from versions.api import VersionViewSet
from versions.views import VersionList, VersionDetail
router = routers.SimpleRouter()
router.register(r"users", UserViewSet, basename="users")
router.register(r"versions", VersionViewSet, basename="versions")
urlpatterns = [
path("", HomepageView.as_view(), name="home"),
path("admin/", admin.site.urls),
path("accounts/", include("allauth.urls")),
path("users/me/", CurrentUserView.as_view(), name="current-user"),
path("users/<int:pk>/", ProfileViewSet.as_view(), name="profile-user"),
path("api/v1/", include(router.urls)),
path("200", OKView.as_view(), name="ok"),
path("403", ForbiddenView.as_view(), name="forbidden"),
path("404", NotFoundView.as_view(), name="not_found"),
path("500", InternalServerErrorView.as_view(), name="internal_server_error"),
path("health/", include("health_check.urls")),
path("forum/", include(machina_urls)),
path(
"donate/",
TemplateView.as_view(template_name="donate/donate.html"),
name="donate",
),
path(
"libraries-by-letter/<str:letter>/",
LibraryByLetter.as_view(),
name="libraries-by-letter",
),
path(
"libraries-by-category/<slug:category>/",
LibraryByCategory.as_view(),
name="libraries-by-category",
),
path("libraries/", LibraryList.as_view(), name="libraries"),
path(
"libraries/<slug:slug>/",
LibraryDetail.as_view(),
name="library-detail",
),
path(
"about/",
TemplateView.as_view(template_name="boost/about.html"),
name="boost-about",
),
path(
"people/detail/",
TemplateView.as_view(template_name="boost/people_detail.html"),
name="boost-people-detail",
),
path(
"people/",
TemplateView.as_view(
template_name="boost/people.html", extra_context={"range": range(50)}
),
name="boost-people",
),
path(
"moderators/",
TemplateView.as_view(
template_name="boost/moderators.html", extra_context={"range": range(50)}
),
name="boost-moderators",
),
path(
"resources/",
TemplateView.as_view(template_name="resources/resources.html"),
name="resources",
),
path(
"review/past/",
TemplateView.as_view(template_name="review/past_reviews.html"),
name="review-past",
),
path(
"review/request/",
TemplateView.as_view(template_name="review/review_form.html"),
name="review-request",
),
path(
"review/upcoming/",
TemplateView.as_view(template_name="review/upcoming_reviews.html"),
name="review-upcoming",
),
path(
"review/detail/",
TemplateView.as_view(template_name="review/review_detail.html"),
name="review-request",
),
path(
"review/",
TemplateView.as_view(template_name="review/review_process.html"),
name="review-process",
),
path(
"news/detail/",
TemplateView.as_view(template_name="news/news_detail.html"),
name="news_detail",
),
path(
"news/",
TemplateView.as_view(template_name="news/news_list.html"),
name="news",
),
# support and contact views
path("support/", SupportView.as_view(), name="support"),
path(
"getting-started/",
TemplateView.as_view(template_name="support/getting_started.html"),
name="getting-started",
),
path("contact/", ContactView.as_view(), name="contact"),
path("versions/", VersionList.as_view(), name="version-list"),
path("version/<int:pk>/", VersionDetail.as_view(), name="version-detail"),
# TODO: determine real routes for this
path("content/<slug:title>/", MarkdownTemplateView.as_view(), name="markdown-page"),
]