1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-15 23:00:57 +00:00

[folder perm] modification for department repo

This commit is contained in:
llj
2019-05-17 09:14:26 +08:00
parent 31a5e955cc
commit 32eac3f826
2 changed files with 33 additions and 8 deletions

View File

@@ -124,7 +124,10 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
listGroupPermissionItems = () => {
const { isDepartmentRepo, repoID, folderPath } = this.props;
seafileAPI.listGroupFolderPerm(isDepartmentRepo, repoID, folderPath).then((res) => {
const request = isDepartmentRepo ?
seafileAPI.listDepartmentRepoGroupFolderPerm(repoID, folderPath) :
seafileAPI.listGroupFolderPerm(repoID, folderPath);
request.then((res) => {
if (res.data.length !== 0) {
this.setState({
groupPermissionItems: res.data
@@ -144,7 +147,10 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
return false;
}
seafileAPI.addGroupFolderPerm(this.props.isDepartmentRepo, this.props.repoID, this.state.permission, folderPath, selectedOption.id).then(res => {
const request = this.props.isDepartmentRepo ?
seafileAPI.addDepartmentRepoGroupFolderPerm(this.props.repoID, this.state.permission, folderPath, selectedOption.id) :
seafileAPI.addGroupFolderPerm(this.props.repoID, this.state.permission, folderPath, selectedOption.id)
request.then(res => {
let errorMsg = [];
if (res.data.failed.length > 0) {
for (let i = 0; i < res.data.failed.length; i++) {
@@ -177,7 +183,10 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
}
deleteGroupPermissionItem = (item) => {
seafileAPI.deleteGroupFolderPerm(this.props.isDepartmentRepo, item.repo_id, item.permission, item.folder_path, item.group_id).then(() => {
const request = this.props.isDepartmentRepo ?
seafileAPI.deleteDepartmentRepoGroupFolderPerm(item.repo_id, item.permission, item.folder_path, item.group_id) :
seafileAPI.deleteGroupFolderPerm(item.repo_id, item.permission, item.folder_path, item.group_id)
request.then(() => {
this.setState({
groupPermissionItems: this.state.groupPermissionItems.filter(deletedItem => { return deletedItem != item; })
});
@@ -185,7 +194,10 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
}
onChangeGroupPermission = (item, permission) => {
seafileAPI.updateGroupFolderPerm(this.props.isDepartmentRepo, item.repo_id, permission, item.folder_path, item.group_id).then(() => {
const request = this.props.isDepartmentRepo ?
seafileAPI.updateDepartmentRepoGroupFolderPerm(item.repo_id, permission, item.folder_path, item.group_id) :
seafileAPI.updateGroupFolderPerm(item.repo_id, permission, item.folder_path, item.group_id);
request.then(() => {
this.updateGroupPermission(item, permission);
});
}

View File

@@ -102,7 +102,10 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
componentDidMount() {
const {repoID, folderPath, isDepartmentRepo} = this.props;
seafileAPI.listUserFolderPerm(isDepartmentRepo, repoID, folderPath).then((res) => {
const request = isDepartmentRepo ?
seafileAPI.listDepartmentRepoUserFolderPerm(repoID, folderPath) :
seafileAPI.listUserFolderPerm(repoID, folderPath);
request.then((res) => {
if (res.data.length !== 0) {
this.setState({userFolderPermItems: res.data});
}
@@ -121,7 +124,11 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
}
const users = selectedUsers.map((item, index) => item.email);
seafileAPI.addUserFolderPerm(this.props.isDepartmentRepo, this.props.repoID, this.state.permission, folderPath, users).then(res => {
const request = this.props.isDepartmentRepo ?
seafileAPI.addDepartmentRepoUserFolderPerm(this.props.repoID, this.state.permission, folderPath, users) :
seafileAPI.addUserFolderPerm(this.props.repoID, this.state.permission, folderPath, users);
request.then(res => {
let errorMsg = [];
if (res.data.failed.length > 0) {
for (let i = 0; i < res.data.failed.length; i++) {
@@ -154,7 +161,10 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
}
deleteUserFolderPermItem = (item) => {
seafileAPI.deleteUserFolderPerm(this.props.isDepartmentRepo, item.repo_id, item.permission, item.folder_path, item.user_email).then(res => {
const request = this.props.isDepartmentRepo ?
seafileAPI.deleteDepartmentRepoUserFolderPerm(item.repo_id, item.permission, item.folder_path, item.user_email) :
seafileAPI.deleteUserFolderPerm(item.repo_id, item.permission, item.folder_path, item.user_email);
request.then(res => {
this.setState({
userFolderPermItems: this.state.userFolderPermItems.filter(deletedItem => {
return deletedItem != item;
@@ -164,7 +174,10 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
}
onChangeUserFolderPerm = (repoID, permission, folderPath, userEmail) => {
seafileAPI.updateUserFolderPerm(this.props.isDepartmentRepo, repoID, permission, folderPath, userEmail).then(res => {
const request = this.props.isDepartmentRepo ?
seafileAPI.updateDepartmentRepoUserFolderPerm(repoID, permission, folderPath, userEmail) :
seafileAPI.updateUserFolderPerm(repoID, permission, folderPath, userEmail);
request.then(res => {
let userFolderPermItems = this.state.userFolderPermItems.map(item => {
if (item.user_email === userEmail && item.folder_path === folderPath) {
item.permission = permission;