urls.py 3.01 KB
Newer Older
David Haynes's avatar
David Haynes committed
1
2
3
"""
settings/urls.py

David Haynes's avatar
David Haynes committed
4
5
The URLs of the project and their associated view that requests are routed to.
"""
6
# Django Imports
David Haynes's avatar
David Haynes committed
7
import django.contrib.auth.views
8
from django.urls import path, re_path, include
9
from django.contrib import admin
Grady Moran's avatar
Grady Moran committed
10
from django.views.decorators.cache import cache_page
11
12
13
from django.views.generic import TemplateView

# App Imports
14
15
from go import views
from cas import views as cas_views
16
17
18
19
20

# Third Party
from rest_framework import routers

router = routers.DefaultRouter()
21
22
23
24
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)
router.register(r'my', views.URLViewSet, base_name="my")
router.register(r'registereduser', views.RegisteredUserViewSet)
25

26
27
# This function attempts to import an admin module in each installed
# application. Such modules are expected to register models with the admin.
28
29
admin.autodiscover()

David Haynes's avatar
David Haynes committed
30
urlpatterns = [
31
32
33
34
35
36
37
38
39
40
41
42
    # Root API URL
    path("", include(router.urls)),

    # Authentication URLs
    path('auth/login/', cas_views.login, name='cas_login'),
    path('auth/logout/', cas_views.logout, {'next_page': '/'}, name='cas_logout'),

    # /admin - Administrator interface.
    path('admin/', admin.site.urls, name='go_admin'),
    path('auth/', include('rest_framework.urls'))


43
44
45
#     # / - Homepage url. Cached for 1 second (this is the page you see after
#     # logging in, so having it show as not logged in is strange)
#     path('', cache_page(1)(go.views.index), name='index'),
46

47
48
49
50
51
#     # /view/<short> - View URL data. Cached for 15 minutes
#     re_path(r'^view/(?P<short>([\U00010000-\U0010ffff][\U0000200D]?)+)$',
#             cache_page(60 * 15)(go.views.view), name='view'),
#     re_path(r'^view/(?P<short>[-\w]+)$',
#             cache_page(60 * 15)(go.views.view), name='view'),
52

53
54
55
#     # /about - About page. Cached for 15 minutes
#     path('about', cache_page(60 * 15)
#          (TemplateView.as_view(template_name='core/about.html')), name='about'),
56

57
58
#     # /signup - Signup page for access. Cached for 15 minutes
#     path('signup', cache_page(60 * 15)(go.views.signup), name='signup'),
Jean Michel Rouly's avatar
Jean Michel Rouly committed
59

60
61
#     # /new - Create a new Go Link
#     path('new', go.views.new_link, name='new_link'),
62

63
64
#     # /my - My-Links page, view and review links.
#     path('my', go.views.my_links, name='my_links'),
65

66
67
#     # /edit/<short> - Edit link form
#     path('edit/<slug:short>', go.views.edit, name='edit'),
David Haynes's avatar
David Haynes committed
68

69
70
#     # /delete/<short> - Delete a link, no content display.
#     path('delete/<slug:short>', go.views.delete, name='delete'),
71

72
73
74
#     # /registered - registration complete page. Cached for 15 minutes
#     path('registered', cache_page(60 * 15)
#          (TemplateView.as_view(template_name='registered.html')), name='registered'),
75

76
77
#     # /manage - user approval interface
#     path('manage', go.views.useradmin, name='useradmin'),
78

79
80
81
82
83
#     # Redirection regex.
#     re_path(r'^(?P<short>([\U00010000-\U0010ffff][\U0000200D]?)+)$',
#             go.views.redirection, name='redirection'),
#     re_path(r'^(?P<short>[-\w]+)$',
#             go.views.redirection, name='redirection'),
David Haynes's avatar
David Haynes committed
84
]