From 2f49e2605b41f029650b3d2c51045e8f78704130 Mon Sep 17 00:00:00 2001 From: llj Date: Tue, 25 Aug 2020 14:54:19 +0800 Subject: [PATCH 1/7] [group] fixup (#4655) --- frontend/src/pages/groups/group-view.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/groups/group-view.js b/frontend/src/pages/groups/group-view.js index 48af9c3e3a..c16c351c8d 100644 --- a/frontend/src/pages/groups/group-view.js +++ b/frontend/src/pages/groups/group-view.js @@ -95,9 +95,11 @@ class GroupView extends React.Component { isStaff: isStaff, isDepartmentGroup: isDepartmentGroup, isOwner: isOwner, + currentPage: 1, repoList: [] // empty it for the current group + }, () => { + this.loadRepos(this.state.currentPage); }); - this.loadRepos(this.state.currentPage); }).catch((error) => { this.setState({ isLoading: false, From 20ada50956af6a345516ba95fae01a910c5ff09d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=81=A5=E8=BE=89?= <40563566+jianhw@users.noreply.github.com> Date: Tue, 25 Aug 2020 15:58:07 +0800 Subject: [PATCH 2/7] add try (#4656) --- seahub/api2/endpoints/markdown_lint.py | 35 ++++++++++++++++++-------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/seahub/api2/endpoints/markdown_lint.py b/seahub/api2/endpoints/markdown_lint.py index 61c57f9dcc..eba71f11f3 100644 --- a/seahub/api2/endpoints/markdown_lint.py +++ b/seahub/api2/endpoints/markdown_lint.py @@ -37,23 +37,36 @@ class MarkdownLintView(APIView): logger.error(e) error_msg = 'slate invalid.' return api_error(status.HTTP_400_BAD_REQUEST, error_msg) + try: + document_nodes = slate["document"]["nodes"] + except Exception as e: + logger.error(e) + error_msg = 'slate invalid.' + return api_error(status.HTTP_400_BAD_REQUEST, error_msg) issue_list = [] - document_nodes = slate["document"]["nodes"] - # check h1 - heading_one_issue_list = check_heading_one(document_nodes) - if len(heading_one_issue_list) > 0: - issue_list.extend(heading_one_issue_list) + try: + heading_one_issue_list = check_heading_one(document_nodes) + if len(heading_one_issue_list) > 0: + issue_list.extend(heading_one_issue_list) + except Exception as e: + logger.error('check h1 error: %s' % e) # check heading_end_with - heading_end_issue_list = check_heading_end_with(document_nodes) - if len(heading_end_issue_list) > 0: - issue_list.extend(heading_end_issue_list) + try: + heading_end_issue_list = check_heading_end_with(document_nodes) + if len(heading_end_issue_list) > 0: + issue_list.extend(heading_end_issue_list) + except Exception as e: + logger.error('check heading_end_with error: %s' % e) # check heading_increase - heading_increase_issue_list = check_heading_increase(document_nodes) - if len(heading_increase_issue_list) > 0: - issue_list.extend(heading_increase_issue_list) + try: + heading_increase_issue_list = check_heading_increase(document_nodes) + if len(heading_increase_issue_list) > 0: + issue_list.extend(heading_increase_issue_list) + except Exception as e: + logger.error('check heading_increase error: %s' % e) return Response({"issue_list": issue_list}, status=status.HTTP_200_OK) From af50cbf9a21da9e8e033ea71646a194522344209 Mon Sep 17 00:00:00 2001 From: lian Date: Wed, 26 Aug 2020 11:12:28 +0800 Subject: [PATCH 3/7] disable rest_framework.renderers.BrowsableAPIRenderer (#4657) Co-authored-by: lian --- seahub/settings.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/seahub/settings.py b/seahub/settings.py index 0c1c0913c6..f9a4c910a8 100644 --- a/seahub/settings.py +++ b/seahub/settings.py @@ -467,6 +467,9 @@ CACHES = { # rest_framwork REST_FRAMEWORK = { + 'DEFAULT_RENDERER_CLASSES': [ + 'rest_framework.renderers.JSONRenderer', + ], 'DEFAULT_THROTTLE_RATES': { 'ping': '3000/minute', 'anon': '60/minute', From 7a4c3e54075913330d682eb7570100725a892b16 Mon Sep 17 00:00:00 2001 From: llj Date: Sat, 29 Aug 2020 11:44:32 +0800 Subject: [PATCH 4/7] [file access] modified path link href to fix some problem (#4659) --- seahub/templates/file_access.html | 2 +- seahub/templates/text_diff.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/seahub/templates/file_access.html b/seahub/templates/file_access.html index 855372b805..b014a7bc1c 100644 --- a/seahub/templates/file_access.html +++ b/seahub/templates/file_access.html @@ -10,7 +10,7 @@ {% trans 'Current Path:' %} {% for name, link in zipped %} {% if not forloop.last %} - {{ name }} / + {{ name }} / {% else %} {{ name }} {% endif %} diff --git a/seahub/templates/text_diff.html b/seahub/templates/text_diff.html index fef2876f31..1ac3447739 100644 --- a/seahub/templates/text_diff.html +++ b/seahub/templates/text_diff.html @@ -21,7 +21,7 @@ {% trans "Current Path:" %} {% for name, link in zipped %} {% if not forloop.last %} - {{ name }} / + {{ name }} / {% else %} {{ name }} {% endif %} From 1d85acbc07364a53a5f637ab6482746829cae9ee Mon Sep 17 00:00:00 2001 From: lian Date: Sat, 29 Aug 2020 11:48:23 +0800 Subject: [PATCH 5/7] catch exception when list share links (#4658) Co-authored-by: lian --- seahub/api2/endpoints/share_links.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/seahub/api2/endpoints/share_links.py b/seahub/api2/endpoints/share_links.py index af18886f96..aab97a53d7 100644 --- a/seahub/api2/endpoints/share_links.py +++ b/seahub/api2/endpoints/share_links.py @@ -95,7 +95,12 @@ def get_share_link_info(fileshare): data['can_edit'] = False if repo and path != '/' and not data['is_dir']: - dirent = seafile_api.get_dirent_by_path(repo_id, path) + try: + dirent = seafile_api.get_dirent_by_path(repo_id, path) + except Exception as e: + logger.error(e) + dirent = None + if dirent: try: can_edit, error_msg = can_edit_file(obj_name, dirent.size, repo) @@ -201,8 +206,14 @@ class ShareLinks(APIView): repo_id = fileshare.repo_id if repo_id not in repo_folder_permission_dict: - permission = seafile_api.check_permission_by_path(repo_id, - folder_path, fileshare.username) + + try: + permission = seafile_api.check_permission_by_path(repo_id, + folder_path, fileshare.username) + except Exception as e: + logger.error(e) + permission = '' + repo_folder_permission_dict[repo_id] = permission links_info = [] From 949bdce5c124ed0acf47d9bfa42d046e00dcc341 Mon Sep 17 00:00:00 2001 From: lian Date: Wed, 9 Sep 2020 10:36:27 +0800 Subject: [PATCH 6/7] encode("iso-8859-1") for shibboleth login (#4667) Co-authored-by: lian --- thirdpart/shibboleth/middleware.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/thirdpart/shibboleth/middleware.py b/thirdpart/shibboleth/middleware.py index 63fe398a6a..730112248c 100755 --- a/thirdpart/shibboleth/middleware.py +++ b/thirdpart/shibboleth/middleware.py @@ -156,10 +156,11 @@ class ShibbolethRemoteUserMiddleware(RemoteUserMiddleware): p = Profile(user=user.username) if nickname.strip(): # set nickname when it's not empty - p.nickname = nickname + p.nickname = nickname.encode("iso-8859-1").decode('utf8') if institution: p.institution = institution + if contact_email: p.contact_email = contact_email From e66721c3be4ff4e43e4ff786ecdca3bf876519dc Mon Sep 17 00:00:00 2001 From: lian Date: Wed, 9 Sep 2020 10:37:01 +0800 Subject: [PATCH 7/7] show org user's repo in admin user profile page (#4666) Co-authored-by: lian --- seahub/api2/endpoints/admin/libraries.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/seahub/api2/endpoints/admin/libraries.py b/seahub/api2/endpoints/admin/libraries.py index 8018338a6e..16e5e7ecc2 100644 --- a/seahub/api2/endpoints/admin/libraries.py +++ b/seahub/api2/endpoints/admin/libraries.py @@ -94,7 +94,13 @@ class AdminLibraries(APIView): repos = [] if repo_name and owner: # search by name and owner - owned_repos = seafile_api.get_owned_repo_list(owner) + orgs = ccnet_api.get_orgs_by_user(owner) + if orgs: + org_id = orgs[0].org_id + owned_repos = seafile_api.get_org_owned_repo_list(org_id, owner) + else: + owned_repos = seafile_api.get_owned_repo_list(owner) + for repo in owned_repos: if not repo.name or repo.is_virtual: continue @@ -120,7 +126,13 @@ class AdminLibraries(APIView): elif owner: # search by owner - owned_repos = seafile_api.get_owned_repo_list(owner) + orgs = ccnet_api.get_orgs_by_user(owner) + if orgs: + org_id = orgs[0].org_id + owned_repos = seafile_api.get_org_owned_repo_list(org_id, owner) + else: + owned_repos = seafile_api.get_owned_repo_list(owner) + for repo in owned_repos: if repo.is_virtual: continue