urls.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from django.urls import path, re_path
  2. from django.contrib.auth.views import LoginView
  3. from wagtail.contrib.sitemaps.views import sitemap
  4. from wagtail.core.urls import serve_pattern, WAGTAIL_FRONTEND_LOGIN_TEMPLATE
  5. from wagtail.core import views as wagtail_views
  6. from wagtailcache.cache import cache_page
  7. from coderedcms.settings import cr_settings
  8. from coderedcms.views import (
  9. event_generate_ical_for_calendar,
  10. event_generate_recurring_ical_for_event,
  11. event_generate_single_ical_for_event,
  12. event_get_calendar_events,
  13. robots,
  14. serve_protected_file
  15. )
  16. urlpatterns = [
  17. # CodeRed custom URLs
  18. re_path(r'^sitemap\.xml$', cache_page(sitemap), name='codered_sitemap'),
  19. re_path(r'^robots\.txt$', cache_page(robots), name='codered_robots'),
  20. re_path(r'^{0}(?P<path>.*)$'.format(cr_settings['PROTECTED_MEDIA_URL'].lstrip('/')), serve_protected_file, name="serve_protected_file"),
  21. # Direct copy of wagtail.core.urls
  22. re_path(
  23. r'^_util/authenticate_with_password/(\d+)/(\d+)/$',
  24. wagtail_views.authenticate_with_password,
  25. name='wagtailcore_authenticate_with_password'
  26. ),
  27. path('_util/login/', LoginView.as_view(template_name=WAGTAIL_FRONTEND_LOGIN_TEMPLATE), name='wagtailcore_login'),
  28. #ICAL URLS
  29. path('ical/generate/single/', event_generate_single_ical_for_event, name='event_generate_single_ical'),
  30. path('ical/generate/recurring/', event_generate_recurring_ical_for_event, name='event_generate_recurring_ical'),
  31. path('ical/generate/calendar/', event_generate_ical_for_calendar, name='event_generate_ical_for_calendar'),
  32. #Calendar URLS
  33. path('ajax/calendar/events/', event_get_calendar_events, name='event_get_calendar_events'),
  34. # Wrap the serve function with coderedcms cache
  35. re_path(serve_pattern, cache_page(wagtail_views.serve), name='wagtail_serve'),
  36. ]