 |
- {item.name} |
+ |
{item.role == 'Owner' ?
gettext('Owner') :
diff --git a/frontend/src/pages/sys-admin/groups/group-repos.js b/frontend/src/pages/sys-admin/groups/group-repos.js
index 8ecf9aa592..c419bdfdb3 100644
--- a/frontend/src/pages/sys-admin/groups/group-repos.js
+++ b/frontend/src/pages/sys-admin/groups/group-repos.js
@@ -7,6 +7,7 @@ import EmptyTip from '../../../components/empty-tip';
import Loading from '../../../components/loading';
import CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import GroupNav from './group-nav';
const { enableSysAdminViewRepo } = window.sysadmin.pageOptions;
@@ -121,7 +122,7 @@ class Item extends Component {
| {this.renderRepoName()} |
{Utils.bytesToSize(item.size)} |
- {item.shared_by_name}
+
|
diff --git a/frontend/src/pages/sys-admin/groups/groups.js b/frontend/src/pages/sys-admin/groups/groups.js
index 70ff63a834..d8d7856634 100644
--- a/frontend/src/pages/sys-admin/groups/groups.js
+++ b/frontend/src/pages/sys-admin/groups/groups.js
@@ -13,6 +13,7 @@ import CommonOperationConfirmationDialog from '../../../components/dialog/common
import SysAdminCreateGroupDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-create-group-dialog';
import SysAdminTransferGroupDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-group-transfer-dialog';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import OpMenu from './op-menu';
class Content extends Component {
@@ -182,7 +183,7 @@ class Item extends Component {
|
{item.owner == 'system admin' ?
'--' :
- {item.owner_name}
+
}
|
diff --git a/frontend/src/pages/sys-admin/institutions/institution-admins.js b/frontend/src/pages/sys-admin/institutions/institution-admins.js
index d9e11a3446..089e932e8e 100644
--- a/frontend/src/pages/sys-admin/institutions/institution-admins.js
+++ b/frontend/src/pages/sys-admin/institutions/institution-admins.js
@@ -2,11 +2,12 @@ import React, { Component, Fragment } from 'react';
import moment from 'moment';
import { Utils } from '../../../utils/utils';
import { seafileAPI } from '../../../utils/seafile-api';
-import { siteRoot, loginUrl, gettext } from '../../../utils/constants';
+import { loginUrl, gettext } from '../../../utils/constants';
import toaster from '../../../components/toast';
import EmptyTip from '../../../components/empty-tip';
import Loading from '../../../components/loading';
import CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';
+import UserLink from '../user-link';
import MainPanelTopbar from '../main-panel-topbar';
import InstitutionNav from './institution-nav';
import OpMenu from './user-op-menu';
@@ -142,7 +143,9 @@ class Item extends Component {
return (
- {item.name} |
+
+
+ |
{item.is_active ? gettext('Active') : gettext('Inactive')}
|
@@ -224,7 +227,7 @@ class InstitutionAdmins extends Component {
revokeAdmin = (email) => {
seafileAPI.sysAdminUpdateInstitutionUser(this.props.institutionID, email, false).then(res => {
let userList = this.state.userList.filter(user => {
- return user.email != email
+ return user.email != email;
});
this.setState({userList: userList});
toaster.success(gettext('Success'));
diff --git a/frontend/src/pages/sys-admin/institutions/institution-users.js b/frontend/src/pages/sys-admin/institutions/institution-users.js
index 0c542ea109..86b5ad6bf5 100644
--- a/frontend/src/pages/sys-admin/institutions/institution-users.js
+++ b/frontend/src/pages/sys-admin/institutions/institution-users.js
@@ -3,15 +3,16 @@ import { Button } from 'reactstrap';
import moment from 'moment';
import { Utils } from '../../../utils/utils';
import { seafileAPI } from '../../../utils/seafile-api';
-import { siteRoot, loginUrl, gettext } from '../../../utils/constants';
+import { loginUrl, gettext } from '../../../utils/constants';
import toaster from '../../../components/toast';
import EmptyTip from '../../../components/empty-tip';
import Loading from '../../../components/loading';
+import Paginator from '../../../components/paginator';
import AddMemberDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-institution-member-dialog';
import CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';
+import UserLink from '../user-link';
import MainPanelTopbar from '../main-panel-topbar';
import InstitutionNav from './institution-nav';
-import Paginator from '../../../components/paginator';
import OpMenu from './user-op-menu';
class Content extends Component {
@@ -175,7 +176,9 @@ class Item extends Component {
return (
- {item.name} |
+
+
+ |
{item.is_active ? gettext('Active') : gettext('Inactive')}
|
diff --git a/frontend/src/pages/sys-admin/invitations/invitations.js b/frontend/src/pages/sys-admin/invitations/invitations.js
index 562228af8b..1b4c49c4fb 100644
--- a/frontend/src/pages/sys-admin/invitations/invitations.js
+++ b/frontend/src/pages/sys-admin/invitations/invitations.js
@@ -10,6 +10,7 @@ import EmptyTip from '../../../components/empty-tip';
import Loading from '../../../components/loading';
import Paginator from '../../../components/paginator';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import OpMenu from './op-menu';
class Content extends Component {
@@ -174,11 +175,11 @@ class Item extends Component {
- {item.inviter_name}
+
|
{item.accept_time ?
- {item.accepter_name} :
+ :
item.accepter_email
}
|
diff --git a/frontend/src/pages/sys-admin/links/share-links.js b/frontend/src/pages/sys-admin/links/share-links.js
index 366fbcdb07..04f556f529 100644
--- a/frontend/src/pages/sys-admin/links/share-links.js
+++ b/frontend/src/pages/sys-admin/links/share-links.js
@@ -9,7 +9,7 @@ import Loading from '../../../components/loading';
import Paginator from '../../../components/paginator';
import LinksNav from './links-nav';
import MainPanelTopbar from '../main-panel-topbar';
-
+import UserLink from '../user-link';
class Content extends Component {
@@ -111,7 +111,7 @@ class Item extends Component {
{item.obj_name} |
{item.token} |
- {item.creator_name} |
+ |
{moment(item.ctime).fromNow()} |
{item.view_cnt} |
diff --git a/frontend/src/pages/sys-admin/links/upload-links.js b/frontend/src/pages/sys-admin/links/upload-links.js
index 18c092ba71..de8a55889c 100644
--- a/frontend/src/pages/sys-admin/links/upload-links.js
+++ b/frontend/src/pages/sys-admin/links/upload-links.js
@@ -9,6 +9,7 @@ import Loading from '../../../components/loading';
import Paginator from '../../../components/paginator';
import LinksNav from './links-nav';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
class Content extends Component {
@@ -112,7 +113,7 @@ class Item extends Component {
|
{item.path} |
{item.token} |
- {item.creator_name} |
+ |
{moment(item.ctime).fromNow()} |
{item.view_cnt} |
diff --git a/frontend/src/pages/sys-admin/logs-page/file-access-logs.js b/frontend/src/pages/sys-admin/logs-page/file-access-logs.js
index 51202131c8..36c730fa45 100644
--- a/frontend/src/pages/sys-admin/logs-page/file-access-logs.js
+++ b/frontend/src/pages/sys-admin/logs-page/file-access-logs.js
@@ -8,6 +8,7 @@ import Loading from '../../../components/loading';
import Paginator from '../../../components/paginator';
import LogsNav from './logs-nav';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import LogsExportExcelDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-logs-export-excel-dialog';
import ModalPortal from '../../../components/modal-portal';
@@ -103,7 +104,7 @@ class Item extends Component {
let { item } = this.props;
return (
|
- {item.name} |
+ |
{item.event_type} |
{item.ip}{' / '}{item.device} |
{moment(item.time).fromNow()} |
diff --git a/frontend/src/pages/sys-admin/logs-page/file-update-logs.js b/frontend/src/pages/sys-admin/logs-page/file-update-logs.js
index 7e112b2081..42e5a1f872 100644
--- a/frontend/src/pages/sys-admin/logs-page/file-update-logs.js
+++ b/frontend/src/pages/sys-admin/logs-page/file-update-logs.js
@@ -8,6 +8,7 @@ import Paginator from '../../../components/paginator';
import LogsNav from './logs-nav';
import { Button } from 'reactstrap';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import ModalPortal from '../../../components/modal-portal';
import CommitDetails from '../../../components/dialog/commit-details';
import LogsExportExcelDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-logs-export-excel-dialog';
@@ -117,7 +118,7 @@ class Item extends Component {
return (
- {item.name} |
+ |
{moment(item.time).fromNow()} |
{item.repo_name ? item.repo_name : gettext('Deleted')} |
diff --git a/frontend/src/pages/sys-admin/logs-page/login-logs.js b/frontend/src/pages/sys-admin/logs-page/login-logs.js
index 671d76ae22..d7422c73ac 100644
--- a/frontend/src/pages/sys-admin/logs-page/login-logs.js
+++ b/frontend/src/pages/sys-admin/logs-page/login-logs.js
@@ -9,6 +9,7 @@ import Loading from '../../../components/loading';
import Paginator from '../../../components/paginator';
import LogsNav from './logs-nav';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import LogsExportExcelDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-logs-export-excel-dialog';
import ModalPortal from '../../../components/modal-portal';
@@ -102,7 +103,7 @@ class Item extends Component {
let { item } = this.props;
return (
|
- {item.name} |
+ |
{item.login_ip} |
{item.log_success ? gettext('Success') : gettext('Failed')} |
{moment(item.login_time).fromNow()} |
diff --git a/frontend/src/pages/sys-admin/logs-page/share-permission-logs.js b/frontend/src/pages/sys-admin/logs-page/share-permission-logs.js
index 602bfe1d9d..ca54143879 100644
--- a/frontend/src/pages/sys-admin/logs-page/share-permission-logs.js
+++ b/frontend/src/pages/sys-admin/logs-page/share-permission-logs.js
@@ -9,6 +9,7 @@ import Loading from '../../../components/loading';
import Paginator from '../../../components/paginator';
import LogsNav from './logs-nav';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import LogsExportExcelDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-logs-export-excel-dialog';
import ModalPortal from '../../../components/modal-portal';
@@ -116,8 +117,8 @@ class Item extends Component {
let { item } = this.props;
return (
- {item.from_user_name} |
- {item.to_user_name} |
+ |
+ |
{this.getActionTextByEType(item.etype)} |
{Utils.sharePerms(item.permission)} |
{item.repo_name ? item.repo_name : gettext('Deleted')} |
diff --git a/frontend/src/pages/sys-admin/orgs/org-groups.js b/frontend/src/pages/sys-admin/orgs/org-groups.js
index 233a610502..35ea136b6f 100644
--- a/frontend/src/pages/sys-admin/orgs/org-groups.js
+++ b/frontend/src/pages/sys-admin/orgs/org-groups.js
@@ -8,6 +8,7 @@ import EmptyTip from '../../../components/empty-tip';
import Loading from '../../../components/loading';
import CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import OrgNav from './org-nav';
class Content extends Component {
@@ -101,7 +102,7 @@ class Item extends Component {
{item.group_name} |
- {item.creator_name} |
+ |
{moment(item.created_at).format('YYYY-MM-DD hh:mm:ss')} |
diff --git a/frontend/src/pages/sys-admin/orgs/org-repos.js b/frontend/src/pages/sys-admin/orgs/org-repos.js
index 78afbe43aa..91514a9be5 100644
--- a/frontend/src/pages/sys-admin/orgs/org-repos.js
+++ b/frontend/src/pages/sys-admin/orgs/org-repos.js
@@ -7,6 +7,7 @@ import EmptyTip from '../../../components/empty-tip';
import Loading from '../../../components/loading';
import CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import OrgNav from './org-nav';
class Content extends Component {
@@ -103,7 +104,7 @@ class Item extends Component {
| {item.repo_id} |
{item.owner_email ?
- {item.owner_name} :
+ :
'--'
}
|
diff --git a/frontend/src/pages/sys-admin/orgs/org-users.js b/frontend/src/pages/sys-admin/orgs/org-users.js
index 9c16eb1c46..876238b28f 100644
--- a/frontend/src/pages/sys-admin/orgs/org-users.js
+++ b/frontend/src/pages/sys-admin/orgs/org-users.js
@@ -11,6 +11,7 @@ import SysAdminUserStatusEditor from '../../../components/select-editor/sysadmin
import SysAdminAddUserDialog from '../../../components/dialog/sysadmin-dialog/sysadmin-add-user-dialog';
import CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import OrgNav from './org-nav';
import OpMenu from './user-op-menu';
@@ -170,7 +171,7 @@ class Item extends Component {
return (
- {item.name} |
+ |
{item.org_name} |
- {item.creator_name} |
+
+
+ |
{isGroupOwnedRepo ?
{repo.group_name} :
- {repo.owner_name}
+
}
|
diff --git a/frontend/src/pages/sys-admin/repos/trash-repos.js b/frontend/src/pages/sys-admin/repos/trash-repos.js
index 0362efc223..c16aad7f1f 100644
--- a/frontend/src/pages/sys-admin/repos/trash-repos.js
+++ b/frontend/src/pages/sys-admin/repos/trash-repos.js
@@ -1,15 +1,16 @@
import React, { Component, Fragment } from 'react';
import { Button } from 'reactstrap';
-import { seafileAPI } from '../../../utils/seafile-api';
-import { gettext ,siteRoot } from '../../../utils/constants';
-import toaster from '../../../components/toast';
-import { Utils } from '../../../utils/utils';
-import EmptyTip from '../../../components/empty-tip';
import moment from 'moment';
+import { Utils } from '../../../utils/utils';
+import { seafileAPI } from '../../../utils/seafile-api';
+import { gettext } from '../../../utils/constants';
+import toaster from '../../../components/toast';
+import EmptyTip from '../../../components/empty-tip';
import Loading from '../../../components/loading';
import Paginator from '../../../components/paginator';
import ModalPortal from '../../../components/modal-portal';
import CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';
+import UserLink from '../user-link';
import ReposNav from './repos-nav';
import MainPanelTopbar from '../main-panel-topbar';
@@ -155,7 +156,8 @@ class Item extends Component {
| {repo.name} |
{repo.owner.indexOf('@seafile_group') == -1 ?
- {repo.owner_name} : repo.group_name}
+ :
+ repo.group_name}
|
{moment(repo.delete_time).fromNow()} |
diff --git a/frontend/src/pages/sys-admin/user-link.js b/frontend/src/pages/sys-admin/user-link.js
new file mode 100644
index 0000000000..fb0ff02c7f
--- /dev/null
+++ b/frontend/src/pages/sys-admin/user-link.js
@@ -0,0 +1,20 @@
+import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import { Link } from '@reach/router';
+import { siteRoot } from '../../utils/constants';
+
+const propTypes = {
+ email: PropTypes.string.isRequired,
+ name: PropTypes.string.isRequired
+};
+
+class UserLink extends Component {
+
+ render() {
+ return {this.props.name};
+ }
+}
+
+UserLink.propTypes = propTypes;
+
+export default UserLink;
diff --git a/frontend/src/pages/sys-admin/users/ldap-users.js b/frontend/src/pages/sys-admin/users/ldap-users.js
index dfaaac2440..478b2ccadd 100644
--- a/frontend/src/pages/sys-admin/users/ldap-users.js
+++ b/frontend/src/pages/sys-admin/users/ldap-users.js
@@ -9,6 +9,7 @@ import Loading from '../../../components/loading';
import Paginator from '../../../components/paginator';
import UsersNav from './users-nav';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
class Content extends Component {
@@ -84,9 +85,7 @@ class Item extends Component {
return (
-
- {item.email}
- |
+ |
{`${Utils.bytesToSize(item.quota_usage)} / ${item.quota_total > 0 ? Utils.bytesToSize(item.quota_total) : '--'}`}
|
diff --git a/frontend/src/pages/sys-admin/users/user-shared-repos.js b/frontend/src/pages/sys-admin/users/user-shared-repos.js
index 98077e6f1d..ef97d47dac 100644
--- a/frontend/src/pages/sys-admin/users/user-shared-repos.js
+++ b/frontend/src/pages/sys-admin/users/user-shared-repos.js
@@ -10,6 +10,7 @@ import Loading from '../../../components/loading';
import CommonOperationConfirmationDialog from '../../../components/dialog/common-operation-confirmation-dialog';
import TransferDialog from '../../../components/dialog/transfer-dialog';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import Nav from './user-nav';
import OpMenu from './user-op-menu';
@@ -82,17 +83,17 @@ class Item extends Component {
}
}
- getOwnerUrl = () => {
- let url;
+ getOwnerLink = () => {
+ let link;
const { item } = this.props;
const index = item.owner_email.indexOf('@seafile_group');
if (index == -1) {
- url = `${siteRoot}sys/users/${encodeURIComponent(item.owner_email)}/`;
+ link = ;
} else {
const groupID = item.owner_email.substring(0, index);
- url = `${siteRoot}sys/departments/${groupID}/`;
+ link = {item.owner_name};
}
- return url;
+ return link;
}
render() {
@@ -104,7 +105,7 @@ class Item extends Component {
 |
{this.renderRepoName()} |
- {item.owner_name} |
+ {this.getOwnerLink()} |
{Utils.bytesToSize(item.size)} |
{moment(item.last_modify).fromNow()} |
diff --git a/frontend/src/pages/sys-admin/users/users.js b/frontend/src/pages/sys-admin/users/users.js
index d7e8d4459f..2cf00ed047 100644
--- a/frontend/src/pages/sys-admin/users/users.js
+++ b/frontend/src/pages/sys-admin/users/users.js
@@ -20,6 +20,7 @@ import CommonOperationConfirmationDialog from '../../../components/dialog/common
import SysAdminUser from '../../../models/sysadmin-user';
import SysAdminAdminUser from '../../../models/sysadmin-admin-user';
import MainPanelTopbar from '../main-panel-topbar';
+import UserLink from '../user-link';
import UsersNav from './users-nav';
import OpMenu from './user-op-menu';
@@ -333,7 +334,7 @@ class Item extends Component {
|
- {item.name}
+
{item.contact_email &&
| | |