mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
* MKBDIGI-185: Added update/create to events * MKBDIGI-185: Added validation for 'slug, 'live' on event endpoint * MKBDIGI-185: Code formatting * MKBDIGI-185: Added 'plugins' to 'event' endpoint * MKBDIGI-185: Merge migrations * MKBDIGI-185: Cleaned up static methods * EBILL-5: Added delete endpoint for event * EBILL-5: Merge migrations * EBILL-5: Fixed imports * EBILL-5: Changed plugins to only list plugins enabled for the event * EBILL-5: Added clone event endpoint * EBILL-5: Removed permissions check API test for events * EBILL-5: Merged master, updated migrations * EBILL-5: Updated api permissions check for CRUD on events * EBILL-5: Removed 'unique_together' constraint on event model * EBILL-5: Removed call to changed static methods in test * EBILL-5: Changed Event 'has_paid_things' to a property for consistency * EBILL-5: Fixed created response code in documentation * EBILL-6: Documentation fixes * EBILL-6: Fixed typo * EBILL-6: Fixed permissions * EBILL-6: Added note on copying settings to documentation * EBILL-6: Created model method for deleting sub objects on event before delete * EBILL-6: Fixed typo * EBILL-6: Re-added meta_data as read-only * EBILL-6: Fixed permissions test * EBILL-6: Added plugins issues check before live. Moved issues property from form to Event model. * EBILL-6: Upped version number in documentation * Add write support for MetaDataField * EBILL-6: Expanded documentation for the clone endpoint, made behaviour of 'is_public' similar to 'plugins' for consistency * EBILL-6: Re-added EventCRUDPermission * EBILL-16: Updated documentation with permission model for the API * EBILL-16: Added 'has_subevents' validation to ensure it cannot be changed once event is created. * EBILL-16: Fixed event clone not differentiating between "not set" and "deliberately set to False" * EBILL-16: Fixed event live validation * EBILL-16: Added logging of live activated/deactivated * EBILL-16: Fixed create event bug when no 'meta_data' supplied * EBILL-16: Typo fixed * EBILL-16: Added log display for "event created" * EBILL-16: Enabling a plugin now calls 'installed' if applicable and log entries are added * EBILL-16: Updated tests for events * Do not allow enabling restricted plugins via the API * Remove unused code
56 lines
2.4 KiB
Python
56 lines
2.4 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'clone', event.CloneEventViewSet)
|
|
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)
|
|
|
|
question_router = routers.DefaultRouter()
|
|
question_router.register(r'options', item.QuestionOptionViewSet)
|
|
|
|
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>[^/]+)/questions/(?P<question>[^/]+)/',
|
|
include(question_router.urls)),
|
|
url(r'^organizers/(?P<organizer>[^/]+)/events/(?P<event>[^/]+)/checkinlists/(?P<list>[^/]+)/',
|
|
include(checkinlist_router.urls)),
|
|
]
|