bornhack-website/src/backoffice/urls.py

529 lines
19 KiB
Python

from django.urls import include, path
from .views import (
ApproveFeedbackView,
ApproveNamesView,
AutoScheduleApplyView,
AutoScheduleCrashCourseView,
AutoScheduleDebugEventConflictsView,
AutoScheduleDebugEventSlotUnavailabilityView,
AutoScheduleDiffView,
AutoScheduleManageView,
AutoScheduleValidateView,
BackofficeIndexView,
BackofficeProxyView,
BadgeHandoutView,
ChainDetailView,
ChainListView,
CredebtorDetailView,
EventDeleteView,
EventDetailView,
EventListView,
EventLocationCreateView,
EventLocationDeleteView,
EventLocationDetailView,
EventLocationListView,
EventLocationUpdateView,
EventProposalApproveRejectView,
EventProposalDetailView,
EventProposalListView,
EventScheduleView,
EventSessionCreateLocationSelectView,
EventSessionCreateTypeSelectView,
EventSessionCreateView,
EventSessionDeleteView,
EventSessionDetailView,
EventSessionListView,
EventSessionUpdateView,
EventSlotDetailView,
EventSlotListView,
EventSlotUnscheduleView,
EventTypeDetailView,
EventTypeListView,
EventUpdateView,
ExpenseDetailView,
ExpenseListView,
FacilityFeedbackView,
MerchandiseOrdersView,
MerchandiseToOrderView,
PendingProposalsView,
ProductHandoutView,
ReimbursementCreateUserSelectView,
ReimbursementCreateView,
ReimbursementDeleteView,
ReimbursementDetailView,
ReimbursementListView,
ReimbursementUpdateView,
RevenueDetailView,
RevenueListView,
ScanTicketsView,
ShopTicketOverview,
SpeakerDeleteView,
SpeakerDetailView,
SpeakerListView,
SpeakerProposalApproveRejectView,
SpeakerProposalDetailView,
SpeakerProposalListView,
SpeakerUpdateView,
TicketCheckinView,
VillageOrdersView,
VillageToOrderView,
)
app_name = "backoffice"
urlpatterns = [
path("", BackofficeIndexView.as_view(), name="index"),
# proxy view
path("proxy/", BackofficeProxyView.as_view(), name="proxy"),
path("proxy/<slug:proxy_slug>/", BackofficeProxyView.as_view(), name="proxy"),
# facility feedback
path(
"feedback/facilities/<slug:team_slug>/",
include([path("", FacilityFeedbackView.as_view(), name="facilityfeedback")]),
),
# infodesk
path(
"infodesk/",
include([path("", ScanTicketsView.as_view(), name="scan_tickets")]),
),
path("shop_tickets/", ShopTicketOverview.as_view(), name="shop_ticket_overview"),
path("product_handout/", ProductHandoutView.as_view(), name="product_handout"),
path("badge_handout/", BadgeHandoutView.as_view(), name="badge_handout"),
path("ticket_checkin/", TicketCheckinView.as_view(), name="ticket_checkin"),
# public names
path(
"public_credit_names/", ApproveNamesView.as_view(), name="public_credit_names"
),
# merchandise orders
path(
"merchandise_orders/",
MerchandiseOrdersView.as_view(),
name="merchandise_orders",
),
path(
"merchandise_to_order/",
MerchandiseToOrderView.as_view(),
name="merchandise_to_order",
),
# village orders
path("village_orders/", VillageOrdersView.as_view(), name="village_orders"),
path("village_to_order/", VillageToOrderView.as_view(), name="village_to_order"),
# manage SpeakerProposals and EventProposals
path(
"proposals/",
include(
[
path(
"pending/", PendingProposalsView.as_view(), name="pending_proposals"
),
path(
"speakers/",
include(
[
path(
"",
SpeakerProposalListView.as_view(),
name="speaker_proposal_list",
),
path(
"<uuid:pk>/",
include(
[
path(
"",
SpeakerProposalDetailView.as_view(),
name="speaker_proposal_detail",
),
path(
"approve_reject/",
SpeakerProposalApproveRejectView.as_view(),
name="speaker_proposal_approve_reject",
),
]
),
),
]
),
),
path(
"events/",
include(
[
path(
"",
EventProposalListView.as_view(),
name="event_proposal_list",
),
path(
"<uuid:pk>/",
include(
[
path(
"",
EventProposalDetailView.as_view(),
name="event_proposal_detail",
),
path(
"approve_reject/",
EventProposalApproveRejectView.as_view(),
name="event_proposal_approve_reject",
),
]
),
),
]
),
),
]
),
),
# manage EventSession objects
path(
"event_sessions/",
include(
[
path("", EventSessionListView.as_view(), name="event_session_list"),
path(
"create/",
include(
[
path(
"",
EventSessionCreateTypeSelectView.as_view(),
name="event_session_create_type_select",
),
path(
"<slug:event_type_slug>/",
include(
[
path(
"",
EventSessionCreateLocationSelectView.as_view(),
name="event_session_create_location_select",
),
path(
"<slug:event_location_slug>/",
EventSessionCreateView.as_view(),
name="event_session_create",
),
]
),
),
]
),
),
path(
"<int:pk>/",
include(
[
path(
"",
EventSessionDetailView.as_view(),
name="event_session_detail",
),
path(
"update/",
EventSessionUpdateView.as_view(),
name="event_session_update",
),
path(
"delete/",
EventSessionDeleteView.as_view(),
name="event_session_delete",
),
]
),
),
]
),
),
# manage EventSlot objects
path(
"event_slots/",
include(
[
path("", EventSlotListView.as_view(), name="event_slot_list"),
path(
"<int:pk>/",
include(
[
path(
"",
EventSlotDetailView.as_view(),
name="event_slot_detail",
),
path(
"unschedule/",
EventSlotUnscheduleView.as_view(),
name="event_slot_unschedule",
),
]
),
),
]
),
),
# manage Speaker objects
path(
"speakers/",
include(
[
path("", SpeakerListView.as_view(), name="speaker_list"),
path(
"<slug:slug>/",
include(
[
path(
"", SpeakerDetailView.as_view(), name="speaker_detail",
),
path(
"update/",
SpeakerUpdateView.as_view(),
name="speaker_update",
),
path(
"delete/",
SpeakerDeleteView.as_view(),
name="speaker_delete",
),
]
),
),
]
),
),
# manage EventType objects
path(
"event_types/",
include(
[
path("", EventTypeListView.as_view(), name="event_type_list"),
path(
"<slug:slug>/",
EventTypeDetailView.as_view(),
name="event_type_detail",
),
]
),
),
# manage EventLocation objects
path(
"event_locations/",
include(
[
path("", EventLocationListView.as_view(), name="event_location_list"),
path(
"create/",
EventLocationCreateView.as_view(),
name="event_location_create",
),
path(
"<slug:slug>/",
include(
[
path(
"",
EventLocationDetailView.as_view(),
name="event_location_detail",
),
path(
"update/",
EventLocationUpdateView.as_view(),
name="event_location_update",
),
path(
"delete/",
EventLocationDeleteView.as_view(),
name="event_location_delete",
),
]
),
),
]
),
),
# manage Event objects
path(
"events/",
include(
[
path("", EventListView.as_view(), name="event_list"),
path(
"<slug:slug>/",
include(
[
path("", EventDetailView.as_view(), name="event_detail",),
path(
"update/",
EventUpdateView.as_view(),
name="event_update",
),
path(
"schedule/",
EventScheduleView.as_view(),
name="event_schedule",
),
path(
"delete/",
EventDeleteView.as_view(),
name="event_delete",
),
]
),
),
]
),
),
# manage AutoScheduler
path(
"autoscheduler/",
include(
[
path("", AutoScheduleManageView.as_view(), name="autoschedule_manage",),
path(
"crashcourse/",
AutoScheduleCrashCourseView.as_view(),
name="autoschedule_crash_course",
),
path(
"validate/",
AutoScheduleValidateView.as_view(),
name="autoschedule_validate",
),
path(
"diff/", AutoScheduleDiffView.as_view(), name="autoschedule_diff",
),
path(
"apply/",
AutoScheduleApplyView.as_view(),
name="autoschedule_apply",
),
path(
"debug-event-slot-unavailability/",
AutoScheduleDebugEventSlotUnavailabilityView.as_view(),
name="autoschedule_debug_event_slot_unavailability",
),
path(
"debug-event-conflicts/",
AutoScheduleDebugEventConflictsView.as_view(),
name="autoschedule_debug_event_conflicts",
),
]
),
),
# approve EventFeedback objects
path(
"approve_feedback",
ApproveFeedbackView.as_view(),
name="approve_event_feedback",
),
# economy
path(
"economy/",
include(
[
# chains & credebtors
path(
"chains/",
include(
[
path("", ChainListView.as_view(), name="chain_list"),
path(
"<slug:chain_slug>/",
include(
[
path(
"",
ChainDetailView.as_view(),
name="chain_detail",
),
path(
"<slug:credebtor_slug>/",
CredebtorDetailView.as_view(),
name="credebtor_detail",
),
]
),
),
]
),
),
# expenses
path(
"expenses/",
include(
[
path("", ExpenseListView.as_view(), name="expense_list"),
path(
"<uuid:pk>/",
ExpenseDetailView.as_view(),
name="expense_detail",
),
]
),
),
# revenues
path(
"revenues/",
include(
[
path("", RevenueListView.as_view(), name="revenue_list"),
path(
"<uuid:pk>/",
RevenueDetailView.as_view(),
name="revenue_detail",
),
]
),
),
# reimbursements
path(
"reimbursements/",
include(
[
path(
"",
ReimbursementListView.as_view(),
name="reimbursement_list",
),
path(
"<uuid:pk>/",
include(
[
path(
"",
ReimbursementDetailView.as_view(),
name="reimbursement_detail",
),
path(
"update/",
ReimbursementUpdateView.as_view(),
name="reimbursement_update",
),
path(
"delete/",
ReimbursementDeleteView.as_view(),
name="reimbursement_delete",
),
]
),
),
path(
"create/",
ReimbursementCreateUserSelectView.as_view(),
name="reimbursement_create_userselect",
),
path(
"create/<int:user_id>/",
ReimbursementCreateView.as_view(),
name="reimbursement_create",
),
]
),
),
]
),
),
]