mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-11 11:52:08 +00:00
* add admin log * update * update * update * add org transfer log * optimize * Update file-transfer-log.js * add db_index * add-operator * update * file --> repo * Update mysql.sql * update * update --------- Co-authored-by: 孙永强 <11704063+s-yongqiang@user.noreply.gitee.com> Co-authored-by: r350178982 <32759763+r350178982@users.noreply.github.com>
107 lines
3.8 KiB
JavaScript
107 lines
3.8 KiB
JavaScript
import React, { Component, Fragment } from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import { Link } from '@gatsbyjs/reach-router';
|
|
import { siteRoot, gettext } from '../../utils/constants';
|
|
import MainPanelTopbar from './main-panel-topbar';
|
|
import { Button } from 'reactstrap';
|
|
import ModalPortal from '../../components/modal-portal';
|
|
import OrgLogsExportExcelDialog from '../../components/dialog/org-admin-logs-export-excel-dialog';
|
|
|
|
class OrgLogs extends Component {
|
|
|
|
constructor(props) {
|
|
super(props);
|
|
this.state = {
|
|
isExportExcelDialogOpen: false,
|
|
logType: '',
|
|
};
|
|
}
|
|
|
|
componentDidMount() {
|
|
let href = window.location.href.split('/');
|
|
let logtype = href[href.length - 2];
|
|
if (logtype === 'logadmin') {
|
|
logtype = 'fileaudit';
|
|
}
|
|
this.setState({ logType: logtype });
|
|
}
|
|
|
|
toggleExportExcelDialog = () => {
|
|
this.setState({ isExportExcelDialogOpen: !this.state.isExportExcelDialogOpen });
|
|
};
|
|
tabItemClick = (param) => {
|
|
this.setState({
|
|
logType: param
|
|
});
|
|
this.props.tabItemClick(param);
|
|
};
|
|
|
|
render() {
|
|
const { isExportExcelDialogOpen, logType } = this.state;
|
|
return (
|
|
<Fragment>
|
|
{this.props.currentTab === 'repo-transfer' ?
|
|
<MainPanelTopbar />
|
|
:
|
|
<MainPanelTopbar>
|
|
<Button className="btn btn-secondary operation-item" onClick={this.toggleExportExcelDialog}>{gettext('Export Excel')}</Button>
|
|
</MainPanelTopbar>
|
|
}
|
|
<div className="main-panel-center flex-row">
|
|
<div className="cur-view-container h-100">
|
|
<div className="cur-view-path org-user-nav">
|
|
<ul className="nav">
|
|
<li className="nav-item" onClick={() => this.tabItemClick('fileaudit')}>
|
|
<Link
|
|
className={`nav-link ${this.props.currentTab === 'fileaudit' ? 'active' : ''}`}
|
|
to={siteRoot + 'org/logadmin/'} title={gettext('File Access')}>{gettext('File Access')}
|
|
</Link>
|
|
</li>
|
|
<li className="nav-item" onClick={() => this.tabItemClick('file-update')}>
|
|
<Link
|
|
className={`nav-link ${this.props.currentTab === 'file-update' ? 'active' : ''}`}
|
|
to={siteRoot + 'org/logadmin/file-update/'} title={gettext('File Update')}>{gettext('File Update')}
|
|
</Link>
|
|
</li>
|
|
<li className="nav-item" onClick={() => this.tabItemClick('perm-audit')}>
|
|
<Link
|
|
className={`nav-link ${this.props.currentTab === 'perm-audit' ? 'active' : ''}`}
|
|
to={siteRoot + 'org/logadmin/perm-audit/'} title={gettext('Permission')}>{gettext('Permission')}
|
|
</Link>
|
|
</li>
|
|
<li className="nav-item" onClick={() => this.tabItemClick('repo-transfer')}>
|
|
<Link
|
|
className={`nav-link ${this.props.currentTab === 'repo-transfer' ? 'active' : ''}`}
|
|
to={siteRoot + 'org/logadmin/repo-transfer/'} title={gettext('Repo Transfer')}>{gettext('Repo Transfer')}
|
|
</Link>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div className="h-100 o-auto">
|
|
{this.props.children}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{isExportExcelDialogOpen &&
|
|
<ModalPortal>
|
|
<OrgLogsExportExcelDialog
|
|
logType={logType}
|
|
toggle={this.toggleExportExcelDialog}
|
|
/>
|
|
</ModalPortal>
|
|
}
|
|
</Fragment>
|
|
);
|
|
}
|
|
}
|
|
|
|
const propTypes = {
|
|
currentTab: PropTypes.string.isRequired,
|
|
tabItemClick: PropTypes.func.isRequired,
|
|
children: PropTypes.any.isRequired,
|
|
};
|
|
|
|
OrgLogs.propTypes = propTypes;
|
|
|
|
export default OrgLogs;
|