From a2cd02f007d4c5a0ff6692173f39f71b7517acd6 Mon Sep 17 00:00:00 2001
From: Ranjiwei <32759763+r350178982@users.noreply.github.com>
Date: Wed, 21 Aug 2024 18:08:34 +0800
Subject: [PATCH 1/2] Admin share permissions (#6603)
* update
* update
* update
* Update urls.py
* Update share-permission-editor.js
---
.../dialog/sysadmin-dialog/sysadmin-share-to-group.js | 2 ++
.../dialog/sysadmin-dialog/sysadmin-share-to-user.js | 2 ++
.../select-editor/share-permission-editor.js | 10 +++++++++-
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-share-to-group.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-share-to-group.js
index 29d710b199..89d32f4811 100644
--- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-share-to-group.js
+++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-share-to-group.js
@@ -50,6 +50,7 @@ class GroupItem extends React.Component {
currentPermission={currentPermission}
permissions={this.props.permissions}
onPermissionChanged={this.onChangeUserPermission}
+ isSysAdmin={true}
/>
@@ -262,6 +263,7 @@ class SysAdminShareToGroup extends React.Component {
currentPermission={this.state.permission}
permissions={this.permissions}
onPermissionChanged={this.setPermission}
+ isSysAdmin={true}
/>
|
diff --git a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-share-to-user.js b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-share-to-user.js
index 61eb470627..a2c330312a 100644
--- a/frontend/src/components/dialog/sysadmin-dialog/sysadmin-share-to-user.js
+++ b/frontend/src/components/dialog/sysadmin-dialog/sysadmin-share-to-user.js
@@ -50,6 +50,7 @@ class UserItem extends React.Component {
currentPermission={currentPermission}
permissions={this.props.permissions}
onPermissionChanged={this.onChangeUserPermission}
+ isSysAdmin={true}
/>
|
@@ -249,6 +250,7 @@ class SysAdminShareToUser extends React.Component {
currentPermission={this.state.permission}
permissions={this.permissions}
onPermissionChanged={this.setPermission}
+ isSysAdmin={true}
/>
|
diff --git a/frontend/src/components/select-editor/share-permission-editor.js b/frontend/src/components/select-editor/share-permission-editor.js
index 8b6c3b4bab..49e67da0d4 100644
--- a/frontend/src/components/select-editor/share-permission-editor.js
+++ b/frontend/src/components/select-editor/share-permission-editor.js
@@ -18,6 +18,7 @@ const propTypes = {
onPermissionChanged: PropTypes.func.isRequired,
enableAddCustomPermission: PropTypes.bool,
onAddCustomPermissionToggle: PropTypes.func,
+ isSysAdmin: PropTypes.bool,
};
class SharePermissionEditor extends React.Component {
@@ -55,7 +56,14 @@ class SharePermissionEditor extends React.Component {
}
listCustomPermissions = () => {
- const { repoID } = this.props;
+ const { repoID, isSysAdmin } = this.props;
+ if (isSysAdmin) {
+ this.setState({
+ isLoading: false,
+ customPermissions: []
+ });
+ return;
+ }
const cacheData = localStorage.getItem(this.CACHE_KEY);
if (cacheData) {
const { permission_list: permissions } = JSON.parse(cacheData);
From ff3d7b8bb7523fc62d5e12f0a74f7329436d21dd Mon Sep 17 00:00:00 2001
From: lian
Date: Thu, 22 Aug 2024 14:46:29 +0800
Subject: [PATCH 2/2] fix encode error for shib institution attr (#6613)
---
thirdpart/shibboleth/middleware.py | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/thirdpart/shibboleth/middleware.py b/thirdpart/shibboleth/middleware.py
index ea1e2a7d49..4ba691050f 100755
--- a/thirdpart/shibboleth/middleware.py
+++ b/thirdpart/shibboleth/middleware.py
@@ -16,8 +16,6 @@ from shibboleth.app_settings import SHIB_ATTRIBUTE_MAP, LOGOUT_SESSION_KEY, \
from seahub import auth
from seahub.base.accounts import User
-from seahub.auth.models import SocialAuthUser
-from seahub.base.sudo_mode import update_sudo_mode_ts
from seahub.profile.models import Profile
from seahub.utils.file_size import get_quota_from_string
from seahub.role_permissions.utils import get_enabled_role_permissions_by_role
@@ -179,7 +177,7 @@ class ShibbolethRemoteUserMiddleware(RemoteUserMiddleware):
p.nickname = nickname.encode("iso-8859-1").decode('utf8')
if institution:
- p.institution = institution
+ p.institution = institution.encode("iso-8859-1").decode('utf8')
if contact_email:
p.contact_email = contact_email
|