diff --git a/frontend/src/pages/org-admin/org-departments-list.js b/frontend/src/pages/org-admin/org-departments-list.js
index d657d8c83d..80379fbe29 100644
--- a/frontend/src/pages/org-admin/org-departments-list.js
+++ b/frontend/src/pages/org-admin/org-departments-list.js
@@ -20,7 +20,6 @@ class OrgDepartmentsList extends React.Component {
groups: null,
groupID: -1,
groupName: '',
- showAddDepartDialog: false,
showDeleteDepartDialog: false,
showSetGroupQuotaDialog: false,
};
@@ -42,10 +41,6 @@ class OrgDepartmentsList extends React.Component {
}
}
- showAddDepartDialog = () => {
- this.setState({ showAddDepartDialog: true });
- }
-
showDeleteDepartDialog = (group) => {
this.setState({ showDeleteDepartDialog: true, groupID: group.id, groupName: group.name });
}
@@ -56,7 +51,6 @@ class OrgDepartmentsList extends React.Component {
toggleCancel = () => {
this.setState({
- showAddDepartDialog: false,
showDeleteDepartDialog: false,
showSetGroupQuotaDialog: false,
});
@@ -74,16 +68,12 @@ class OrgDepartmentsList extends React.Component {
const groups = this.state.groups;
let isSub = this.props.groupID ? true : false;
let header = isSub ? gettext('Sub-departments') : gettext('Departments');
- let headerButton = isSub ? gettext('New Sub-department') : gettext('New Department');
let noGroup = isSub ? gettext('No sub-departments') : gettext('No departments');
return (
{header}
-
-
-
{groups && groups.length > 0 ?
@@ -115,13 +105,13 @@ class OrgDepartmentsList extends React.Component {
}
- {this.state.showAddDepartDialog && (
+ {this.props.isShowAddDepartDialog && (
)}
From 7c2fb46e31c8743380288c7143706bf5b5b115f8 Mon Sep 17 00:00:00 2001
From: Michael An <1822852997@qq.com>
Date: Tue, 30 Apr 2019 10:28:32 +0800
Subject: [PATCH 2/2] fix-org-member
---
.../dialog/org-add-member-dialog.js | 12 ++--
frontend/src/pages/org-admin/index.js | 16 +++++
frontend/src/pages/org-admin/main-panel.js | 18 ++++--
.../pages/org-admin/org-department-item.js | 64 ++++++++-----------
.../pages/org-admin/org-departments-list.js | 18 ++++--
5 files changed, 70 insertions(+), 58 deletions(-)
diff --git a/frontend/src/components/dialog/org-add-member-dialog.js b/frontend/src/components/dialog/org-add-member-dialog.js
index 136d6faa6d..32cc386ff6 100644
--- a/frontend/src/components/dialog/org-add-member-dialog.js
+++ b/frontend/src/components/dialog/org-add-member-dialog.js
@@ -30,15 +30,13 @@ class AddMemberDialog extends React.Component {
if (!this.state.selectedOption) return;
const email = this.state.selectedOption.email;
this.refs.orgSelect.clearSelect();
- this.setState({ errorMsg: [] });
+ this.setState({ errMessage: [] });
seafileAPI.orgAdminAddDepartGroupUser(orgID, this.props.groupID, email).then((res) => {
- if (res.data.failed) {
- this.setState({ errorMsg: res.data.failed[0] });
+ this.setState({ selectedOption: null });
+ if (res.data.failed.length > 0) {
+ this.setState({ errMessage: res.data.failed[0].error_msg });
}
- this.setState({
- selectedOption: null,
- });
- if (res.data.success) {
+ if (res.data.success.length > 0) {
this.props.onMemberChanged();
this.props.toggle();
}
diff --git a/frontend/src/pages/org-admin/index.js b/frontend/src/pages/org-admin/index.js
index b3115e421f..a9bc4f1992 100644
--- a/frontend/src/pages/org-admin/index.js
+++ b/frontend/src/pages/org-admin/index.js
@@ -35,6 +35,8 @@ class Org extends React.Component {
isShowAddOrgAdminDialog: false,
isInviteUserDialogOpen: false,
isShowAddDepartDialog: false,
+ isShowAddMemberDialog: false,
+ isShowAddRepoDialog: false,
currentTab: 'users',
};
}
@@ -75,6 +77,14 @@ class Org extends React.Component {
this.setState({ isShowAddDepartDialog: !this.state.isShowAddDepartDialog});
}
+ toggleAddMemberDialog = () => {
+ this.setState({ isShowAddMemberDialog: !this.state.isShowAddMemberDialog });
+ }
+
+ toggleAddRepoDialog = () => {
+ this.setState({ isShowAddRepoDialog: !this.state.isShowAddRepoDialog });
+ }
+
render() {
let { isSidePanelClosed, currentTab, isShowAddOrgUserDialog, isShowAddOrgAdminDialog, isInviteUserDialogOpen } = this.state;
let href = window.location.href;
@@ -91,6 +101,8 @@ class Org extends React.Component {
toggleAddOrgUser={this.toggleAddOrgUser}
toggleInviteUserDialog={this.toggleInviteUserDialog}
toggleAddDepartDialog={this.toggleAddDepartDialog}
+ toggleAddMemberDialog={this.toggleAddMemberDialog}
+ toggleAddRepoDialog={this.toggleAddRepoDialog}
>
@@ -117,6 +129,10 @@ class Org extends React.Component {
path={newPath}
isShowAddDepartDialog={this.state.isShowAddDepartDialog}
toggleAddDepartDialog={this.toggleAddDepartDialog}
+ isShowAddMemberDialog={this.state.isShowAddMemberDialog}
+ toggleAddMemberDialog={this.toggleAddMemberDialog}
+ isShowAddRepoDialog={this.state.isShowAddRepoDialog}
+ toggleAddRepoDialog={this.toggleAddRepoDialog}
/>
@@ -46,10 +47,17 @@ class MainPanel extends Component {
{gettext('Add admin')}
}
- {(this.props.currentTab === 'departmentadmin' && !groupID) &&
-
+ {this.props.currentTab === 'departmentadmin' &&
+
+ {!groupID && }
+ {groupID && }
+ {groupID && }
+ {groupID && }
+
}
diff --git a/frontend/src/pages/org-admin/org-department-item.js b/frontend/src/pages/org-admin/org-department-item.js
index 75ec873e56..b32003aae5 100644
--- a/frontend/src/pages/org-admin/org-department-item.js
+++ b/frontend/src/pages/org-admin/org-department-item.js
@@ -2,7 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { seafileAPI } from '../../utils/seafile-api';
import { Utils } from '../../utils/utils.js';
-import { serviceURL, mediaUrl, gettext, orgID } from '../../utils/constants';
+import { serviceURL, gettext, orgID } from '../../utils/constants';
import OrgDepartmentsList from './org-departments-list';
import ModalPortal from '../../components/modal-portal';
import AddMemberDialog from '../../components/dialog/org-add-member-dialog';
@@ -23,14 +23,12 @@ class OrgDepartmentItem extends React.Component {
ancestorGroups: [],
deletedMember: {},
deletedRepo: {},
- showAddMemberDialog: false,
showDeleteMemberDialog: false,
- showAddRepoDialog: false,
showDeleteRepoDialog: false,
isItemFreezed: false,
groupID: null,
groupName: '',
- }
+ };
}
listOrgGroupRepo = (groupID) => {
@@ -52,27 +50,17 @@ class OrgDepartmentItem extends React.Component {
});
}
- showAddMemberDialog = () => {
- this.setState({ showAddMemberDialog: true });
- }
-
showDeleteMemberDialog = (member) => {
this.setState({ showDeleteMemberDialog: true, deletedMember: member });
}
- showAddRepoDialog = () => {
- this.setState({ showAddRepoDialog: true });
- }
-
showDeleteRepoDialog = (repo) => {
this.setState({ showDeleteRepoDialog: true, deletedRepo: repo });
}
toggleCancel = () => {
this.setState({
- showAddMemberDialog: false,
showDeleteMemberDialog: false,
- showAddRepoDialog: false,
showDeleteRepoDialog: false,
});
}
@@ -124,12 +112,6 @@ class OrgDepartmentItem extends React.Component {
{this.state.groupID &&
{' / '}{this.state.groupName}}
- {this.state.groupID &&
-
-
-
- }
@@ -145,12 +127,9 @@ class OrgDepartmentItem extends React.Component {
{gettext('Members')}
-
-
-