1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-08 02:23:44 +00:00

[folder perm] added it for department repo

This commit is contained in:
llj 2019-05-16 17:28:04 +08:00
parent 8f54bbf6ff
commit 31a5e955cc
3 changed files with 16 additions and 16 deletions

View File

@ -53,10 +53,10 @@ class LibSubFolderPermissionDialog extends React.Component {
<div className="share-dialog-main"> <div className="share-dialog-main">
<TabContent activeTab={this.state.activeTab}> <TabContent activeTab={this.state.activeTab}>
<TabPane tabId="userPermission"> <TabPane tabId="userPermission">
<LibSubFolderSetUserPermissionDialog repoID={this.props.repoID} repoName={this.props.repoName} folderPath={this.props.folderPath} /> <LibSubFolderSetUserPermissionDialog repoID={this.props.repoID} repoName={this.props.repoName} folderPath={this.props.folderPath} isDepartmentRepo={this.props.isDepartmentRepo} />
</TabPane> </TabPane>
<TabPane tabId="groupPermission"> <TabPane tabId="groupPermission">
<LibSubFolderSetGroupPermissionDialog repoID={this.props.repoID} repoName={this.props.repoName} folderPath={this.props.folderPath} /> <LibSubFolderSetGroupPermissionDialog repoID={this.props.repoID} repoName={this.props.repoName} folderPath={this.props.folderPath} isDepartmentRepo={this.props.isDepartmentRepo} />
</TabPane> </TabPane>
</TabContent> </TabContent>
</div> </div>

View File

@ -71,7 +71,8 @@ class GroupItem extends React.Component {
} }
const propTypes = { const propTypes = {
repoID: PropTypes.string.isRequired repoID: PropTypes.string.isRequired,
isDepartmentRepo: PropTypes.bool
}; };
const NoOptionsMessage = (props) => { const NoOptionsMessage = (props) => {
@ -122,9 +123,8 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
} }
listGroupPermissionItems = () => { listGroupPermissionItems = () => {
let repoID = this.props.repoID; const { isDepartmentRepo, repoID, folderPath } = this.props;
let folderPath = this.props.folderPath; seafileAPI.listGroupFolderPerm(isDepartmentRepo, repoID, folderPath).then((res) => {
seafileAPI.listGroupFolderPerm(repoID, folderPath).then((res) => {
if (res.data.length !== 0) { if (res.data.length !== 0) {
this.setState({ this.setState({
groupPermissionItems: res.data groupPermissionItems: res.data
@ -144,7 +144,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
return false; return false;
} }
seafileAPI.addGroupFolderPerm(this.props.repoID, this.state.permission, folderPath, selectedOption.id).then(res => { seafileAPI.addGroupFolderPerm(this.props.isDepartmentRepo, this.props.repoID, this.state.permission, folderPath, selectedOption.id).then(res => {
let errorMsg = []; let errorMsg = [];
if (res.data.failed.length > 0) { if (res.data.failed.length > 0) {
for (let i = 0; i < res.data.failed.length; i++) { for (let i = 0; i < res.data.failed.length; i++) {
@ -177,7 +177,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
} }
deleteGroupPermissionItem = (item) => { deleteGroupPermissionItem = (item) => {
seafileAPI.deleteGroupFolderPerm(item.repo_id, item.permission, item.folder_path, item.group_id).then(() => { seafileAPI.deleteGroupFolderPerm(this.props.isDepartmentRepo, item.repo_id, item.permission, item.folder_path, item.group_id).then(() => {
this.setState({ this.setState({
groupPermissionItems: this.state.groupPermissionItems.filter(deletedItem => { return deletedItem != item; }) groupPermissionItems: this.state.groupPermissionItems.filter(deletedItem => { return deletedItem != item; })
}); });
@ -185,7 +185,7 @@ class LibSubFolderSerGroupPermissionDialog extends React.Component {
} }
onChangeGroupPermission = (item, permission) => { onChangeGroupPermission = (item, permission) => {
seafileAPI.updateGroupFolderPerm(item.repo_id, permission, item.folder_path, item.group_id).then(() => { seafileAPI.updateGroupFolderPerm(this.props.isDepartmentRepo, item.repo_id, permission, item.folder_path, item.group_id).then(() => {
this.updateGroupPermission(item, permission); this.updateGroupPermission(item, permission);
}); });
} }

View File

@ -72,7 +72,8 @@ class UserItem extends React.Component {
const propTypes = { const propTypes = {
repoID: PropTypes.string.isRequired repoID: PropTypes.string.isRequired,
isDepartmentRepo: PropTypes.bool
}; };
@ -100,9 +101,8 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
} }
componentDidMount() { componentDidMount() {
let repoID = this.props.repoID; const {repoID, folderPath, isDepartmentRepo} = this.props;
let folderPath = this.props.folderPath; seafileAPI.listUserFolderPerm(isDepartmentRepo, repoID, folderPath).then((res) => {
seafileAPI.listUserFolderPerm(repoID, folderPath).then((res) => {
if (res.data.length !== 0) { if (res.data.length !== 0) {
this.setState({userFolderPermItems: res.data}); this.setState({userFolderPermItems: res.data});
} }
@ -121,7 +121,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
} }
const users = selectedUsers.map((item, index) => item.email); const users = selectedUsers.map((item, index) => item.email);
seafileAPI.addUserFolderPerm(this.props.repoID, this.state.permission, folderPath, users).then(res => { seafileAPI.addUserFolderPerm(this.props.isDepartmentRepo, this.props.repoID, this.state.permission, folderPath, users).then(res => {
let errorMsg = []; let errorMsg = [];
if (res.data.failed.length > 0) { if (res.data.failed.length > 0) {
for (let i = 0; i < res.data.failed.length; i++) { for (let i = 0; i < res.data.failed.length; i++) {
@ -154,7 +154,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
} }
deleteUserFolderPermItem = (item) => { deleteUserFolderPermItem = (item) => {
seafileAPI.deleteUserFolderPerm(item.repo_id, item.permission, item.folder_path, item.user_email).then(res => { seafileAPI.deleteUserFolderPerm(this.props.isDepartmentRepo, item.repo_id, item.permission, item.folder_path, item.user_email).then(res => {
this.setState({ this.setState({
userFolderPermItems: this.state.userFolderPermItems.filter(deletedItem => { userFolderPermItems: this.state.userFolderPermItems.filter(deletedItem => {
return deletedItem != item; return deletedItem != item;
@ -164,7 +164,7 @@ class LibSubFolderSetUserPermissionDialog extends React.Component {
} }
onChangeUserFolderPerm = (repoID, permission, folderPath, userEmail) => { onChangeUserFolderPerm = (repoID, permission, folderPath, userEmail) => {
seafileAPI.updateUserFolderPerm(repoID, permission, folderPath, userEmail).then(res => { seafileAPI.updateUserFolderPerm(this.props.isDepartmentRepo, repoID, permission, folderPath, userEmail).then(res => {
let userFolderPermItems = this.state.userFolderPermItems.map(item => { let userFolderPermItems = this.state.userFolderPermItems.map(item => {
if (item.user_email === userEmail && item.folder_path === folderPath) { if (item.user_email === userEmail && item.folder_path === folderPath) {
item.permission = permission; item.permission = permission;