1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-18 17:22:05 +00:00
seahub/seahub/urls.py

661 lines
44 KiB
Python
Raw Normal View History

2016-07-26 02:47:45 +00:00
# Copyright (c) 2012-2016 Seafile Ltd.
2011-03-19 05:15:02 +00:00
from django.conf import settings
from django.conf.urls import url, include
# from django.views.generic.simple import direct_to_template
from django.views.generic import TemplateView
2011-10-29 08:42:28 +00:00
from seahub.views import *
2017-08-03 05:07:22 +00:00
from seahub.views.sysadmin import *
from seahub.views.ajax import *
from seahub.views.sso import *
from seahub.views.file import view_history_file, view_trash_file,\
view_snapshot_file, file_edit, view_shared_file, view_file_via_shared_dir,\
text_diff, view_raw_file, download_file, view_lib_file, \
file_access, view_lib_file_via_smart_link
from seahub.views.repo import repo_history_view, view_shared_dir, \
view_shared_upload_link, view_lib_as_wiki
from notifications.views import notification_list
2013-04-06 11:09:33 +00:00
from seahub.views.wiki import personal_wiki, personal_wiki_pages, \
personal_wiki_create, personal_wiki_page_new, personal_wiki_page_edit, \
personal_wiki_page_delete, personal_wiki_use_lib
from seahub.api2.endpoints.smart_link import SmartLink, SmartLinkToken
from seahub.api2.endpoints.groups import Groups, Group
from seahub.api2.endpoints.all_groups import AllGroups
from seahub.api2.endpoints.shareable_groups import ShareableGroups
2017-11-03 04:04:07 +00:00
from seahub.api2.endpoints.group_libraries import GroupLibraries, GroupLibrary
from seahub.api2.endpoints.group_owned_libraries import GroupOwnedLibraries, \
GroupOwnedLibrary, GroupOwnedLibraryUserFolderPermission, \
GroupOwnedLibraryGroupFolderPermission, GroupOwnedLibraryUserShare, \
GroupOwnedLibraryGroupShare, GroupOwnedLibraryUserShareInLibrary
from seahub.api2.endpoints.address_book.groups import AddressBookGroupsSubGroups
from seahub.api2.endpoints.address_book.members import AddressBookGroupsSearchMember
2015-12-31 04:58:48 +00:00
from seahub.api2.endpoints.group_members import GroupMembers, GroupMembersBulk, GroupMember
2016-08-03 10:17:24 +00:00
from seahub.api2.endpoints.search_group import SearchGroup
from seahub.api2.endpoints.share_links import ShareLinks, ShareLink
2016-06-30 07:06:43 +00:00
from seahub.api2.endpoints.shared_folders import SharedFolders
from seahub.api2.endpoints.shared_repos import SharedRepos, SharedRepo
from seahub.api2.endpoints.upload_links import UploadLinks, UploadLink, \
UploadLinkUpload
2017-08-03 05:07:22 +00:00
from seahub.api2.endpoints.repos_batch import ReposBatchView, \
2018-05-28 08:09:56 +00:00
ReposBatchCopyDirView, ReposBatchCreateDirView, \
ReposBatchCopyItemView, ReposBatchMoveItemView
from seahub.api2.endpoints.repos import RepoView, ReposView
from seahub.api2.endpoints.file import FileView
2018-09-12 09:01:48 +00:00
from seahub.api2.endpoints.file_history import FileHistoryView, NewFileHistoryView
2017-07-04 06:07:26 +00:00
from seahub.api2.endpoints.dir import DirView, DirDetailView
2017-07-11 09:45:39 +00:00
from seahub.api2.endpoints.file_tag import FileTagView
from seahub.api2.endpoints.file_tag import FileTagsView
from seahub.api2.endpoints.repo_trash import RepoTrash
from seahub.api2.endpoints.deleted_repos import DeletedRepos
from seahub.api2.endpoints.repo_history import RepoHistory
from seahub.api2.endpoints.repo_set_password import RepoSetPassword
2017-03-27 05:58:12 +00:00
from seahub.api2.endpoints.zip_task import ZipTaskView
2016-07-04 07:31:55 +00:00
from seahub.api2.endpoints.share_link_zip_task import ShareLinkZipTaskView
from seahub.api2.endpoints.query_zip_progress import QueryZipProgressView
from seahub.api2.endpoints.cancel_zip_task import CancelZipTaskView
2016-08-23 09:02:32 +00:00
from seahub.api2.endpoints.copy_move_task import CopyMoveTaskView
2016-08-23 07:55:20 +00:00
from seahub.api2.endpoints.query_copy_move_progress import QueryCopyMoveProgressView
2018-06-13 03:24:43 +00:00
from seahub.api2.endpoints.move_folder_merge import MoveFolderMergeView
from seahub.api2.endpoints.invitations import InvitationsView, InvitationsBatchView
2016-07-20 04:26:54 +00:00
from seahub.api2.endpoints.invitation import InvitationView
2016-08-19 07:17:46 +00:00
from seahub.api2.endpoints.notifications import NotificationsView, NotificationView
2016-08-23 06:50:05 +00:00
from seahub.api2.endpoints.user_enabled_modules import UserEnabledModulesView
2016-08-31 06:34:08 +00:00
from seahub.api2.endpoints.repo_file_uploaded_bytes import RepoFileUploadedBytesView
2017-05-13 08:16:34 +00:00
from seahub.api2.endpoints.user_avatar import UserAvatarView
from seahub.api2.endpoints.wikis import WikisView, WikiView
2018-09-15 08:14:17 +00:00
from seahub.api2.endpoints.drafts import DraftsView, DraftView
2018-10-15 07:51:29 +00:00
from seahub.api2.endpoints.draft_reviews import DraftReviewsView, DraftReviewView
2018-11-05 02:33:33 +00:00
from seahub.api2.endpoints.draft_review_reviewer import DraftReviewReviewerView
from seahub.api2.endpoints.file_review import FileReviewView
2018-06-14 07:41:10 +00:00
from seahub.api2.endpoints.activities import ActivitiesView
2018-08-06 10:29:12 +00:00
from seahub.api2.endpoints.wiki_pages import WikiPageView, WikiPagesView, WikiPagesDirView, WikiPageContentView
from seahub.api2.endpoints.revision_tag import TaggedItemsView, TagNamesView
from seahub.api2.endpoints.user import User
2018-10-17 08:29:58 +00:00
from seahub.api2.endpoints.repo_tags import RepoTagsView, RepoTagView
2018-11-02 09:51:04 +00:00
from seahub.api2.endpoints.file_tag import RepoFileTagsView, RepoFileTagView
# Admin
2017-07-03 03:51:52 +00:00
from seahub.api2.endpoints.admin.revision_tag import AdminTaggedItemsView
2017-09-09 07:27:04 +00:00
from seahub.api2.endpoints.admin.login_logs import LoginLogs, AdminLoginLogs
2016-04-12 09:37:16 +00:00
from seahub.api2.endpoints.admin.file_audit import FileAudit
from seahub.api2.endpoints.admin.file_update import FileUpdate
from seahub.api2.endpoints.admin.perm_audit import PermAudit
2016-03-16 08:21:53 +00:00
from seahub.api2.endpoints.admin.sysinfo import SysInfo
from seahub.api2.endpoints.admin.statistics import (
2018-09-27 07:30:33 +00:00
FileOperationsView, TotalStorageView, ActiveUsersView, SystemTrafficView, \
SystemUserTrafficExcelView, SystemUserStorageExcelView
)
2016-04-23 10:07:09 +00:00
from seahub.api2.endpoints.admin.devices import AdminDevices
from seahub.api2.endpoints.admin.device_errors import AdminDeviceErrors
2017-08-28 06:52:28 +00:00
from seahub.api2.endpoints.admin.users import AdminUsers, AdminUser
2017-09-18 06:21:11 +00:00
from seahub.api2.endpoints.admin.device_trusted_ip import AdminDeviceTrustedIP
2016-05-25 02:45:22 +00:00
from seahub.api2.endpoints.admin.libraries import AdminLibraries, AdminLibrary
from seahub.api2.endpoints.admin.library_dirents import AdminLibraryDirents, AdminLibraryDirent
2017-07-03 06:42:12 +00:00
from seahub.api2.endpoints.admin.system_library import AdminSystemLibrary, \
AdminSystemLibraryUploadLink
from seahub.api2.endpoints.admin.default_library import AdminDefaultLibrary
2016-05-25 02:45:22 +00:00
from seahub.api2.endpoints.admin.trash_libraries import AdminTrashLibraries, AdminTrashLibrary
2016-07-20 04:26:54 +00:00
from seahub.api2.endpoints.admin.groups import AdminGroups, AdminGroup
2017-02-09 06:59:49 +00:00
from seahub.api2.endpoints.admin.group_libraries import AdminGroupLibraries, AdminGroupLibrary
from seahub.api2.endpoints.admin.group_members import AdminGroupMembers, AdminGroupMember
2016-08-16 02:19:56 +00:00
from seahub.api2.endpoints.admin.shares import AdminShares
from seahub.api2.endpoints.admin.share_links import AdminShareLink, \
AdminShareLinkDownload, AdminShareLinkCheckPassword, \
AdminShareLinkDirents
from seahub.api2.endpoints.admin.upload_links import AdminUploadLink, \
AdminUploadLinkUpload, AdminUploadLinkCheckPassword
2017-03-16 09:46:16 +00:00
from seahub.api2.endpoints.admin.users_batch import AdminUsersBatch
2017-09-09 07:27:04 +00:00
from seahub.api2.endpoints.admin.operation_logs import AdminOperationLogs
from seahub.api2.endpoints.admin.organizations import AdminOrganization
2017-03-09 08:42:06 +00:00
from seahub.api2.endpoints.admin.org_users import AdminOrgUsers, AdminOrgUser
from seahub.api2.endpoints.admin.org_stats import AdminOrgStatsTraffic
2017-05-17 08:59:38 +00:00
from seahub.api2.endpoints.admin.logo import AdminLogo
from seahub.api2.endpoints.admin.favicon import AdminFavicon
2017-06-28 06:15:24 +00:00
from seahub.api2.endpoints.admin.license import AdminLicense
from seahub.api2.endpoints.admin.invitations import InvitationsView as AdminInvitationsView
2017-08-01 02:13:13 +00:00
from seahub.api2.endpoints.admin.library_history import AdminLibraryHistoryLimit
2017-08-25 03:50:50 +00:00
from seahub.api2.endpoints.admin.login_bg_image import AdminLoginBgImage
2017-09-09 07:27:04 +00:00
from seahub.api2.endpoints.admin.admin_role import AdminAdminRole
from seahub.api2.endpoints.admin.address_book.groups import AdminAddressBookGroups, \
AdminAddressBookGroup
from seahub.api2.endpoints.admin.group_owned_libraries import AdminGroupOwnedLibraries, \
AdminGroupOwnedLibrary
2011-03-19 05:15:02 +00:00
urlpatterns = [
url(r'^accounts/', include('seahub.base.registration_urls')),
2011-03-19 05:15:02 +00:00
2018-04-11 04:04:22 +00:00
url(r'^sso/$', sso, name='sso'),
url(r'^shib-login/', shib_login, name="shib_login"),
url(r'^oauth/', include('seahub.oauth.urls')),
2017-11-14 03:53:41 +00:00
2015-04-11 09:35:02 +00:00
url(r'^$', libraries, name='libraries'),
#url(r'^home/$', direct_to_template, { 'template': 'home.html' } ),
url(r'^robots\.txt$', TemplateView.as_view(template_name='robots.txt', content_type='text/plain')),
2013-04-06 11:09:33 +00:00
url(r'^home/wiki/$', personal_wiki, name='personal_wiki'),
2015-11-11 09:32:30 +00:00
url(r'^home/wiki/(?P<page_name>[^/]+)$', personal_wiki, name='personal_wiki'),
2013-04-06 11:09:33 +00:00
url(r'^home/wiki_pages/$', personal_wiki_pages, name='personal_wiki_pages'),
url(r'^home/wiki_create/$', personal_wiki_create, name='personal_wiki_create'),
url(r'^home/wiki_use_lib/$', personal_wiki_use_lib, name='personal_wiki_use_lib'),
2013-04-06 11:09:33 +00:00
url(r'^home/wiki_page_new/$', personal_wiki_page_new, name='personal_wiki_page_new'),
url(r'^home/wiki_page_edit/(?P<page_name>[^/]+)$', personal_wiki_page_edit, name='personal_wiki_page_edit'),
url(r'^home/wiki_page_delete/(?P<page_name>[^/]+)$', personal_wiki_page_delete, name='personal_wiki_page_delete'),
2016-09-13 03:16:12 +00:00
# revert repo
2015-10-20 10:24:27 +00:00
url(r'^repo/history/revert/(?P<repo_id>[-0-9a-f]{36})/$', repo_revert_history, name='repo_revert_history'),
2015-10-15 05:29:07 +00:00
url(r'^repo/upload_check/$', validate_filename),
url(r'^repo/download_dir/(?P<repo_id>[-0-9a-f]{36})/$', repo_download_dir, name='repo_download_dir'),
url(r'^repo/file_revisions/(?P<repo_id>[-0-9a-f]{36})/$', file_revisions, name='file_revisions'),
2015-11-27 02:55:56 +00:00
url(r'^repo/file-access/(?P<repo_id>[-0-9a-f]{36})/$', file_access, name='file_access'),
url(r'^repo/text_diff/(?P<repo_id>[-0-9a-f]{36})/$', text_diff, name='text_diff'),
2013-04-01 06:02:08 +00:00
url(r'^repo/history/(?P<repo_id>[-0-9a-f]{36})/$', repo_history, name='repo_history'),
2013-06-16 09:13:18 +00:00
url(r'^repo/history/view/(?P<repo_id>[-0-9a-f]{36})/$', repo_history_view, name='repo_history_view'),
url(r'^repo/recycle/(?P<repo_id>[-0-9a-f]{36})/$', repo_recycle_view, name='repo_recycle_view'),
url(r'^dir/recycle/(?P<repo_id>[-0-9a-f]{36})/$', dir_recycle_view, name='dir_recycle_view'),
2014-08-28 09:17:11 +00:00
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/raw/(?P<file_path>.*)$', view_raw_file, name="view_raw_file"),
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/history/files/$', view_history_file, name="view_history_file"),
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/trash/files/$', view_trash_file, name="view_trash_file"),
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/snapshot/files/$', view_snapshot_file, name="view_snapshot_file"),
2013-04-02 11:39:30 +00:00
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/file/edit/$', file_edit, name='file_edit'),
url(r'^repo/(?P<repo_id>[-0-9a-f]{36})/(?P<obj_id>[0-9a-f]{40})/download/$', download_file, name='download_file'),
2012-07-23 14:44:09 +00:00
2015-01-25 10:47:42 +00:00
### lib (replace the old `repo` urls) ###
# url(r'^lib/(?P<repo_id>[-0-9a-f]{36})/dir/(?P<path>.*)$', view_lib_dir, name='view_lib_dir'),
2015-04-14 09:21:21 +00:00
url(r'^lib/(?P<repo_id>[-0-9a-f]{36})/file(?P<path>.*)$', view_lib_file, name='view_lib_file'),
url(r'^wiki/lib/(?P<repo_id>[-0-9a-f]{36})/(?P<path>.*)$', view_lib_as_wiki, name='view_lib_as_wiki'),
2018-07-11 09:36:21 +00:00
url(r'^smart-link/(?P<dirent_uuid>[-0-9a-f]{36})/(?P<dirent_name>.*)$', view_lib_file_via_smart_link, name="view_lib_file_via_smart_link"),
2015-04-25 07:39:06 +00:00
url(r'^#common/lib/(?P<repo_id>[-0-9a-f]{36})/(?P<path>.*)$', fake_view, name='view_common_lib_dir'),
url(r'^#group/(?P<group_id>\d+)/$', fake_view, name='group_info'),
2015-12-11 12:41:16 +00:00
url(r'^#group/(?P<group_id>\d+)/members/$', fake_view, name='group_members'),
url(r'^#group/(?P<group_id>\d+)/discussions/$', fake_view, name='group_discuss'),
2015-11-30 07:02:03 +00:00
url(r'^#groups/', fake_view, name='group_list'),
url(r'^#group/(?P<group_id>\d+)/settings/$', fake_view, name='group_manage'),
2015-01-25 10:47:42 +00:00
2016-03-30 07:02:31 +00:00
### share/upload link ###
2017-02-17 08:49:58 +00:00
url(r'^f/(?P<token>[a-f0-9]+)/$', view_shared_file, name='view_shared_file'),
url(r'^d/(?P<token>[a-f0-9]+)/$', view_shared_dir, name='view_shared_dir'),
url(r'^d/(?P<token>[a-f0-9]+)/files/$', view_file_via_shared_dir, name='view_file_via_shared_dir'),
url(r'^u/d/(?P<token>[a-f0-9]+)/$', view_shared_upload_link, name='view_shared_upload_link'),
### Misc ###
2014-01-02 03:24:25 +00:00
url(r'^image-view/(?P<filename>.*)$', image_view, name='image_view'),
2018-04-08 06:11:13 +00:00
url(r'^custom-css/$', custom_css_view, name='custom_css'),
2012-10-26 11:15:52 +00:00
url(r'^i18n/$', i18n, name='i18n'),
url(r'^convert_cmmt_desc_link/$', convert_cmmt_desc_link, name='convert_cmmt_desc_link'),
2016-03-14 11:51:09 +00:00
url(r'^modules/toggle/$', toggle_modules, name="toggle_modules"),
2014-01-03 09:25:10 +00:00
url(r'^download_client_program/$', TemplateView.as_view(template_name="download.html"), name="download_client"),
2018-06-14 08:51:13 +00:00
url(r'^choose_register/$', choose_register, name="choose_register"),
### React ###
url(r'^dashboard/$', TemplateView.as_view(template_name="react_app.html"), name="dashboard"),
url(r'^starred/$', TemplateView.as_view(template_name="react_app.html"), name="starred"),
url(r'^linked-devices/$', linked_devices, name="linked_devices"),
2012-07-23 14:44:09 +00:00
2013-05-19 07:38:39 +00:00
### Ajax ###
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/dirents/$', get_dirents, name="get_dirents"),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/dirents/delete/$', delete_dirents, name='delete_dirents'),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/dirents/move/$', mv_dirents, name='mv_dirents'),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/dirents/copy/$', cp_dirents, name='cp_dirents'),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/dir/rename/$', rename_dirent, name='rename_dir'),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/dir/delete/$', delete_dirent, name='delete_dir'),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/file/rename/$', rename_dirent, name='rename_file'),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/file/delete/$', delete_dirent, name='delete_file'),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/current_commit/$', get_current_commit, name='get_current_commit'),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/history/changes/$', repo_history_changes, name='repo_history_changes'),
url(r'^ajax/repo/(?P<repo_id>[-0-9a-f]{36})/encrypted_file/(?P<file_id>[0-9a-f]{40})/download/$', download_enc_file, name='download_enc_file'),
2017-02-17 08:49:58 +00:00
url(r'^ajax/u/d/(?P<token>[-0-9a-f]+)/upload/$', get_file_upload_url_ul, name='get_file_upload_url_ul'),
url(r'^ajax/group/(?P<group_id>\d+)/repos/$', get_unenc_group_repos, name='get_group_repos'),
2016-01-08 07:26:15 +00:00
url(r'^ajax/group/(?P<group_id>\d+)/members/import/$', ajax_group_members_import, name='ajax_group_members_import'),
2013-12-21 04:07:50 +00:00
url(r'^ajax/unenc-rw-repos/$', unenc_rw_repos, name='unenc_rw_repos'),
url(r'^ajax/upload-file-done/$', upload_file_done, name='upload_file_done'),
url(r'^ajax/get_popup_notices/$', get_popup_notices, name='get_popup_notices'),
url(r'^ajax/space_and_traffic/$', space_and_traffic, name='space_and_traffic'),
2016-01-12 02:19:34 +00:00
url(r'^ajax/(?P<repo_id>[-0-9a-f]{36})/repo-dir/recycle/more/$', ajax_repo_dir_recycle_more, name='ajax_repo_dir_recycle_more'),
url(r'^_templates/(?P<template>.*)$', underscore_template, name="underscore_template"),
2015-01-25 10:47:42 +00:00
## ajax lib
url(r'^ajax/lib/(?P<repo_id>[-0-9a-f]{36})/dir/$', list_lib_dir, name="list_lib_dir"),
2012-11-06 03:12:49 +00:00
### Apps ###
url(r'^api2/', include('seahub.api2.urls')),
2017-04-08 09:55:12 +00:00
## user
url(r'^api/v2.1/user/$', User.as_view(), name="api-v2.1-user"),
2018-07-11 09:36:21 +00:00
## user::smart-link
url(r'^api/v2.1/smart-link/$', SmartLink.as_view(), name="api-v2.1-smart-link"),
url(r'^api/v2.1/smart-links/(?P<token>[-0-9a-f]{36})/$', SmartLinkToken.as_view(), name="api-v2.1-smart-links-token"),
2018-07-11 09:36:21 +00:00
2017-04-08 09:55:12 +00:00
## user::groups
url(r'^api/v2.1/all-groups/$', AllGroups.as_view(), name='api-v2.1-all-groups'),
url(r'^api/v2.1/shareable-groups/$', ShareableGroups.as_view(), name='api-v2.1-shareable-groups'),
2015-12-03 08:45:08 +00:00
url(r'^api/v2.1/groups/$', Groups.as_view(), name='api-v2.1-groups'),
url(r'^api/v2.1/groups/(?P<group_id>\d+)/$', Group.as_view(), name='api-v2.1-group'),
2017-11-03 04:04:07 +00:00
url(r'^api/v2.1/groups/(?P<group_id>\d+)/libraries/$', GroupLibraries.as_view(), name='api-v2.1-group-libraries'),
url(r'^api/v2.1/groups/(?P<group_id>\d+)/libraries/(?P<repo_id>[-0-9a-f]{36})/$', GroupLibrary.as_view(), name='api-v2.1-group-library'),
url(r'^api/v2.1/groups/(?P<group_id>\d+)/group-owned-libraries/$', GroupOwnedLibraries.as_view(), name='api-v2.1-group-owned-libraries'),
url(r'^api/v2.1/groups/(?P<group_id>\d+)/group-owned-libraries/(?P<repo_id>[-0-9a-f]{36})/$', GroupOwnedLibrary.as_view(), name='api-v2.1-owned-group-library'),
url(r'^api/v2.1/groups/(?P<group_id>\d+)/members/$', GroupMembers.as_view(), name='api-v2.1-group-members'),
2015-12-31 04:58:48 +00:00
url(r'^api/v2.1/groups/(?P<group_id>\d+)/members/bulk/$', GroupMembersBulk.as_view(), name='api-v2.1-group-members-bulk'),
url(r'^api/v2.1/groups/(?P<group_id>\d+)/members/(?P<email>[^/]+)/$', GroupMember.as_view(), name='api-v2.1-group-member'),
2016-08-03 10:17:24 +00:00
url(r'^api/v2.1/search-group/$', SearchGroup.as_view(), name='api-v2.1-search-group'),
2017-04-08 09:55:12 +00:00
## address book
url(r'^api/v2.1/address-book/groups/(?P<group_id>\d+)/sub-groups/$', AddressBookGroupsSubGroups.as_view(), name='api-v2.1-address-book-groups-sub-groups'),
url(r'^api/v2.1/address-book/groups/(?P<group_id>\d+)/search-member/$', AddressBookGroupsSearchMember.as_view(), name='api-v2.1-address-book-search-member'),
url(r'^api/v2.1/group-owned-libraries/(?P<repo_id>[-0-9a-f]{36})/user-folder-permission/$', GroupOwnedLibraryUserFolderPermission.as_view(), name='api-v2.1-group-owned-library-user-folder-permission'),
url(r'^api/v2.1/group-owned-libraries/(?P<repo_id>[-0-9a-f]{36})/group-folder-permission/$', GroupOwnedLibraryGroupFolderPermission.as_view(), name='api-v2.1-group-owned-library-group-folder-permission'),
url(r'^api/v2.1/group-owned-libraries/(?P<repo_id>[-0-9a-f]{36})/user-share/$', GroupOwnedLibraryUserShare.as_view(), name='api-v2.1-group-owned-library-user-share'),
url(r'^api/v2.1/group-owned-libraries/(?P<repo_id>[-0-9a-f]{36})/group-share/$', GroupOwnedLibraryGroupShare.as_view(), name='api-v2.1-group-owned-library-group-share'),
url(r'^api/v2.1/group-owned-libraries/user-share-in-libraries/(?P<repo_id>[-0-9-a-f]{36})/$', GroupOwnedLibraryUserShareInLibrary.as_view(), name='api-v2.1-group-owned-library-user-share-in-library'),
2017-04-08 09:55:12 +00:00
## user::shared-folders
2016-06-30 07:06:43 +00:00
url(r'^api/v2.1/shared-folders/$', SharedFolders.as_view(), name='api-v2.1-shared-folders'),
2017-04-08 09:55:12 +00:00
## user::shared-repos
2016-06-30 07:06:43 +00:00
url(r'^api/v2.1/shared-repos/$', SharedRepos.as_view(), name='api-v2.1-shared-repos'),
url(r'^api/v2.1/shared-repos/(?P<repo_id>[-0-9a-f]{36})/$', SharedRepo.as_view(), name='api-v2.1-shared-repo'),
2017-04-08 09:55:12 +00:00
2017-08-03 05:07:22 +00:00
## user::shared-download-links
url(r'^api/v2.1/share-links/$', ShareLinks.as_view(), name='api-v2.1-share-links'),
2017-02-17 08:49:58 +00:00
url(r'^api/v2.1/share-links/(?P<token>[a-f0-9]+)/$', ShareLink.as_view(), name='api-v2.1-share-link'),
2017-08-03 05:07:22 +00:00
## user::shared-upload-links
url(r'^api/v2.1/upload-links/$', UploadLinks.as_view(), name='api-v2.1-upload-links'),
2017-02-17 08:49:58 +00:00
url(r'^api/v2.1/upload-links/(?P<token>[a-f0-9]+)/$', UploadLink.as_view(), name='api-v2.1-upload-link'),
url(r'^api/v2.1/upload-links/(?P<token>[a-f0-9]+)/upload/$', UploadLinkUpload.as_view(), name='api-v2.1-upload-link-upload'),
2017-04-08 09:55:12 +00:00
2017-07-03 03:51:52 +00:00
## user::revision-tags
url(r'^api/v2.1/revision-tags/tagged-items/$', TaggedItemsView.as_view(), name='api-v2.1-revision-tags-tagged-items'),
url(r'^api/v2.1/revision-tags/tag-names/$', TagNamesView.as_view(), name='api-v2.1-revision-tags-tag-names'),
2017-08-03 05:07:22 +00:00
## user::repos-batch-operate
url(r'^api/v2.1/repos/batch/$', ReposBatchView.as_view(), name='api-v2.1-repos-batch'),
2017-08-03 05:07:22 +00:00
url(r'^api/v2.1/repos/batch-copy-dir/$', ReposBatchCopyDirView.as_view(), name='api-v2.1-repos-batch-copy-dir'),
2017-08-08 08:39:53 +00:00
url(r'^api/v2.1/repos/batch-create-dir/$', ReposBatchCreateDirView.as_view(), name='api-v2.1-repos-batch-create-dir'),
2018-05-28 08:09:56 +00:00
url(r'^api/v2.1/repos/batch-copy-item/$', ReposBatchCopyItemView.as_view(), name='api-v2.1-repos-batch-copy-item'),
url(r'^api/v2.1/repos/batch-move-item/$', ReposBatchMoveItemView.as_view(), name='api-v2.1-repos-batch-move-item'),
2017-08-03 05:07:22 +00:00
## user::deleted repos
url(r'^api/v2.1/deleted-repos/$', DeletedRepos.as_view(), name='api2-v2.1-deleted-repos'),
2017-08-03 05:07:22 +00:00
## user::repos
url(r'^api/v2.1/repos/$', ReposView.as_view(), name='api-v2.1-repos-view'),
2017-08-03 05:07:22 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/$', RepoView.as_view(), name='api-v2.1-repo-view'),
2016-04-28 07:16:58 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/file/$', FileView.as_view(), name='api-v2.1-file-view'),
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/file/history/$', FileHistoryView.as_view(), name='api-v2.1-file-history-view'),
2018-09-12 09:01:48 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/file/new_history/$', NewFileHistoryView.as_view(), name='api-v2.1-new-file-history-view'),
2017-04-08 09:55:12 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/dir/$', DirView.as_view(), name='api-v2.1-dir-view'),
2017-07-04 06:07:26 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/dir/detail/$', DirDetailView.as_view(), name='api-v2.1-dir-detail-view'),
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/trash/$', RepoTrash.as_view(), name='api-v2.1-repo-trash'),
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/history/$', RepoHistory.as_view(), name='api-v2.1-repo-history'),
2017-04-08 09:55:12 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/set-password/$', RepoSetPassword.as_view(), name="api-v2.1-repo-set-password"),
2018-10-17 08:29:58 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/repo-tags/$', RepoTagsView.as_view(), name='api-v2.1-repo-tags'),
2018-11-02 07:34:34 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/repo-tags/(?P<repo_tag_id>\d+)/$', RepoTagView.as_view(), name='api-v2.1-repo-tag'),
2018-11-02 09:51:04 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/file-tags/$', RepoFileTagsView.as_view(), name='api-v2.1-file-tags'),
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/file-tags/(?P<file_tag_id>\d+)/$', RepoFileTagView.as_view(), name='api-v2.1-file-tag'),
# Deprecated
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/tags/$', FileTagsView.as_view(), name="api-v2.1-filetags-view"),
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/tags/(?P<name>.*?)/$', FileTagView.as_view(), name="api-v2.1-filetag-view"),
2017-04-08 09:55:12 +00:00
## user::download-dir-zip-task
2016-07-04 07:31:55 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/zip-task/$', ZipTaskView.as_view(), name='api-v2.1-zip-task'),
2016-08-31 06:34:08 +00:00
url(r'^api/v2.1/repos/(?P<repo_id>[-0-9a-f]{36})/file-uploaded-bytes/$', RepoFileUploadedBytesView.as_view(), name='api-v2.1-repo-file-uploaded-bytes'),
2016-07-04 07:31:55 +00:00
url(r'^api/v2.1/share-link-zip-task/$', ShareLinkZipTaskView.as_view(), name='api-v2.1-share-link-zip-task'),
url(r'^api/v2.1/query-zip-progress/$', QueryZipProgressView.as_view(), name='api-v2.1-query-zip-progress'),
url(r'^api/v2.1/cancel-zip-task/$', CancelZipTaskView.as_view(), name='api-v2.1-cancel-zip-task'),
2016-08-23 09:02:32 +00:00
url(r'^api/v2.1/copy-move-task/$', CopyMoveTaskView.as_view(), name='api-v2.1-copy-move-task'),
2016-08-23 07:55:20 +00:00
url(r'^api/v2.1/query-copy-move-progress/$', QueryCopyMoveProgressView.as_view(), name='api-v2.1-query-copy-move-progress'),
2018-06-13 03:24:43 +00:00
url(r'^api/v2.1/move-folder-merge/$', MoveFolderMergeView.as_view(), name='api-v2.1-move-folder-merge'),
2016-08-19 07:00:10 +00:00
url(r'^api/v2.1/notifications/$', NotificationsView.as_view(), name='api-v2.1-notifications'),
2016-08-19 07:17:46 +00:00
url(r'^api/v2.1/notification/$', NotificationView.as_view(), name='api-v2.1-notification'),
2016-08-23 06:50:05 +00:00
url(r'^api/v2.1/user-enabled-modules/$', UserEnabledModulesView.as_view(), name='api-v2.1-user-enabled-module'),
2016-08-19 04:00:05 +00:00
2017-04-08 09:55:12 +00:00
## user::invitations
url(r'^api/v2.1/invitations/$', InvitationsView.as_view()),
url(r'^api/v2.1/invitations/batch/$', InvitationsBatchView.as_view()),
2017-04-08 09:55:12 +00:00
url(r'^api/v2.1/invitations/(?P<token>[a-f0-9]{32})/$', InvitationView.as_view()),
2017-05-13 08:16:34 +00:00
## user::avatar
url(r'^api/v2.1/user-avatar/$', UserAvatarView.as_view(), name='api-v2.1-user-avatar'),
## user::wiki
url(r'^api/v2.1/wikis/$', WikisView.as_view(), name='api-v2.1-wikis'),
url(r'^api/v2.1/wikis/(?P<slug>[^/]+)/$', WikiView.as_view(), name='api-v2.1-wiki'),
url(r'^api/v2.1/wikis/(?P<slug>[^/]+)/pages/$', WikiPagesView.as_view(), name='api-v2.1-wiki-pages'),
2018-08-06 10:29:12 +00:00
url(r'^api/v2.1/wikis/(?P<slug>[^/]+)/dir/$', WikiPagesDirView.as_view(), name='api-v2.1-wiki-pages-dir'),
url(r'^api/v2.1/wikis/(?P<slug>[^/]+)/content/$', WikiPageContentView.as_view(), name='api-v2.1-wiki-pages-content'),
url(r'^api/v2.1/wikis/(?P<slug>[^/]+)/pages/(?P<page_name>[^/]+)/$', WikiPageView.as_view(), name='api-v2.1-wiki-page'),
2018-09-15 08:14:17 +00:00
## user::drafts
url(r'^api/v2.1/drafts/$', DraftsView.as_view(), name='api-v2.1-drafts'),
url(r'^api/v2.1/drafts/(?P<pk>\d+)/$', DraftView.as_view(), name='api-v2.1-draft'),
2018-10-15 07:51:29 +00:00
## user::reviews
url(r'^api/v2.1/reviews/$', DraftReviewsView.as_view(), name='api-v2.1-draft-reviews'),
url(r'^api/v2.1/review/(?P<pk>\d+)/$', DraftReviewView.as_view(), name='api-v2.1-draft-review'),
2018-11-05 02:33:33 +00:00
url(r'^api/v2.1/review/(?P<pk>\d+)/reviewer/$', DraftReviewReviewerView.as_view(), name='api-v2.1-draft-review-reviewer'),
2018-10-15 07:51:29 +00:00
url(r'^api/v2.1/file-review/$', FileReviewView.as_view(), name='api-v2.1-file-review'),
2018-06-14 07:41:10 +00:00
## user::activities
url(r'^api/v2.1/activities/$', ActivitiesView.as_view(), name='api-v2.1-acitvity'),
2017-04-08 09:55:12 +00:00
## admin::sysinfo
2016-08-19 07:00:10 +00:00
url(r'^api/v2.1/admin/sysinfo/$', SysInfo.as_view(), name='api-v2.1-sysinfo'),
2017-04-08 09:55:12 +00:00
2017-07-03 03:51:52 +00:00
## admin::revision-tags
url(r'^api/v2.1/admin/revision-tags/tagged-items/$', AdminTaggedItemsView.as_view(), name='api-v2.1-admin-revision-tags-tagged-items'),
## admin::statistics
url(r'^api/v2.1/admin/statistics/file-operations/$', FileOperationsView.as_view(), name='api-v2.1-admin-statistics-file-operations'),
url(r'^api/v2.1/admin/statistics/total-storage/$', TotalStorageView.as_view(), name='api-v2.1-admin-statistics-total-storage'),
url(r'^api/v2.1/admin/statistics/active-users/$', ActiveUsersView.as_view(), name='api-v2.1-admin-statistics-active-users'),
url(r'^api/v2.1/admin/statistics/system-traffic/$', SystemTrafficView.as_view(), name='api-v2.1-admin-statistics-system-traffic'),
url(r'^api/v2.1/admin/statistics/system-user-traffic/excel/$', SystemUserTrafficExcelView.as_view(), name='api-v2.1-admin-statistics-system-user-traffic-excel'),
url(r'^api/v2.1/admin/statistics/system-user-storage/excel/$', SystemUserStorageExcelView.as_view(), name='api-v2.1-admin-statistics-system-user-storage-excel'),
2017-08-28 06:52:28 +00:00
## admin::users
url(r'^api/v2.1/admin/users/$', AdminUsers.as_view(), name='api-v2.1-admin-users'),
# [^...] Matches any single character not in brackets
# + Matches between one and unlimited times, as many times as possible
url(r'^api/v2.1/admin/users/(?P<email>[^/]+@[^/]+)/$', AdminUser.as_view(), name='api-v2.1-admin-user'),
2017-08-28 06:52:28 +00:00
2017-04-08 09:55:12 +00:00
## admin::devices
2016-08-19 07:00:10 +00:00
url(r'^api/v2.1/admin/devices/$', AdminDevices.as_view(), name='api-v2.1-admin-devices'),
url(r'^api/v2.1/admin/device-errors/$', AdminDeviceErrors.as_view(), name='api-v2.1-admin-device-errors'),
2017-09-18 06:21:11 +00:00
url(r'^api/v2.1/admin/device-trusted-ip/$', AdminDeviceTrustedIP.as_view(), name='api-v2.1-admin-device-trusted-ip'),
2017-04-08 09:55:12 +00:00
## admin::libraries
2016-05-25 02:45:22 +00:00
url(r'^api/v2.1/admin/libraries/$', AdminLibraries.as_view(), name='api-v2.1-admin-libraries'),
url(r'^api/v2.1/admin/libraries/(?P<repo_id>[-0-9a-f]{36})/$', AdminLibrary.as_view(), name='api-v2.1-admin-library'),
2017-08-01 02:13:13 +00:00
url(r'^api/v2.1/admin/libraries/(?P<repo_id>[-0-9a-f]{36})/history-limit/$', AdminLibraryHistoryLimit.as_view(), name="api-v2.1-admin-library-history-limit"),
2016-05-25 02:45:22 +00:00
url(r'^api/v2.1/admin/libraries/(?P<repo_id>[-0-9a-f]{36})/dirents/$', AdminLibraryDirents.as_view(), name='api-v2.1-admin-library-dirents'),
2017-04-08 09:55:12 +00:00
url(r'^api/v2.1/admin/libraries/(?P<repo_id>[-0-9a-f]{36})/dirent/$', AdminLibraryDirent.as_view(), name='api-v2.1-admin-library-dirent'),
## admin::system-library
url(r'^api/v2.1/admin/system-library/$', AdminSystemLibrary.as_view(), name='api-v2.1-admin-system-library'),
2017-07-03 06:42:12 +00:00
url(r'^api/v2.1/admin/system-library/upload-link/$', AdminSystemLibraryUploadLink.as_view(), name='api-v2.1-admin-system-library-upload-link'),
2017-04-08 09:55:12 +00:00
## admin::default-library
url(r'^api/v2.1/admin/default-library/$', AdminDefaultLibrary.as_view(), name='api-v2.1-admin-default-library'),
## admin::trash-libraries
url(r'^api/v2.1/admin/trash-libraries/$', AdminTrashLibraries.as_view(), name='api-v2.1-admin-trash-libraries'),
url(r'^api/v2.1/admin/trash-libraries/(?P<repo_id>[-0-9a-f]{36})/$', AdminTrashLibrary.as_view(), name='api-v2.1-admin-trash-library'),
## admin::groups
2016-07-20 04:26:54 +00:00
url(r'^api/v2.1/admin/groups/$', AdminGroups.as_view(), name='api-v2.1-admin-groups'),
url(r'^api/v2.1/admin/groups/(?P<group_id>\d+)/$', AdminGroup.as_view(), name='api-v2.1-admin-group'),
2017-02-09 06:59:49 +00:00
url(r'^api/v2.1/admin/groups/(?P<group_id>\d+)/libraries/$', AdminGroupLibraries.as_view(), name='api-v2.1-admin-group-libraries'),
url(r'^api/v2.1/admin/groups/(?P<group_id>\d+)/libraries/(?P<repo_id>[-0-9a-f]{36})/$', AdminGroupLibrary.as_view(), name='api-v2.1-admin-group-library'),
url(r'^api/v2.1/admin/groups/(?P<group_id>\d+)/members/$', AdminGroupMembers.as_view(), name='api-v2.1-admin-group-members'),
url(r'^api/v2.1/admin/groups/(?P<group_id>\d+)/members/(?P<email>[^/]+)/$', AdminGroupMember.as_view(), name='api-v2.1-admin-group-member'),
url(r'^api/v2.1/admin/groups/(?P<group_id>\d+)/group-owned-libraries/$', AdminGroupOwnedLibraries.as_view(), name='api-v2.1-admin-group-owned-libraries'),
url(r'^api/v2.1/admin/groups/(?P<group_id>\d+)/group-owned-libraries/(?P<repo_id>[-0-9a-f]{36})/$', AdminGroupOwnedLibrary.as_view(), name='api-v2.1-admin-owned-group-library'),
2017-04-08 09:55:12 +00:00
## admin::shares
2016-08-16 02:19:56 +00:00
url(r'^api/v2.1/admin/shares/$', AdminShares.as_view(), name='api-v2.1-admin-shares'),
2017-09-09 07:27:04 +00:00
## admin::admin logs
url(r'^api/v2.1/admin/admin-logs/$', AdminOperationLogs.as_view(), name='api-v2.1-admin-admin-operation-logs'),
url(r'^api/v2.1/admin/admin-login-logs/$', AdminLoginLogs.as_view(), name='api-v2.1-admin-admin-login-logs'),
2016-05-25 02:45:22 +00:00
## admin::share-links
url(r'^api/v2.1/admin/share-links/(?P<token>[a-f0-9]+)/$', AdminShareLink.as_view(), name='api-v2.1-admin-share-link'),
url(r'^api/v2.1/admin/share-links/(?P<token>[a-f0-9]+)/download/$',
AdminShareLinkDownload.as_view(), name='api-v2.1-admin-share-link-download'),
url(r'^api/v2.1/admin/share-links/(?P<token>[a-f0-9]+)/check-password/$',
AdminShareLinkCheckPassword.as_view(), name='api-v2.1-admin-share-link-check-password'),
url(r'^api/v2.1/admin/share-links/(?P<token>[a-f0-9]+)/dirents/$',
AdminShareLinkDirents.as_view(), name='api-v2.1-admin-share-link-dirents'),
## admin::upload-links
url(r'^api/v2.1/admin/upload-links/(?P<token>[a-f0-9]+)/$', AdminUploadLink.as_view(), name='api-v2.1-admin-upload-link'),
url(r'^api/v2.1/admin/upload-links/(?P<token>[a-f0-9]+)/upload/$',
AdminUploadLinkUpload.as_view(), name='api-v2.1-admin-upload-link-upload'),
url(r'^api/v2.1/admin/upload-links/(?P<token>[a-f0-9]+)/check-password/$',
AdminUploadLinkCheckPassword.as_view(), name='api-v2.1-admin-upload-link-check-password'),
## admin::users
url(r'^api/v2.1/admin/users/batch/$', AdminUsersBatch.as_view(), name='api-v2.1-admin-users-batch'),
2017-09-09 07:27:04 +00:00
## admin::admin-role
url(r'^api/v2.1/admin/admin-role/$', AdminAdminRole.as_view(), name='api-v2.1-admin-admin-role'),
2017-04-08 09:55:12 +00:00
## admin::organizations
url(r'^api/v2.1/admin/organizations/(?P<org_id>\d+)/$', AdminOrganization.as_view(), name='api-v2.1-admin-organization'),
2017-03-09 08:42:06 +00:00
url(r'^api/v2.1/admin/organizations/(?P<org_id>\d+)/users/$', AdminOrgUsers.as_view(), name='api-v2.1-admin-org-users'),
url(r'^api/v2.1/admin/organizations/(?P<org_id>\d+)/users/(?P<email>[^/]+)/$', AdminOrgUser.as_view(), name='api-v2.1-admin-org-user'),
url(r'^api/v2.1/admin/organizations/(?P<org_id>\d+)/statistics/traffic/$', AdminOrgStatsTraffic.as_view(), name='api-v2.1-admin-org-stats-traffic'),
2017-03-09 08:42:06 +00:00
2017-05-17 08:59:38 +00:00
## admin::logo
url(r'^api/v2.1/admin/logo/$', AdminLogo.as_view(), name='api-v2.1-admin-logo'),
url(r'^api/v2.1/admin/favicon/$', AdminFavicon.as_view(), name='api-v2.1-admin-favicon'),
2017-06-28 06:15:24 +00:00
url(r'^api/v2.1/admin/license/$', AdminLicense.as_view(), name='api-v2.1-admin-license'),
2017-08-25 03:50:50 +00:00
url(r'^api/v2.1/admin/login-background-image/$', AdminLoginBgImage.as_view(), name='api-v2.1-admin-login-background-image'),
2017-05-17 08:59:38 +00:00
## admin::invitations
url(r'^api/v2.1/admin/invitations/$', AdminInvitationsView.as_view(), name='api-v2.1-admin-invitations'),
2017-05-17 08:59:38 +00:00
url(r'^avatar/', include('seahub.avatar.urls')),
url(r'^notification/', include('seahub.notifications.urls')),
url(r'^contacts/', include('seahub.contacts.urls')),
url(r'^group/', include('seahub.group.urls')),
url(r'^options/', include('seahub.options.urls')),
url(r'^profile/', include('seahub.profile.urls')),
url(r'^share/', include('seahub.share.urls')),
url(r'^help/', include('seahub.help.urls')),
url(r'^captcha/', include('captcha.urls')),
url(r'^thumbnail/', include('seahub.thumbnail.urls')),
2016-03-13 01:42:40 +00:00
url(r'^inst/', include('seahub.institutions.urls', app_name='institutions', namespace='institutions')),
2016-05-13 07:34:49 +00:00
url(r'^invite/', include('seahub.invitations.urls', app_name='invitations', namespace='invitations')),
url(r'^terms/', include('termsandconditions.urls')),
url(r'^wikis/', include('seahub.wiki.urls', app_name='wiki', namespace='wiki')),
2018-10-15 07:51:29 +00:00
url(r'^drafts/', include('seahub.drafts.urls', app_name='drafts', namespace='drafts')),
2012-05-23 05:56:17 +00:00
2017-12-23 04:01:57 +00:00
## admin::address book
url(r'^api/v2.1/admin/address-book/groups/$', AdminAddressBookGroups.as_view(), name='api-v2.1-admin-address-book-groups'),
url(r'^api/v2.1/admin/address-book/groups/(?P<group_id>\d+)/$', AdminAddressBookGroup.as_view(), name='api-v2.1-admin-address-book-group'),
2015-01-25 10:47:42 +00:00
### system admin ###
2016-03-16 05:30:00 +00:00
url(r'^sysadmin/$', sysadmin, name='sysadmin'),
url(r'^sys/settings/$', sys_settings, name='sys_settings'),
url(r'^sys/statistic/file/$', sys_statistic_file, name='sys_statistic_file'),
url(r'^sys/statistic/storage/$', sys_statistic_storage, name='sys_statistic_storage'),
url(r'^sys/statistic/user/$', sys_statistic_user, name='sys_statistic_user'),
url(r'^sys/statistic/traffic/$', sys_statistic_traffic, name='sys_statistic_traffic'),
2018-09-27 07:30:33 +00:00
url(r'^sys/statistic/reports/$', sys_statistic_reports, name='sys_statistic_reports'),
url(r'^sysadmin/#all-libs/$', fake_view, name='sys_repo_admin'),
url(r'^sysadmin/#libs/(?P<repo_id>[-0-9a-f]{36})/$', fake_view, name='sys_admin_repo'),
url(r'^sysadmin/#system-lib/$', fake_view, name='sys_list_system'),
url(r'^sysadmin/#trash-libs/$', fake_view, name='sys_repo_trash'),
url(r'^sysadmin/#search-libs/$', fake_view, name='sys_repo_search'),
url(r'^sysadmin/#search-trash-libs/$', fake_view, name='sys_trash_repo_search'),
2017-01-19 09:24:00 +00:00
url(r'^sysadmin/#search-groups/$', fake_view, name='sys_group_search'),
2015-09-25 08:03:51 +00:00
url(r'^sys/seafadmin/delete/(?P<repo_id>[-0-9a-f]{36})/$', sys_repo_delete, name='sys_repo_delete'),
url(r'^sys/useradmin/$', sys_user_admin, name='sys_useradmin'),
url(r'^sys/useradmin/export-excel/$', sys_useradmin_export_excel, name='sys_useradmin_export_excel'),
2014-04-16 09:39:23 +00:00
url(r'^sys/useradmin/ldap/$', sys_user_admin_ldap, name='sys_useradmin_ldap'),
2015-06-26 06:05:39 +00:00
url(r'^sys/useradmin/ldap/imported$', sys_user_admin_ldap_imported, name='sys_useradmin_ldap_imported'),
2014-04-16 09:39:23 +00:00
url(r'^sys/useradmin/admins/$', sys_user_admin_admins, name='sys_useradmin_admins'),
url(r'^sys/groupadmin/export-excel/$', sys_group_admin_export_excel, name='sys_group_admin_export_excel'),
url(r'^sys/orgadmin/$', sys_org_admin, name='sys_org_admin'),
url(r'^sys/orgadmin/search/$', sys_org_search, name='sys_org_search'),
2014-09-26 06:02:19 +00:00
url(r'^sys/orgadmin/(?P<org_id>\d+)/set_quota/$', sys_org_set_quota, name='sys_org_set_quota'),
2014-10-22 02:10:58 +00:00
url(r'^sys/orgadmin/(?P<org_id>\d+)/rename/$', sys_org_rename, name='sys_org_rename'),
2015-09-17 08:14:09 +00:00
url(r'^sys/orgadmin/(?P<org_id>\d+)/remove/$', sys_org_remove, name='sys_org_remove'),
url(r'^sys/orgadmin/(?P<org_id>\d+)/set_member_quota/$', sys_org_set_member_quota, name='sys_org_set_member_quota'),
2014-10-22 02:10:58 +00:00
url(r'^sys/orgadmin/(?P<org_id>\d+)/user/$', sys_org_info_user, name='sys_org_info_user'),
url(r'^sys/orgadmin/(?P<org_id>\d+)/group/$', sys_org_info_group, name='sys_org_info_group'),
url(r'^sys/orgadmin/(?P<org_id>\d+)/library/$', sys_org_info_library, name='sys_org_info_library'),
url(r'^sys/orgadmin/(?P<org_id>\d+)/traffic/$', sys_org_info_traffic, name='sys_org_info_traffic'),
2014-10-22 02:10:58 +00:00
url(r'^sys/orgadmin/(?P<org_id>\d+)/setting/$', sys_org_info_setting, name='sys_org_info_setting'),
2016-03-13 01:42:40 +00:00
url(r'^sys/instadmin/$', sys_inst_admin, name='sys_inst_admin'),
url(r'^sys/instadmin/(?P<inst_id>\d+)/remove/$', sys_inst_remove, name='sys_inst_remove'),
2016-06-08 07:39:12 +00:00
url(r'^sys/instadmin/(?P<inst_id>\d+)/users/$', sys_inst_info_user, name='sys_inst_info_users'),
2017-07-28 05:24:41 +00:00
url(r'^sys/instadmin/(?P<inst_id>\d+)/users/add/$', sys_inst_add_user, name='sys_inst_add_user'),
2016-06-08 07:39:12 +00:00
url(r'^sys/instadmin/(?P<inst_id>\d+)/users/search/$', sys_inst_search_user, name='sys_inst_search_user'),
url(r'^sys/instadmin/(?P<inst_id>\d+)/admins/$', sys_inst_info_admins, name='sys_inst_info_admins'),
2016-03-13 01:42:40 +00:00
url(r'^sys/instadmin/(?P<inst_id>\d+)/toggleadmin/(?P<email>[^/]+)/$', sys_inst_toggle_admin, name='sys_inst_toggle_admin'),
2016-12-21 09:34:17 +00:00
url(r'^sys/instadmin/(?P<inst_id>\d+)/set_quota/$', sys_inst_set_quota, name='sys_inst_set_quota'),
2013-05-25 03:40:40 +00:00
url(r'^sys/publinkadmin/$', sys_publink_admin, name='sys_publink_admin'),
url(r'^sys/publink/remove/$', sys_publink_remove, name='sys_publink_remove'),
url(r'^sys/uploadlinkadmin/$', sys_upload_link_admin, name='sys_upload_link_admin'),
url(r'^sys/uploadlink/remove/$', sys_upload_link_remove, name='sys_upload_link_remove'),
2017-12-13 08:12:08 +00:00
url(r'^sys/link-search/$', sys_link_search, name="sys_link_search"),
url(r'^sys/notificationadmin/', notification_list, name='notification_list'),
2016-08-01 06:38:54 +00:00
url(r'^sys/invitationadmin/$', sys_invitation_admin, name='sys_invitation_admin'),
url(r'^sys/invitationadmin/remove/$', sys_invitation_remove, name='sys_invitation_remove'),
url(r'^sys/sudo/', sys_sudo_mode, name='sys_sudo_mode'),
url(r'^sys/check-license/', sys_check_license, name='sys_check_license'),
url(r'^useradmin/add/$', user_add, name="user_add"),
2015-06-26 06:05:39 +00:00
url(r'^useradmin/remove/(?P<email>[^/]+)/$', user_remove, name="user_remove"),
2015-01-10 04:07:33 +00:00
url(r'^useradmin/removetrial/(?P<user_or_org>[^/]+)/$', remove_trial, name="remove_trial"),
2013-09-07 03:44:21 +00:00
url(r'^useradmin/search/$', user_search, name="user_search"),
2015-06-26 06:05:39 +00:00
url(r'^useradmin/removeadmin/(?P<email>[^/]+)/$', user_remove_admin, name='user_remove_admin'),
url(r'^useradmin/info/(?P<email>[^/]+)/$', user_info, name='user_info'),
2014-07-18 03:52:59 +00:00
url(r'^useradmin/toggle_status/(?P<email>[^/]+)/$', user_toggle_status, name='user_toggle_status'),
2014-07-14 09:48:05 +00:00
url(r'^useradmin/toggle_role/(?P<email>[^/]+)/$', user_toggle_role, name='user_toggle_role'),
url(r'^useradmin/(?P<email>[^/]+)/set_quota/$', user_set_quota, name='user_set_quota'),
url(r'^sys/termsadmin/$', sys_terms_admin, name='sys_terms_admin'),
url(r'^sys/termsadmin/delete/(?P<pk>[^/]+)/$', sys_delete_terms, name='sys_delete_terms'),
2015-06-26 06:05:39 +00:00
url(r'^useradmin/password/reset/(?P<email>[^/]+)/$', user_reset, name='user_reset'),
2014-04-03 07:19:09 +00:00
url(r'^useradmin/batchmakeadmin/$', batch_user_make_admin, name='batch_user_make_admin'),
2014-05-09 09:12:25 +00:00
url(r'^useradmin/batchadduser/$', batch_add_user, name='batch_add_user'),
url(r'^useradmin/batchadduser/example/$', batch_add_user_example, name='batch_add_user_example'),
url(r'^client-login/$', client_token_login, name='client_token_login'),
]
2011-03-19 05:15:02 +00:00
2015-08-17 03:20:00 +00:00
from seahub.utils import EVENTS_ENABLED
if EVENTS_ENABLED:
urlpatterns += [
2015-08-17 03:20:00 +00:00
url(r'^sys/virus_scan_records/$', sys_virus_scan_records, name='sys_virus_scan_records'),
url(r'^sys/virus_scan_records/delete/(?P<vid>\d+)/$', sys_delete_virus_scan_records, name='sys_delete_virus_scan_records'),
]
2015-08-17 03:20:00 +00:00
if settings.SERVE_STATIC:
from django.views.static import serve as static_view
2011-03-19 05:15:02 +00:00
media_url = settings.MEDIA_URL.strip('/')
urlpatterns += [
url(r'^%s/(?P<path>.*)$' % (media_url), static_view,
{'document_root': settings.MEDIA_ROOT}),
]
urlpatterns += [
url(r'^demo/', demo),
]
2013-05-15 05:43:21 +00:00
2014-01-15 08:21:11 +00:00
from seahub.utils import HAS_FILE_SEARCH
if HAS_FILE_SEARCH:
2015-07-11 06:26:43 +00:00
from seahub_extra.search.views import search, pubuser_search
urlpatterns += [
2014-01-15 08:21:11 +00:00
url(r'^search/$', search, name='search'),
2014-01-23 04:13:47 +00:00
url(r'^pubinfo/users/search/$', pubuser_search, name='pubuser_search'),
]
if getattr(settings, 'ENABLE_PAYMENT', False):
urlpatterns += [
url(r'^pay/', include('seahub_extra.pay.urls')),
]
2015-04-27 07:19:01 +00:00
if getattr(settings, 'ENABLE_SYSADMIN_EXTRA', False):
from seahub_extra.sysadmin_extra.views import sys_login_admin, \
sys_log_file_audit, sys_log_file_update, sys_log_perm_audit, \
sys_login_admin_export_excel, sys_log_file_audit_export_excel, \
2016-04-09 06:34:31 +00:00
sys_log_file_update_export_excel, sys_log_perm_audit_export_excel, \
sys_log_email_audit
urlpatterns += [
2017-09-09 07:27:04 +00:00
url(r'^api/v2.1/admin/logs/login/$', LoginLogs.as_view(), name='api-v2.1-admin-logs-login'),
url(r'^sys/loginadmin/$', sys_login_admin, name='sys_login_admin'),
url(r'^sys/loginadmin/export-excel/$', sys_login_admin_export_excel, name='sys_login_admin_export_excel'),
2016-04-12 09:37:16 +00:00
2016-04-14 09:36:50 +00:00
url(r'^api/v2.1/admin/logs/file-audit/$', FileAudit.as_view(), name='api-v2.1-admin-logs-file-audit'),
url(r'^sys/log/fileaudit/$', sys_log_file_audit, name='sys_log_file_audit'),
2016-04-09 06:34:31 +00:00
url(r'^sys/log/emailaudit/$', sys_log_email_audit, name='sys_log_email_audit'),
url(r'^sys/log/fileaudit/export-excel/$', sys_log_file_audit_export_excel, name='sys_log_file_audit_export_excel'),
2016-04-12 09:37:16 +00:00
2016-04-14 09:36:50 +00:00
url(r'^api/v2.1/admin/logs/file-update/$', FileUpdate.as_view(), name='api-v2.1-admin-logs-file-update'),
url(r'^sys/log/fileupdate/$', sys_log_file_update, name='sys_log_file_update'),
url(r'^sys/log/fileupdate/export-excel/$', sys_log_file_update_export_excel, name='sys_log_file_update_export_excel'),
2016-04-12 09:37:16 +00:00
2016-04-14 09:36:50 +00:00
url(r'^api/v2.1/admin/logs/perm-audit/$', PermAudit.as_view(), name='api-v2.1-admin-logs-perm-audit'),
url(r'^sys/log/permaudit/$', sys_log_perm_audit, name='sys_log_perm_audit'),
url(r'^sys/log/permaudit/export-excel/$', sys_log_perm_audit_export_excel, name='sys_log_perm_audit_export_excel'),
]
if getattr(settings, 'MULTI_TENANCY', False):
urlpatterns += [
url(r'^api/v2.1/org/', include('seahub_extra.organizations.api_urls')),
url(r'^org/', include('seahub_extra.organizations.urls')),
]
2015-03-05 06:48:07 +00:00
if getattr(settings, 'ENABLE_SHIB_LOGIN', False):
urlpatterns += [
2016-03-24 08:25:45 +00:00
url(r'^shib-complete/', TemplateView.as_view(template_name='shibboleth/complete.html'), name="shib_complete"),
url(r'^shib-success/', TemplateView.as_view(template_name="shibboleth/success.html"), name="shib_success"),
]
2015-03-05 06:48:07 +00:00
2016-03-24 08:25:45 +00:00
2015-11-17 06:41:10 +00:00
if getattr(settings, 'ENABLE_KRB5_LOGIN', False):
urlpatterns += [
url(r'^krb5-login/', shib_login, name="krb5_login"),
]
2015-11-17 06:41:10 +00:00
# serve office converter static files
2014-11-20 14:53:02 +00:00
from seahub.utils import HAS_OFFICE_CONVERTER, CLUSTER_MODE, OFFICE_CONVERTOR_NODE
if HAS_OFFICE_CONVERTER:
from seahub.views.file import (
office_convert_query_status, office_convert_get_page, office_convert_add_task
)
urlpatterns += [
url(r'^office-convert/static/(?P<repo_id>[-0-9a-f]{36})/(?P<commit_id>[0-9a-f]{40})/(?P<path>.+)/(?P<filename>[^/].+)$',
office_convert_get_page,
name='office_convert_get_page'),
url(r'^office-convert/status/$', office_convert_query_status, name='office_convert_query_status'),
]
2014-02-26 10:24:34 +00:00
2014-11-20 14:53:02 +00:00
if CLUSTER_MODE and OFFICE_CONVERTOR_NODE:
urlpatterns += [
2014-11-20 14:53:02 +00:00
url(r'^office-convert/internal/add-task/$', office_convert_add_task),
url(r'^office-convert/internal/status/$', office_convert_query_status, {'cluster_internal': True}),
url(r'^office-convert/internal/static/(?P<repo_id>[-0-9a-f]{36})/(?P<commit_id>[0-9a-f]{40})/(?P<path>.+)/(?P<filename>[^/].+)$',
office_convert_get_page, {'cluster_internal': True}),
]
2014-11-20 14:53:02 +00:00
2016-12-15 08:34:24 +00:00
if getattr(settings, 'ENABLE_ADFS_LOGIN', False):
from seahub_extra.adfs_auth.views import assertion_consumer_service, \
auth_complete
urlpatterns += [
2016-12-15 08:34:24 +00:00
url(r'^saml2/acs/$', assertion_consumer_service, name='saml2_acs'),
url(r'^saml2/complete/$', auth_complete, name='saml2_complete'),
2018-07-05 02:42:41 +00:00
url(r'^saml2/', include('djangosaml2.urls')),
]
2017-03-31 06:41:11 +00:00
if getattr(settings, 'ENABLE_ONLYOFFICE', False):
from seahub.onlyoffice.views import onlyoffice_editor_callback
urlpatterns += [
2017-03-31 06:41:11 +00:00
url(r'^onlyoffice/editor-callback/$', onlyoffice_editor_callback, name='onlyoffice_editor_callback'),
]
2018-04-11 04:04:22 +00:00
if getattr(settings, 'ENABLE_CAS', False):
from seahub_extra.django_cas_ng.views import login as cas_login
from seahub_extra.django_cas_ng.views import logout as cas_logout
from seahub_extra.django_cas_ng.views import callback as cas_callback
urlpatterns += [
url(r'^accounts/cas-login/$', cas_login, name='cas_ng_login'),
url(r'^accounts/cas-logout/$', cas_logout, name='cas_ng_logout'),
url(r'^accounts/cas-callback/$', cas_callback, name='cas_ng_proxy_callback'),
]