forked from CGM_Public/pretix_original
* MKBDIGI-184: Basic create added for API items endpoint * MKBDIGI-184: Starting endpoint for GET /api/v1/organizers/(organizer)/events/(event)/items/(id)/variations/ * MKBDIGI-184: endpoint for GET /api/v1/organizers/(organizer)/events/(event)/items/(id)/variations/ * MKBDIGI-184: Completed endpoint for variations * MKBDIGI-184: Added endpoint for addons * MKBDIGI-184: Added Item validation * MKBDIGI-184: Added check for order/cart positions on item variation destroy. * MKBDIGI-184: Fixed check for order/cart positions on item variation destroy. * MKBDIGI-184: Updated tests, validation for addons * MKBDIGI-184: Documentation feedback corrections * MKBDIGI-184: Added documentation for item add-ons * MKBDIGI-184: Code formatting fixes * MKBDIGI-184: Feedback fixes * MKBDIGI-184: Updated tests for delete item * MKBDIGI-184: Cleaned up tests * MKBDIGI-184: Added additional test URLs * MKBDIGI-184: Documentation fixes * MKBDIGI-184: Fixed read-only fields/Documentation * MKBDIGI-184: Documentation fixes * MKBDIGI-184: Added helper for dict merge for 3.4 compatibility * MKBDIGI-184: Validation updates * MKBDIGI-184: Fixed permissions test error. Changed to HTTP 404 for POST to addons endpoint * MKBDIGI-184: Implemented nested variations and add-ons for POST on the item endpoint.
50 lines
2.1 KiB
Python
50 lines
2.1 KiB
Python
import importlib
|
|
|
|
from django.apps import apps
|
|
from django.conf.urls import include, url
|
|
from rest_framework import routers
|
|
|
|
from .views import checkin, event, item, order, organizer, voucher, waitinglist
|
|
|
|
router = routers.DefaultRouter()
|
|
router.register(r'organizers', organizer.OrganizerViewSet)
|
|
|
|
orga_router = routers.DefaultRouter()
|
|
orga_router.register(r'events', event.EventViewSet)
|
|
|
|
event_router = routers.DefaultRouter()
|
|
event_router.register(r'subevents', event.SubEventViewSet)
|
|
event_router.register(r'items', item.ItemViewSet)
|
|
event_router.register(r'categories', item.ItemCategoryViewSet)
|
|
event_router.register(r'questions', item.QuestionViewSet)
|
|
event_router.register(r'quotas', item.QuotaViewSet)
|
|
event_router.register(r'vouchers', voucher.VoucherViewSet)
|
|
event_router.register(r'orders', order.OrderViewSet)
|
|
event_router.register(r'orderpositions', order.OrderPositionViewSet)
|
|
event_router.register(r'invoices', order.InvoiceViewSet)
|
|
event_router.register(r'taxrules', event.TaxRuleViewSet)
|
|
event_router.register(r'waitinglistentries', waitinglist.WaitingListViewSet)
|
|
event_router.register(r'checkinlists', checkin.CheckinListViewSet)
|
|
|
|
checkinlist_router = routers.DefaultRouter()
|
|
checkinlist_router.register(r'positions', checkin.CheckinListPositionViewSet)
|
|
|
|
item_router = routers.DefaultRouter()
|
|
item_router.register(r'variations', item.ItemVariationViewSet)
|
|
item_router.register(r'addons', item.ItemAddOnViewSet)
|
|
|
|
# Force import of all plugins to give them a chance to register URLs with the router
|
|
for app in apps.get_app_configs():
|
|
if hasattr(app, 'PretixPluginMeta'):
|
|
if importlib.util.find_spec(app.name + '.urls'):
|
|
importlib.import_module(app.name + '.urls')
|
|
|
|
urlpatterns = [
|
|
url(r'^', include(router.urls)),
|
|
url(r'^organizers/(?P<organizer>[^/]+)/', include(orga_router.urls)),
|
|
url(r'^organizers/(?P<organizer>[^/]+)/events/(?P<event>[^/]+)/', include(event_router.urls)),
|
|
url(r'^organizers/(?P<organizer>[^/]+)/events/(?P<event>[^/]+)/items/(?P<item>[^/]+)/', include(item_router.urls)),
|
|
url(r'^organizers/(?P<organizer>[^/]+)/events/(?P<event>[^/]+)/checkinlists/(?P<list>[^/]+)/',
|
|
include(checkinlist_router.urls)),
|
|
]
|