Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1# (c) 2018-2020
2# MPIB <https://www.mpib-berlin.mpg.de/>,
3# MPI-CBS <https://www.cbs.mpg.de/>,
4# MPIP <http://www.psych.mpg.de/>
5#
6# This file is part of Castellum.
7#
8# Castellum is free software; you can redistribute it and/or modify it
9# under the terms of the GNU Affero General Public License as published
10# by the Free Software Foundation; either version 3 of the License, or
11# (at your option) any later version.
12#
13# Castellum is distributed in the hope that it will be useful, but
14# WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16# Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public
19# License along with Castellum. If not, see
20# <http://www.gnu.org/licenses/>.
22from django.conf import settings
23from django.urls import path
25from .views.members import StudyMembershipRemoveView
26from .views.members import StudyMembershipUpdateView
27from .views.members import StudyMembersView
28from .views.recruitment import StudyExcludedStudiesView
29from .views.recruitment import StudyExclusionCriteriaView
30from .views.recruitment import StudyMailSettingsView
31from .views.recruitment import StudyRecruitmentSettingsUpdateView
32from .views.recruitment import StudySessionsView
33from .views.studies import StudyCreateView
34from .views.studies import StudyDeleteView
35from .views.studies import StudyDetailView
36from .views.studies import StudyExportView
37from .views.studies import StudyFinishRecruitmentView
38from .views.studies import StudyImportView
39from .views.studies import StudyIndexView
40from .views.studies import StudyStartRecruitmentView
41from .views.studies import StudyUpdateView
42from .views.subjectfilters import FilterGroupCreateView
43from .views.subjectfilters import FilterGroupDeleteView
44from .views.subjectfilters import FilterGroupDuplicateView
45from .views.subjectfilters import FilterGroupListView
46from .views.subjectfilters import FilterGroupUpdateView
48app_name = 'studies'
49urlpatterns = [
50 path('', StudyIndexView.as_view(), name='index'),
51 path('create/', StudyCreateView.as_view(), name='create'),
52 path('<int:pk>/', StudyDetailView.as_view(), name='detail'),
53 path('<int:pk>/update/', StudyUpdateView.as_view(), name='update'),
54 path('<int:pk>/delete/', StudyDeleteView.as_view(), name='delete'),
55 path('<int:study_pk>/start/', StudyStartRecruitmentView.as_view(), name='start'),
56 path(
57 '<int:study_pk>/finish-recruitment/',
58 StudyFinishRecruitmentView.as_view(),
59 name='finish-recruitment',
60 ),
61 path('<int:pk>/members/', StudyMembersView.as_view(), name='members'),
62 path('<int:study_pk>/members/<int:pk>/', StudyMembershipUpdateView.as_view(), name='member'),
63 path(
64 '<int:study_pk>/members/<int:pk>/delete/',
65 StudyMembershipRemoveView.as_view(),
66 name="delete-member",
67 ),
68 path(
69 '<int:pk>/recruitmentsettings/',
70 StudyRecruitmentSettingsUpdateView.as_view(),
71 name='recruitmentsettings',
72 ),
73 path(
74 '<int:pk>/recruitmentsettings/exclusioncriteria/',
75 StudyExclusionCriteriaView.as_view(),
76 name='exclusioncriteria',
77 ),
78 path(
79 '<int:pk>/recruitmentsettings/mail/',
80 StudyMailSettingsView.as_view(),
81 name='mailsettings',
82 ),
83 path(
84 '<int:pk>/recruitmentsettings/excluded-studies/',
85 StudyExcludedStudiesView.as_view(),
86 name='excluded-studies',
87 ),
88 path('<int:pk>/recruitmentsettings/sessions/', StudySessionsView.as_view(), name='sessions'),
89 path(
90 '<int:study_pk>/recruitmentsettings/filters/',
91 FilterGroupListView.as_view(),
92 name='filtergroup-index',
93 ),
94 path(
95 '<int:study_pk>/recruitmentsettings/filters/create/',
96 FilterGroupCreateView.as_view(),
97 name='filtergroup-create',
98 ),
99 path(
100 '<int:study_pk>/recruitmentsettings/filters/<int:pk>/',
101 FilterGroupUpdateView.as_view(),
102 name='filtergroup-update',
103 ),
104 path(
105 '<int:study_pk>/recruitmentsettings/filters/<int:pk>/delete/',
106 FilterGroupDeleteView.as_view(),
107 name='filtergroup-delete',
108 ),
109 path(
110 '<int:study_pk>/recruitmentsettings/filters/<int:pk>/duplicate/',
111 FilterGroupDuplicateView.as_view(),
112 name='filtergroup-duplicate',
113 ),
114]
116if settings.CASTELLUM_ENABLE_STUDY_EXPORT: 116 ↛ exitline 116 didn't exit the module, because the condition on line 116 was never false
117 urlpatterns += [
118 path('import/', StudyImportView.as_view(), name='import'),
119 path('<int:pk>/export/', StudyExportView.as_view(), name='export'),
120 ]