bornhack-website/src/teams/urls.py

192 lines
7.5 KiB
Python

from django.urls import include, path
from teams.views.base import (
FixIrcAclView,
TeamGeneralView,
TeamListView,
TeamManageView,
)
from teams.views.guide import TeamGuidePrintView, TeamGuideView
from teams.views.info import (
InfoCategoriesListView,
InfoItemCreateView,
InfoItemDeleteView,
InfoItemUpdateView,
)
from teams.views.members import (
TeamJoinView,
TeamLeaveView,
TeamMemberApproveView,
TeamMemberRemoveView,
TeamMembersView,
)
from teams.views.shifts import (
MemberDropsShift,
MemberTakesShift,
ShiftCreateMultipleView,
ShiftCreateView,
ShiftDeleteView,
ShiftListView,
ShiftUpdateView,
UserShifts,
)
from teams.views.tasks import (
TaskCreateView,
TaskDetailView,
TaskUpdateView,
TeamTasksView,
)
app_name = "teams"
urlpatterns = [
path("", TeamListView.as_view(), name="list"),
path("shifts", UserShifts.as_view(), name="user_shifts"),
path(
"<slug:team_slug>/",
include(
[
path("", TeamGeneralView.as_view(), name="general"),
path("join/", TeamJoinView.as_view(), name="join"),
path("leave/", TeamLeaveView.as_view(), name="leave"),
path("manage/", TeamManageView.as_view(), name="manage"),
path("guide/", TeamGuideView.as_view(), name="guide"),
path("guide/print/", TeamGuidePrintView.as_view(), name="guide_print"),
path("fix_irc_acl/", FixIrcAclView.as_view(), name="fix_irc_acl"),
path(
"members/",
include(
[
path("", TeamMembersView.as_view(), name="members"),
path(
"<int:pk>/remove/",
TeamMemberRemoveView.as_view(),
name="member_remove",
),
path(
"<int:pk>/approve/",
TeamMemberApproveView.as_view(),
name="member_approve",
),
]
),
),
path(
"tasks/",
include(
[
path("", TeamTasksView.as_view(), name="tasks"),
path(
"create/", TaskCreateView.as_view(), name="task_create"
),
path(
"<slug:slug>/",
include(
[
path(
"",
TaskDetailView.as_view(),
name="task_detail",
),
path(
"update/",
TaskUpdateView.as_view(),
name="task_update",
),
]
),
),
]
),
),
path(
"info/",
include(
[
path(
"",
InfoCategoriesListView.as_view(),
name="info_categories",
),
path(
"<slug:category_anchor>/",
include(
[
path(
"create/",
InfoItemCreateView.as_view(),
name="info_item_create",
),
path(
"<slug:item_anchor>/",
include(
[
path(
"update/",
InfoItemUpdateView.as_view(),
name="info_item_update",
),
path(
"delete/",
InfoItemDeleteView.as_view(),
name="info_item_delete",
),
]
),
),
]
),
),
]
),
),
path(
"shifts/",
include(
[
path("", ShiftListView.as_view(), name="shifts"),
path(
"create/",
ShiftCreateView.as_view(),
name="shift_create",
),
path(
"create_multiple/",
ShiftCreateMultipleView.as_view(),
name="shift_create_multiple",
),
path(
"<int:pk>/",
include(
[
path(
"",
ShiftUpdateView.as_view(),
name="shift_update",
),
path(
"delete",
ShiftDeleteView.as_view(),
name="shift_delete",
),
path(
"take",
MemberTakesShift.as_view(),
name="shift_member_take",
),
path(
"drop",
MemberDropsShift.as_view(),
name="shift_member_drop",
),
]
),
),
]
),
),
]
),
),
]