mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-02 23:48:47 +00:00
repair groupownedgroup create bug
This commit is contained in:
@@ -28,9 +28,8 @@ class CreateDepartmentRepoDialog extends React.Component {
|
||||
let isValid = this.validateRepoName();
|
||||
if (isValid) {
|
||||
let repo = this.createRepo(this.state.repoName);
|
||||
this.props.onCreateRepo(repo);
|
||||
this.props.onCreateRepo(repo, 'department');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
handleKeyPress = (e) => {
|
||||
|
@@ -146,6 +146,7 @@ class SharedRepoListItem extends React.Component {
|
||||
|
||||
onItemDelete = () => {
|
||||
// todo
|
||||
this.props.onItemDelete(this.props.repo);
|
||||
}
|
||||
|
||||
toggleShareDialog = () => {
|
||||
|
@@ -8,6 +8,7 @@ const propTypes = {
|
||||
repoList: PropTypes.array.isRequired,
|
||||
isShowTableThread: PropTypes.bool,
|
||||
onItemUnshare: PropTypes.func.isRequired,
|
||||
onItemDelete: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
class SharedRepoListView extends React.Component {
|
||||
@@ -37,6 +38,7 @@ class SharedRepoListView extends React.Component {
|
||||
isItemFreezed={this.state.isItemFreezed}
|
||||
onFreezedItem={this.onFreezedItem}
|
||||
onItemUnshare={this.props.onItemUnshare}
|
||||
onItemDelete={this.props.onItemDelete}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
|
@@ -152,8 +152,27 @@ class GroupView extends React.Component {
|
||||
this.setState({isCreateRepoDialogShow: !this.state.isCreateRepoDialogShow});
|
||||
}
|
||||
|
||||
onCreateRepo = (repo) => {
|
||||
onCreateRepo = (repo, groupOwnerType) => {
|
||||
let groupId = this.props.groupID;
|
||||
if (groupOwnerType && groupOwnerType === 'department') {
|
||||
seafileAPI.createGroupOwnedLibrary(groupId, repo).then(res => { //need modify endpoint api
|
||||
let object = {
|
||||
repo_id: res.data.id,
|
||||
repo_name: res.data.name,
|
||||
owner_email: res.data.owner,
|
||||
permission: res.data.permission,
|
||||
mtime: res.data.mtime,
|
||||
size: res.data.size,
|
||||
encrypted: res.data.encrypted,
|
||||
};
|
||||
let repo = new RepoInfo(object);
|
||||
let repoList = this.addRepoItem(repo);
|
||||
this.setState({repoList: repoList});
|
||||
}).then(() => {
|
||||
//todo
|
||||
});
|
||||
|
||||
} else {
|
||||
seafileAPI.createGroupRepo(groupId, repo).then(res => {
|
||||
let repo = new RepoInfo(res.data);
|
||||
let repoList = this.addRepoItem(repo);
|
||||
@@ -161,9 +180,22 @@ class GroupView extends React.Component {
|
||||
}).catch(() => {
|
||||
//todo
|
||||
});
|
||||
}
|
||||
this.onCreateRepoToggle();
|
||||
}
|
||||
|
||||
onItemDelete = (repo) => {
|
||||
let groupID = this.props.groupID;
|
||||
seafileAPI.deleteGroupOwnedLibrary(groupID, repo.repo_id).then(() => {
|
||||
let repoList = this.state.repoList.filter(item => {
|
||||
return item.repo_id !== repo.repo_id;
|
||||
});
|
||||
this.setState({repoList: repoList});
|
||||
}).catch(() => {
|
||||
// todo;
|
||||
});
|
||||
}
|
||||
|
||||
addRepoItem = (repo) => {
|
||||
let newRepoList = this.state.repoList.map(item => {return item;});
|
||||
newRepoList.push(repo);
|
||||
@@ -232,6 +264,7 @@ class GroupView extends React.Component {
|
||||
repoList={this.state.repoList}
|
||||
currentGroup={this.state.currentGroup}
|
||||
onItemUnshare={this.onItemUnshare}
|
||||
onItemDelete={this.onItemDelete}
|
||||
/>
|
||||
}
|
||||
</div>
|
||||
|
@@ -44,6 +44,18 @@ class RepoListViewPanel extends React.Component {
|
||||
});
|
||||
}
|
||||
|
||||
onItemDelete = (repo) => {
|
||||
let group = this.props.group;
|
||||
seafileAPI.deleteGroupOwnedLibrary(group.id, repo.repo_id).then(() => {
|
||||
let repoList = this.state.repoList.filter(item => {
|
||||
return item.repo_id !== repo.repo_id;
|
||||
});
|
||||
this.setState({repoList: repoList});
|
||||
}).catch(() => {
|
||||
// todo;
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
let group = this.props.group;
|
||||
const emptyTip = <p className="group-item-empty-tip">{gettext('No libraries')}</p>;
|
||||
@@ -60,6 +72,7 @@ class RepoListViewPanel extends React.Component {
|
||||
currentGroup={this.props.group}
|
||||
repoList={this.state.repoList}
|
||||
onItemUnshare={this.onItemUnshare}
|
||||
onItemDelete={this.onItemDelete}
|
||||
/>
|
||||
}
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user