mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-04 16:31:13 +00:00
fix warnings (#3444)
This commit is contained in:
@@ -3,8 +3,6 @@ import PropTypes from 'prop-types';
|
|||||||
import { Link } from '@reach/router';
|
import { Link } from '@reach/router';
|
||||||
import { UncontrolledTooltip } from 'reactstrap';
|
import { UncontrolledTooltip } from 'reactstrap';
|
||||||
import { siteRoot, gettext } from '../../utils/constants';
|
import { siteRoot, gettext } from '../../utils/constants';
|
||||||
import { seafileAPI } from '../../utils/seafile-api';
|
|
||||||
import FileTag from '../../models/file-tag';
|
|
||||||
import InternalLinkDialog from '../dialog/internal-link-dialog';
|
import InternalLinkDialog from '../dialog/internal-link-dialog';
|
||||||
|
|
||||||
const propTypes = {
|
const propTypes = {
|
||||||
@@ -101,7 +99,7 @@ class DirPath extends React.Component {
|
|||||||
{(this.props.isViewFile && fileTags.length !== 0) &&
|
{(this.props.isViewFile && fileTags.length !== 0) &&
|
||||||
<span id='column-mode-file-tags' className="tag-list tag-list-stacked align-middle ml-1">
|
<span id='column-mode-file-tags' className="tag-list tag-list-stacked align-middle ml-1">
|
||||||
{fileTags.map((fileTag, index) => {
|
{fileTags.map((fileTag, index) => {
|
||||||
return (<span className="file-tag" key={fileTag.id} style={{zIndex: index, backgroundColor: fileTag.color}}></span>)
|
return (<span className="file-tag" key={fileTag.id} style={{zIndex: index, backgroundColor: fileTag.color}}></span>);
|
||||||
})}
|
})}
|
||||||
<UncontrolledTooltip target="column-mode-file-tags" placement="bottom">
|
<UncontrolledTooltip target="column-mode-file-tags" placement="bottom">
|
||||||
{tagTitle}
|
{tagTitle}
|
||||||
|
@@ -40,6 +40,8 @@ const propTypes = {
|
|||||||
isDirentDetailShow: PropTypes.bool.isRequired,
|
isDirentDetailShow: PropTypes.bool.isRequired,
|
||||||
onGridItemClick: PropTypes.func,
|
onGridItemClick: PropTypes.func,
|
||||||
onAddFolder: PropTypes.func.isRequired,
|
onAddFolder: PropTypes.func.isRequired,
|
||||||
|
showDirentDetail: PropTypes.func,
|
||||||
|
onItemRename: PropTypes.func,
|
||||||
};
|
};
|
||||||
|
|
||||||
class DirentGridView extends React.Component{
|
class DirentGridView extends React.Component{
|
||||||
@@ -61,7 +63,7 @@ class DirentGridView extends React.Component{
|
|||||||
isMutipleOperation: false,
|
isMutipleOperation: false,
|
||||||
isGridItemFreezed: false,
|
isGridItemFreezed: false,
|
||||||
activeDirent: null,
|
activeDirent: null,
|
||||||
}
|
};
|
||||||
this.isRepoOwner = props.currentRepoInfo.owner_email === username;
|
this.isRepoOwner = props.currentRepoInfo.owner_email === username;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,7 +178,7 @@ class DirentGridView extends React.Component{
|
|||||||
}
|
}
|
||||||
|
|
||||||
onDetails = (dirent) => {
|
onDetails = (dirent) => {
|
||||||
this.props.onGridItemClick(dirent)
|
this.props.onGridItemClick(dirent);
|
||||||
this.props.showDirentDetail();
|
this.props.showDirentDetail();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -266,7 +268,7 @@ class DirentGridView extends React.Component{
|
|||||||
this.setState({
|
this.setState({
|
||||||
isRenameDialogShow: !this.state.isRenameDialogShow,
|
isRenameDialogShow: !this.state.isRenameDialogShow,
|
||||||
});
|
});
|
||||||
this.props.onItemRename(this.state.activeDirent, newName)
|
this.props.onItemRename(this.state.activeDirent, newName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -310,7 +312,7 @@ class DirentGridView extends React.Component{
|
|||||||
}
|
}
|
||||||
|
|
||||||
closeImagePopup = () => {
|
closeImagePopup = () => {
|
||||||
this.setState({isImagePopupOpen: false})
|
this.setState({isImagePopupOpen: false});
|
||||||
}
|
}
|
||||||
|
|
||||||
moveToPrevImage = () => {
|
moveToPrevImage = () => {
|
||||||
@@ -344,7 +346,7 @@ class DirentGridView extends React.Component{
|
|||||||
}
|
}
|
||||||
|
|
||||||
onGridContainerMouseDown = (event) => {
|
onGridContainerMouseDown = (event) => {
|
||||||
this.onMouseDown(event)
|
this.onMouseDown(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
onGridItemMouseDown = (event) => {
|
onGridItemMouseDown = (event) => {
|
||||||
@@ -358,9 +360,9 @@ class DirentGridView extends React.Component{
|
|||||||
}
|
}
|
||||||
|
|
||||||
onGridContainerContextMenu = (event) => {
|
onGridContainerContextMenu = (event) => {
|
||||||
let id = "dirent-grid-container-menu"
|
let id = 'dirent-grid-container-menu';
|
||||||
let menuList = [TextTranslation.NEW_FOLDER, TextTranslation.NEW_FILE];
|
let menuList = [TextTranslation.NEW_FOLDER, TextTranslation.NEW_FILE];
|
||||||
this.handleContextClick(event, id, menuList);
|
this.handleContextClick(event, id, menuList);
|
||||||
}
|
}
|
||||||
|
|
||||||
onGridItemContextMenu = (event, dirent) => {
|
onGridItemContextMenu = (event, dirent) => {
|
||||||
@@ -377,10 +379,10 @@ class DirentGridView extends React.Component{
|
|||||||
let y = event.clientY || (event.touches && event.touches[0].pageY);
|
let y = event.clientY || (event.touches && event.touches[0].pageY);
|
||||||
|
|
||||||
if (this.props.posX) {
|
if (this.props.posX) {
|
||||||
x -= this.props.posX;
|
x -= this.props.posX;
|
||||||
}
|
}
|
||||||
if (this.props.posY) {
|
if (this.props.posY) {
|
||||||
y -= this.props.posY;
|
y -= this.props.posY;
|
||||||
}
|
}
|
||||||
|
|
||||||
hideMenu();
|
hideMenu();
|
||||||
@@ -414,7 +416,7 @@ class DirentGridView extends React.Component{
|
|||||||
contextmenuList = this.props.showShareBtn ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider'];
|
contextmenuList = this.props.showShareBtn ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider'];
|
||||||
|
|
||||||
if (dirent.type === 'file') {
|
if (dirent.type === 'file') {
|
||||||
contextmenuList = canGenerateShareLink ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider']
|
contextmenuList = canGenerateShareLink ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -508,7 +510,7 @@ class DirentGridView extends React.Component{
|
|||||||
onGridItemClick={this.onGridItemClick}
|
onGridItemClick={this.onGridItemClick}
|
||||||
activeDirent={this.state.activeDirent}
|
activeDirent={this.state.activeDirent}
|
||||||
/>
|
/>
|
||||||
)
|
);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</ul>
|
</ul>
|
||||||
@@ -609,9 +611,10 @@ class DirentGridView extends React.Component{
|
|||||||
</ModalPortal>
|
</ModalPortal>
|
||||||
)}
|
)}
|
||||||
</Fragment>
|
</Fragment>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DirentGridView.propTypes = propTypes;
|
DirentGridView.propTypes = propTypes;
|
||||||
|
|
||||||
export default DirentGridView;
|
export default DirentGridView;
|
@@ -6,7 +6,7 @@ function SessionExpiredTip() {
|
|||||||
<span className="session-expired-tip">{gettext('You are log out.')}{' '}
|
<span className="session-expired-tip">{gettext('You are log out.')}{' '}
|
||||||
<a className="action-link session-expired-link" href={`${loginUrl}?next=${encodeURIComponent(location.href)}`}>{gettext('Login again.')}</a>
|
<a className="action-link session-expired-link" href={`${loginUrl}?next=${encodeURIComponent(location.href)}`}>{gettext('Login again.')}</a>
|
||||||
</span>
|
</span>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default SessionExpiredTip
|
export default SessionExpiredTip;
|
@@ -2,14 +2,14 @@ import React, {Fragment} from 'react';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import {gettext, siteRoot} from '../../utils/constants';
|
import {gettext, siteRoot} from '../../utils/constants';
|
||||||
import InvitationsToolbar from '../../components/toolbar/invitations-toolbar';
|
import InvitationsToolbar from '../../components/toolbar/invitations-toolbar';
|
||||||
import InvitePeopleDialog from "../../components/dialog/invite-people-dialog";
|
import InvitePeopleDialog from '../../components/dialog/invite-people-dialog';
|
||||||
import {seafileAPI} from "../../utils/seafile-api";
|
import {seafileAPI} from '../../utils/seafile-api';
|
||||||
import {Table} from 'reactstrap';
|
import {Table} from 'reactstrap';
|
||||||
import Loading from "../../components/loading";
|
import Loading from '../../components/loading';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import toaster from '../../components/toast';
|
import toaster from '../../components/toast';
|
||||||
|
|
||||||
import "../../css/invitations.css";
|
import '../../css/invitations.css';
|
||||||
|
|
||||||
class InvitationsListItem extends React.Component {
|
class InvitationsListItem extends React.Component {
|
||||||
|
|
||||||
@@ -43,16 +43,14 @@ class InvitationsListItem extends React.Component {
|
|||||||
const invitationItem = this.props.invitation;
|
const invitationItem = this.props.invitation;
|
||||||
const acceptIcon = <i className="sf2-icon-tick invite-accept-icon"></i>;
|
const acceptIcon = <i className="sf2-icon-tick invite-accept-icon"></i>;
|
||||||
const deleteOperation = <i className="action-icon sf2-icon-x3"
|
const deleteOperation = <i className="action-icon sf2-icon-x3"
|
||||||
title={gettext('Delete')}
|
title={gettext('Delete')}
|
||||||
style={!this.state.isOperationShow ? {opacity: 0} : {}}
|
style={!this.state.isOperationShow ? {opacity: 0} : {}}
|
||||||
onClick={this.props.onItemDelete.bind(this, invitationItem.token, this.props.index)}></i>;
|
onClick={this.props.onItemDelete.bind(this, invitationItem.token, this.props.index)}></i>;
|
||||||
return (
|
return (
|
||||||
<tr onMouseEnter={this.onMouseEnter}
|
<tr onMouseEnter={this.onMouseEnter} onMouseOver={this.onMouseOver} onMouseLeave={this.onMouseLeave}>
|
||||||
onMouseOver={this.onMouseOver}
|
|
||||||
onMouseLeave={this.onMouseLeave}>
|
|
||||||
<td>{invitationItem.accepter}</td>
|
<td>{invitationItem.accepter}</td>
|
||||||
<td>{moment(invitationItem.invite_time).format("YYYY-MM-DD")}</td>
|
<td>{moment(invitationItem.invite_time).format('YYYY-MM-DD')}</td>
|
||||||
<td>{moment(invitationItem.expire_time).format("YYYY-MM-DD")}</td>
|
<td>{moment(invitationItem.expire_time).format('YYYY-MM-DD')}</td>
|
||||||
<td>{invitationItem.accept_time && acceptIcon}</td>
|
<td>{invitationItem.accept_time && acceptIcon}</td>
|
||||||
<td>{!invitationItem.accept_time && deleteOperation}</td>
|
<td>{!invitationItem.accept_time && deleteOperation}</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -94,24 +92,24 @@ class InvitationsListView extends React.Component {
|
|||||||
onItemDelete={this.onItemDelete}
|
onItemDelete={this.onItemDelete}
|
||||||
invitation={invitation}
|
invitation={invitation}
|
||||||
index={index}
|
index={index}
|
||||||
/>)
|
/>);
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Table hover>
|
<Table hover>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th width="25%">{gettext('Email')}</th>
|
<th width="25%">{gettext('Email')}</th>
|
||||||
<th width="20%">{gettext('Invite Time')}</th>
|
<th width="20%">{gettext('Invite Time')}</th>
|
||||||
<th width="20%">{gettext('Expiration')}</th>
|
<th width="20%">{gettext('Expiration')}</th>
|
||||||
<th width="18%">{gettext('Accepted')}</th>
|
<th width="18%">{gettext('Accepted')}</th>
|
||||||
<th width="7%"></th>
|
<th width="7%"></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{invitationsListItems}
|
{invitationsListItems}
|
||||||
</tbody>
|
</tbody>
|
||||||
</Table>
|
</Table>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -191,7 +189,7 @@ class InvitationsView extends React.Component {
|
|||||||
<div className="message empty-tip">
|
<div className="message empty-tip">
|
||||||
<h2>{gettext('You have not invited any people.')}</h2>
|
<h2>{gettext('You have not invited any people.')}</h2>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
handlePermissionDenied = () => {
|
handlePermissionDenied = () => {
|
||||||
@@ -200,7 +198,7 @@ class InvitationsView extends React.Component {
|
|||||||
<div className="error mt-6 text-center">
|
<div className="error mt-6 text-center">
|
||||||
<span>{this.state.permissionDeniedMsg}</span>
|
<span>{this.state.permissionDeniedMsg}</span>
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
@@ -240,4 +238,11 @@ class InvitationsView extends React.Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const InvitationsViewPropTypes = {
|
||||||
|
onShowSidePanel: PropTypes.func.isRequired,
|
||||||
|
onSearchedClick: PropTypes.func.isRequired,
|
||||||
|
};
|
||||||
|
|
||||||
|
InvitationsView.propTypes = InvitationsViewPropTypes;
|
||||||
|
|
||||||
export default InvitationsView;
|
export default InvitationsView;
|
||||||
|
@@ -3,9 +3,9 @@ import PropTypes from 'prop-types';
|
|||||||
import { Link } from '@reach/router';
|
import { Link } from '@reach/router';
|
||||||
import Logo from '../../components/logo';
|
import Logo from '../../components/logo';
|
||||||
import { gettext, siteRoot, isPro, isDefaultAdmin, canViewSystemInfo, canViewStatistic,
|
import { gettext, siteRoot, isPro, isDefaultAdmin, canViewSystemInfo, canViewStatistic,
|
||||||
canConfigSystem, canManageLibrary, canManageUser, canManageGroup, canViewUserLog,
|
canConfigSystem, canManageLibrary, canManageUser, canManageGroup, canViewUserLog,
|
||||||
canViewAdminLog, constanceEnabled, multiTenancy, multiInstitution, sysadminExtraEnabled,
|
canViewAdminLog, constanceEnabled, multiTenancy, multiInstitution, sysadminExtraEnabled,
|
||||||
enableGuestInvitation, enableTermsAndConditions, enableFileScan } from '../../utils/constants';
|
enableGuestInvitation, enableTermsAndConditions, enableFileScan } from '../../utils/constants';
|
||||||
|
|
||||||
const propTypes = {
|
const propTypes = {
|
||||||
isSidePanelClosed: PropTypes.bool.isRequired,
|
isSidePanelClosed: PropTypes.bool.isRequired,
|
||||||
@@ -27,7 +27,7 @@ class SidePanel extends React.Component {
|
|||||||
<ul className="nav nav-pills flex-column nav-container">
|
<ul className="nav nav-pills flex-column nav-container">
|
||||||
{canViewSystemInfo &&
|
{canViewSystemInfo &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#dashboard/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#dashboard/'}>
|
||||||
<span className="sf2-icon-info" aria-hidden="true"></span>
|
<span className="sf2-icon-info" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Info')}</span>
|
<span className="nav-text">{gettext('Info')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -35,7 +35,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{isPro && canViewStatistic &&
|
{isPro && canViewStatistic &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/statistic/file/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/statistic/file/'}>
|
||||||
<span className="sf2-icon-histogram" aria-hidden="true"></span>
|
<span className="sf2-icon-histogram" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Statistic')}</span>
|
<span className="nav-text">{gettext('Statistic')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -43,7 +43,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{isDefaultAdmin &&
|
{isDefaultAdmin &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#desktop-devices/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#desktop-devices/'}>
|
||||||
<span className="sf2-icon-monitor" aria-hidden="true"></span>
|
<span className="sf2-icon-monitor" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Devices')}</span>
|
<span className="nav-text">{gettext('Devices')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -51,7 +51,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{constanceEnabled && canConfigSystem &&
|
{constanceEnabled && canConfigSystem &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/settings/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/settings/'}>
|
||||||
<span className="sf2-icon-cog2" aria-hidden="true"></span>
|
<span className="sf2-icon-cog2" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Settings')}</span>
|
<span className="nav-text">{gettext('Settings')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -59,7 +59,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{canManageLibrary &&
|
{canManageLibrary &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#all-libs/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#all-libs/'}>
|
||||||
<span className="sf2-icon-library" aria-hidden="true"></span>
|
<span className="sf2-icon-library" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Libraries')}</span>
|
<span className="nav-text">{gettext('Libraries')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -67,7 +67,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{canManageUser &&
|
{canManageUser &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/useradmin/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/useradmin/'}>
|
||||||
<span className="sf2-icon-user" aria-hidden="true"></span>
|
<span className="sf2-icon-user" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Users')}</span>
|
<span className="nav-text">{gettext('Users')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -75,7 +75,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{canManageGroup &&
|
{canManageGroup &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#groups/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#groups/'}>
|
||||||
<span className="sf2-icon-group" aria-hidden="true"></span>
|
<span className="sf2-icon-group" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Groups')}</span>
|
<span className="nav-text">{gettext('Groups')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -83,7 +83,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{isPro && canManageGroup &&
|
{isPro && canManageGroup &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#address-book/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#address-book/'}>
|
||||||
<span className="sf2-icon-organization" aria-hidden="true"></span>
|
<span className="sf2-icon-organization" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Departments')}</span>
|
<span className="nav-text">{gettext('Departments')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -91,7 +91,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{multiTenancy && isDefaultAdmin &&
|
{multiTenancy && isDefaultAdmin &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/orgadmin/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/orgadmin/'}>
|
||||||
<span className="sf2-icon-organization" aria-hidden="true"></span>
|
<span className="sf2-icon-organization" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Organizations')}</span>
|
<span className="nav-text">{gettext('Organizations')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -99,7 +99,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{multiInstitution && isDefaultAdmin &&
|
{multiInstitution && isDefaultAdmin &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/instadmin/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/instadmin/'}>
|
||||||
<span className="sf2-icon-organization" aria-hidden="true"></span>
|
<span className="sf2-icon-organization" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Institutions')}</span>
|
<span className="nav-text">{gettext('Institutions')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -107,7 +107,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{isDefaultAdmin &&
|
{isDefaultAdmin &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/notificationadmin/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/notificationadmin/'}>
|
||||||
<span className="sf2-icon-msgs" aria-hidden="true"></span>
|
<span className="sf2-icon-msgs" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Notifications')}</span>
|
<span className="nav-text">{gettext('Notifications')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -115,7 +115,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{isDefaultAdmin &&
|
{isDefaultAdmin &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/publinkadmin/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/publinkadmin/'}>
|
||||||
<span className="sf2-icon-link" aria-hidden="true"></span>
|
<span className="sf2-icon-link" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Links')}</span>
|
<span className="nav-text">{gettext('Links')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -123,7 +123,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{sysadminExtraEnabled && canViewUserLog &&
|
{sysadminExtraEnabled && canViewUserLog &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/loginadmin/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/loginadmin/'}>
|
||||||
<span className="sf2-icon-clock" aria-hidden="true"></span>
|
<span className="sf2-icon-clock" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Logs')}</span>
|
<span className="nav-text">{gettext('Logs')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -131,7 +131,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{isPro && isDefaultAdmin && enableFileScan &&
|
{isPro && isDefaultAdmin && enableFileScan &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<Link className='nav-link ellipsis' to={siteRoot + "sys/file-scan-records/"}>
|
<Link className='nav-link ellipsis' to={siteRoot + 'sys/file-scan-records/'}>
|
||||||
<span className="sf2-icon-security" aria-hidden="true"></span>
|
<span className="sf2-icon-security" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('File Scan')}</span>
|
<span className="nav-text">{gettext('File Scan')}</span>
|
||||||
</Link>
|
</Link>
|
||||||
@@ -139,7 +139,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{isPro && isDefaultAdmin &&
|
{isPro && isDefaultAdmin &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/virus_scan_records/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/virus_scan_records/'}>
|
||||||
<span className="sf2-icon-security" aria-hidden="true"></span>
|
<span className="sf2-icon-security" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Virus Scan')}</span>
|
<span className="nav-text">{gettext('Virus Scan')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -147,7 +147,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{enableGuestInvitation && isDefaultAdmin &&
|
{enableGuestInvitation && isDefaultAdmin &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/invitationadmin/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/invitationadmin/'}>
|
||||||
<span className="sf2-icon-invite" aria-hidden="true"></span>
|
<span className="sf2-icon-invite" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Invitations')}</span>
|
<span className="nav-text">{gettext('Invitations')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -155,7 +155,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{isDefaultAdmin && enableTermsAndConditions &&
|
{isDefaultAdmin && enableTermsAndConditions &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sys/termsadmin/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sys/termsadmin/'}>
|
||||||
<span className="sf2-icon-wiki" aria-hidden="true"></span>
|
<span className="sf2-icon-wiki" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Terms and Conditions')}</span>
|
<span className="nav-text">{gettext('Terms and Conditions')}</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -163,7 +163,7 @@ class SidePanel extends React.Component {
|
|||||||
}
|
}
|
||||||
{isPro && canViewAdminLog &&
|
{isPro && canViewAdminLog &&
|
||||||
<li className="nav-item">
|
<li className="nav-item">
|
||||||
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#admin-operation-logs/"}>
|
<a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#admin-operation-logs/'}>
|
||||||
<span className="sf2-icon-admin-log" aria-hidden="true"></span>
|
<span className="sf2-icon-admin-log" aria-hidden="true"></span>
|
||||||
<span className="nav-text">{gettext('Admin Logs')}</span>
|
<span className="nav-text">{gettext('Admin Logs')}</span>
|
||||||
</a>
|
</a>
|
||||||
|
Reference in New Issue
Block a user