/
urls.py
91 lines (69 loc) · 2.67 KB
/
urls.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
"""
Core Opal URlconfs
"""
from django.conf.urls import include, url
from django.contrib.auth.views import logout, password_change
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.contrib import admin
from django.views.generic import TemplateView
from opal import views
from opal.core import api, subrecords, plugins
from opal.forms import ChangePasswordForm
api.initialize_router()
urlpatterns = [
url(r'^$', views.IndexView.as_view()),
url(r'^accounts/login/$', views.check_password_reset, name='login'),
url(r'^accounts/logout/$',
logout, {'next_page': '/'},
name='logout'),
url(r'^accounts/change-password/?$',
password_change,
{'post_change_redirect': '/',
'password_change_form': ChangePasswordForm},
name='change-password'),
url(r'^accounts/banned', views.BannedView.as_view(), name='banned'),
url(r'^admin/', include(admin.site.urls)),
# Template views
url(r'^templates/patient_list.html/(?P<slug>[0-9a-z_\-]+)/?$',
views.PatientListTemplateView.as_view(),
name="patient_list_template_view"),
url(r'^templates/patient_detail.html$',
views.PatientDetailTemplateView.as_view(), name="patient_detail"),
url(r'^templates/episode_detail.html/(?P<pk>\d+)/?$',
views.EpisodeDetailTemplateView.as_view(), name="episode_detail"),
# New Public facing API urls
url(r'api/v0.1/', include(api.router.urls)),
url(r'^templates/record/(?P<model>[0-9a-z_\-]+).html$',
views.RecordTemplateView.as_view(), name="record_view"),
url(r'^templates/forms/(?P<model>[0-9a-z_\-]+).html/?$',
views.FormTemplateView.as_view(), name="form_view"),
url(r'^design-patterns/$',
TemplateView.as_view(template_name='design_patterns.html'),
name='design_patterns'),
]
# Generated subrecord template views
for subrecord_model in subrecords.subrecords():
sub_url = subrecord_model.get_api_name()
url_name = "{}_modal".format(sub_url)
urlpatterns += [
url(r'^templates/modals/%s.html/?$' % sub_url,
views.ModalTemplateView.as_view(),
{'model': subrecord_model},
name=url_name
),
url(r'^templates/modals/%s.html/(?P<list>[0-9a-z_\-]+/?)$' % sub_url,
views.ModalTemplateView.as_view(),
{'model': subrecord_model},
name=url_name
)
]
urlpatterns += staticfiles_urlpatterns()
for plugin in plugins.OpalPlugin.list():
urlpatterns += plugin.get_urls()
urlpatterns += [
url(
r'templates/(?P<template_name>[0-9a-z_/]+.html)',
views.RawTemplateView.as_view(),
name="raw_template_view"
)
]