Skip to content
Snippets Groups Projects
urls.py 13.8 KiB
Newer Older
# from django.conf import settings
# from django.conf.urls.static import static
from django.contrib.auth import views as auth_views
from django.urls import path
from django.views.decorators.csrf import csrf_exempt

from .views.public import IndexView
from .views.secure.alert import (AlertCreateView, AlertDeleteView,
                                 AlertJSONListView, AlertListView,
                                 AlertUpdateView)
from .views.secure.api import (AdminDataSetJSONListView,
                               DataFileAnnotationJSONView,
                               DataFileLookupJSONListView,
                               DataFileMetadataJSONView,
                               UserDataSetJSONListView)
from .views.secure.dashboard import AdminDashboardView, DashboardView
from .views.secure.datafile import (DataFileAnnotateView,
                                    DataFileAnnotationDownloadView,
                                    DataFileBatchAddAnnotation,
                                    DataFileBatchRemoveAnnotation,
                                    DataFileDeleteView, DataFileDetailsView,
                                    DataFileDownloadView,
                                    DataFilesJSONListView, DataFilesView,
                                    DataFileUpdateView,
                                    DataFileUploadServletView,
                                    DataFileUploadView,
                                    SharedWithMeDataFilesJSONListView,
                                    SharedWithMeDataFilesView,
                                    ajax_batch_datafile_annotations_JSON)
from .views.secure.dataset import (DataSetCreateView, DataSetDeleteView,
                                   DataSetDetailsView,
                                   DataSetDisplayFieldsUpdateView,
                                   DataSetDownload, DataSetFileListView,
                                   DataSetInitDetailsView, DataSetJSONListView,
                                   DataSetUpdateView, DataSetView)
from .views.secure.institution import (InstitutionCreateView,
                                       InstitutionJSONListView,
                                       InstitutionUpdateView, InstitutionView)
from .views.secure.lab import (LabCreateView, LabJSONListView, LabSwitchView,
                               LabUpdateView, LabView)
from .views.secure.login_success import LoginSuccess
from .views.secure.settings import AdminSettingsView, change_password
from .views.secure.sharegroups import (AdminShareGroupCreateView,
                                       AdminShareGroupDeleteView,
                                       AdminShareGroupJSONListView,
                                       AdminShareGroupUpdateView,
                                       AdminShareGroupView,
                                       ShareGroupCreateView,
                                       ShareGroupDeleteView,
                                       ShareGroupJSONListView,
                                       ShareGroupUpdateView, ShareGroupView)
from .views.secure.user_profile import (AdminUserView, LDAPUserCreateView,
                                        ProfileUpdateView, UserCreateView,
                                        UserDeleteView, UserJSONListView,
                                        UserUpdateView)

urlpatterns = [
    # Landing Pages
    path('', IndexView.as_view(), name='index'),
    path('secure/login-success/', LoginSuccess.as_view(), name="login-success"),
    path('secure/user/dashboard/', DashboardView.as_view(), name='dashboard'),
    path('secure/admin/dashboard/', AdminDashboardView.as_view(), name='admin.dashboard'),

    # Auth
    path('login/', auth_views.LoginView.as_view(redirect_authenticated_user=True), {'template_name': 'portal/public/login.html'}, name='login'),
    path('logout/', auth_views.LogoutView.as_view(), name='logout'),
    path('secure/user/change_password/', change_password, name='change_password'),
    path('password_reset/', auth_views.PasswordResetView.as_view(), name='password_reset'),
    path('password_reset/done/', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'),
    path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
    path('reset/done/', auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),

    # API/REST
    path('api/v1/datafiles/list/json/lookup-key/<str:key>/', DataFileLookupJSONListView.as_view(), name='user.datafiles-json-list'),
    path('api/v1/datafiles/list/json/lookup-key/<str:key>/<str:dataset>/', DataFileLookupJSONListView.as_view(), name='user.datafiles-json-list'),
    path('api/v1/datafiles/list/json/lookup-value/<str:value>/', DataFileLookupJSONListView.as_view(), name='user.datafiles-json-list'),
    path('api/v1/datafiles/list/json/lookup-value/<str:value>/<str:dataset>/', DataFileLookupJSONListView.as_view(), name='user.datafiles-json-list'),
    path('api/v1/datafiles/list/json/lookup-key-value/<str:key>/<str:value>/', DataFileLookupJSONListView.as_view(), name='user.datafiles-json-list'),
    path('api/v1/datafiles/list/json/lookup-key-value/<str:key>/<str:value>/<str:dataset>', DataFileLookupJSONListView.as_view(), name='user.datafiles-json-list'),
    path('api/v1/datafiles/list/json/lookup-dataset/<str:dataset>', DataFileLookupJSONListView.as_view(), name='user.datafiles-json-list'),
    path('api/v1/datafiles/json/annotation/<int:pk>', DataFileAnnotationJSONView.as_view(), name='user.datafile-annotation-json'),
    path('api/v1/datafiles/json/annotation/<slug:iric_data_id>', DataFileAnnotationJSONView.as_view(), name='user.datafile-annotation-json-iric-data-id'),
    path('api/v1/datafiles/json/metadata/<int:pk>', DataFileMetadataJSONView.as_view(), name='user.datafile-metadata-json'),
    path('api/v1/datafiles/json/metadata/<slug:iric_data_id>', DataFileMetadataJSONView.as_view(), name='user.datafile-metadata-json-iric-data-id'),
    path('api/v1/admin/<str:sim>/datasets/list/json/', AdminDataSetJSONListView.as_view(), name='admin.user-dataset-json-list'),
    path('api/v1/my-datasets/list/json/', UserDataSetJSONListView.as_view(), name='secure.user-dataset-json-list'),

    # Files
Jonathan Seguin's avatar
Jonathan Seguin committed
    path('secure/datafiles/', DataFilesView.as_view(), name='user.datafiles'),
    path('secure/datafiles/list/json/', DataFilesJSONListView.as_view(), name='user.datafiles-json-list'),
    path('secure/shared-datafiles/', SharedWithMeDataFilesView.as_view(), name='user.shared-datafiles'),
    path('secure/shared-datafiles/list/json/', SharedWithMeDataFilesJSONListView.as_view(), name='user.shared-datafiles-json-list'),
Jonathan Seguin's avatar
Jonathan Seguin committed
    path('secure/datafiles/annotate', DataFileAnnotateView.as_view(), name='user.datafile-annotate'),
    path('secure/datafiles/upload', DataFileUploadView.as_view(), name='user.datafile-upload'),
    path('secure/datafiles/download/<int:pk>', DataFileDownloadView.as_view(), name='user.datafile-download'),
    path('secure/datafiles/download/<slug:iric_data_id>', DataFileDownloadView.as_view(), name='user.datafile-download-iric-data-id'),
    path('secure/datafiles/download/annotation/<int:pk>', DataFileAnnotationDownloadView.as_view(), name='user.datafile-annotation-download'),
    path('secure/datafiles/download/annotation/<slug:iric_data_id>', DataFileAnnotationDownloadView.as_view(), name='user.datafile-annotation-download-iric-data-id'),
    path('secure/datafiles/delete/<int:pk>', DataFileDeleteView.as_view(), name='user.datafile-delete'),
    path('secure/datafiles/delete/<slug:iric_data_id>', DataFileDeleteView.as_view(), name='user.datafile-delete-iric-data-id'),
    path('secure/datafiles/update/<int:pk>', DataFileUpdateView.as_view(), name='user.datafile-update'),
    path('secure/datafiles/update/<slug:iric_data_id>', DataFileUpdateView.as_view(), name='user.datafile-update-iric-data-id'),
    path('secure/datafiles/annotations', ajax_batch_datafile_annotations_JSON, name='user.ajax_batch_datafile_annotations_JSON'),
    path('secure/datafiles/annotations/remove', DataFileBatchRemoveAnnotation.as_view(), name='user.ajax_batch_datafile_remove_annotations'),
    path('secure/datafiles/annotations/add', DataFileBatchAddAnnotation.as_view(), name='user.ajax_batch_datafile_add_annotations'),
Geneviève Boucher's avatar
Geneviève Boucher committed
    path('secure/datafiles/details/<int:pk>', DataFileDetailsView.as_view(), name='user.datafile-details'),
    path('secure/datafiles/details/<slug:iric_data_id>', DataFileDetailsView.as_view(), name='user.datafile-details-iric-data-id'),
    path('secure/servlet/datafiles/upload', csrf_exempt(DataFileUploadServletView.as_view()), name='servlet-datafile-upload'),
    path('secure/datasets/list/json/', DataSetJSONListView.as_view(), name='secure.dataset-json-list'),
    path('secure/my-datasets/', DataSetView.as_view(), name='user.datasets'),
    path('secure/my-datasets/create', DataSetCreateView.as_view(), name='user.dataset-create'),
    path('secure/my-datasets/update/<int:pk>', DataSetUpdateView.as_view(), name='user.dataset-update'),
    path('secure/my-datasets/update/<slug:iric_data_id>', DataSetUpdateView.as_view(), name='user.dataset-update-iric-data-id'),
    path('secure/my-datasets/delete/<int:pk>', DataSetDeleteView.as_view(), name='user.dataset-delete'),
    path('secure/my-datasets/delete/<slug:iric_data_id>', DataSetDeleteView.as_view(), name='user.dataset-delete-iric-data-id'),
    path('secure/my-datasets/update/<int:pk>/display-fields', DataSetDisplayFieldsUpdateView.as_view(), name='user.dataset-display_fields-update'),
    path('secure/my-datasets/update/<slug:iric_data_id>/display-fields', DataSetDisplayFieldsUpdateView.as_view(), name='user.dataset-display_fields-update-iric-data-id'),
    path('secure/dataset/details/<int:pk>', DataSetDetailsView.as_view(), name='user.dataset-details'),
    path('secure/dataset/details/<slug:iric_data_id>', DataSetDetailsView.as_view(), name='user.dataset-details-iric-data-id'),
    path('secure/dataset/<int:pk>/file-list', DataSetFileListView.as_view(), name='user.dataset-file-list'),
    path('secure/dataset/<slug:iric_data_id>/file-list', DataSetFileListView.as_view(), name='user.dataset-file-list-iric-data-id'),
Jonathan Seguin's avatar
Jonathan Seguin committed
    path('secure/dataset/<int:pk>', DataSetInitDetailsView.as_view(), name='user.dataset-details-view'),
    path('secure/dataset/<slug:iric_data_id>', DataSetInitDetailsView.as_view(), name='user.dataset-details-view-iric-data-id'),
    path('secure/dataset/download/<int:pk>', DataSetDownload.as_view(), name='user.dataset-download'),
    path('secure/dataset/download/<slug:iric_data_id>', DataSetDownload.as_view(), name='user.dataset-download-iric-data-id'),
    # ShareGroups
    path('secure/sharegroups/list/json/', ShareGroupJSONListView.as_view(), name='secure.sharegroup-json-list'),
    path('secure/my-sharegroups/', ShareGroupView.as_view(), name='user.sharegroups'),
    path('secure/my-sharegroups/create', ShareGroupCreateView.as_view(), name='user.sharegroup-create'),
    path('secure/my-sharegroups/update/<int:pk>', ShareGroupUpdateView.as_view(), name='user.sharegroup-update'),
    path('secure/my-sharegroups/delete/<int:pk>', ShareGroupDeleteView.as_view(), name='user.sharegroup-delete'),
    path('secure/admin/sharegroups/', AdminShareGroupView.as_view(), name='admin.sharegroups'),
    path('secure/admin/sharegroups/list/json/', AdminShareGroupJSONListView.as_view(), name='admin.sharegroup-json-list'),
    path('secure/admin/sharegroups/create/', AdminShareGroupCreateView.as_view(), name="admin.sharegroup-create"),
    path('secure/admin/sharegroups/update/<int:pk>', AdminShareGroupUpdateView.as_view(), name="admin.sharegroup-update"),
    path('secure/admin/my-sharegroups/delete/<int:pk>', AdminShareGroupDeleteView.as_view(), name='admin.sharegroup-delete'),

    # Users
    path('secure/my-profile/', ProfileUpdateView.as_view(), name='my-profile'),
    path('secure/admin/users/', AdminUserView.as_view(), name='admin.users'),
    path('secure/admin/users/list/json/', UserJSONListView.as_view(), name='admin.user-json-list'),
    path('secure/admin/users/create/', UserCreateView.as_view(), name="admin.user-create"),
    path('secure/admin/users/ldap/create/', LDAPUserCreateView.as_view(), name="admin.user-create-ldap"),
    path('secure/admin/users/update/<int:pk>', UserUpdateView.as_view(), name="admin.user-update"),
    path('secure/admin/users/delete/<int:pk>', UserDeleteView.as_view(), name="admin.user-delete"),

    # Labs
    path('secure/admin/labs/', LabView.as_view(), name='admin.labs'),
    path('secure/admin/labs/list/json/', LabJSONListView.as_view(), name='admin.labs-json-list'),
    path('secure/admin/labs/create/', LabCreateView.as_view(), name="admin.lab-create"),
    path('secure/admin/labs/update/<int:pk>', LabUpdateView.as_view(), name="admin.lab-update"),
    path('secure/labs/switch', LabSwitchView.as_view(), name='switch-labs'),
    # Institutions
    path('secure/admin/institutions/', InstitutionView.as_view(), name='admin.institutions'),
    path('secure/admin/institutions/list/json/', InstitutionJSONListView.as_view(), name='admin.institution-json-list'),
    path('secure/admin/institutions/create/', InstitutionCreateView.as_view(), name="admin.institution-create"),
    path('secure/admin/institutions/update/<int:pk>', InstitutionUpdateView.as_view(), name="admin.institution-update"),

    # Alerts
    path('secure/admin/comm/alert/', AlertListView.as_view(), name='admin.alert'),
    path('secure/admin/comm/alert/create/', AlertCreateView.as_view(), name='admin.alert-create'),
    path('secure/admin/comm/alert/delete/<int:pk>', AlertDeleteView.as_view(), name='admin.alert-delete'),
    path('secure/admin/comm/alert/update/<int:pk>', AlertUpdateView.as_view(), name='admin.alert-update'),
    path('secure/admin/comm/alert/list/json/', AlertJSONListView.as_view(), name='admin.alert-json-list'),

    # Settings
    path('secure/admin/settings/', AdminSettingsView.as_view(), name='admin.settings'),

    # path('jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog')

]