diff --git a/frontend/src/components/dialog/generate-upload-link.js b/frontend/src/components/dialog/generate-upload-link.js index f0b09a57fd..4185c48157 100644 --- a/frontend/src/components/dialog/generate-upload-link.js +++ b/frontend/src/components/dialog/generate-upload-link.js @@ -9,7 +9,6 @@ import { Utils } from '../../utils/utils'; import UploadLink from '../../models/upload-link'; import toaster from '../toast'; import SendLink from '../send-link'; -import SessionExpiredTip from '../session-expired-tip'; const propTypes = { itemPath: PropTypes.string.isRequired, @@ -45,13 +44,11 @@ class GenerateUploadLink extends React.Component { this.setState({sharedUploadInfo: sharedUploadInfo}); } }).catch((err) => { - if (err.response.status === 403) { - toaster.danger( - , - {id: 'session_expired', duration: 3600} - ); - this.props.closeShareDialog(); + let errMsg = Utils.getErrorMsg(err, true); + if (!err.response || err.response.status !== 403) { + toaster.danger(errMsg); } + this.props.closeShareDialog(); }); } diff --git a/frontend/src/components/permission-denied-tip.js b/frontend/src/components/permission-denied-tip.js index a5b6aa6cd1..f1f1f5450e 100644 --- a/frontend/src/components/permission-denied-tip.js +++ b/frontend/src/components/permission-denied-tip.js @@ -2,10 +2,12 @@ import React from 'react'; import { gettext, loginUrl } from '../utils/constants'; function PermissionDeniedTip() { + let reloginUrl = `${loginUrl}?next=${encodeURIComponent(location.href)}`; + let errorTip = gettext('Permission denied. Plaese try {placeholder-left}login again.{placeholder-right}'); + errorTip = errorTip.replace('{placeholder-left}', '') + errorTip = errorTip.replace('{placeholder-right}', ''); return( - {gettext('Permission denied. Please try')}{' '} - {gettext('login again.')} - + ); } diff --git a/frontend/src/components/session-expired-tip.js b/frontend/src/components/session-expired-tip.js deleted file mode 100644 index 4f3221c77a..0000000000 --- a/frontend/src/components/session-expired-tip.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import { gettext, loginUrl } from '../utils/constants'; - -function SessionExpiredTip() { - return( - {gettext('You are logged out.')}{' '} - {gettext('Login again.')} - - ); -} - -export default SessionExpiredTip; \ No newline at end of file diff --git a/frontend/src/pages/groups/group-view.js b/frontend/src/pages/groups/group-view.js index ed60cc384e..c0d33ed33e 100644 --- a/frontend/src/pages/groups/group-view.js +++ b/frontend/src/pages/groups/group-view.js @@ -96,7 +96,7 @@ class GroupView extends React.Component { }).catch((error) => { this.setState({ isLoading: false, - errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403 + errMessage: Utils.getErrorMsg(error, true) // true: show login tip if 403 }); }); } @@ -115,7 +115,7 @@ class GroupView extends React.Component { }).catch((error) => { this.setState({ isLoading: false, - errorMsg: Utils.getErrorMsg(error, true) // true: show login tip if 403 + errMessage: Utils.getErrorMsg(error, true) // true: show login tip if 403 }); }); } @@ -507,7 +507,7 @@ class GroupView extends React.Component {
{this.state.isLoading && } - {(!this.state.isLoading && errMessage) && errMessage} + {(!this.state.isLoading && errMessage) &&
{errMessage}
} {(!this.state.isLoading && this.state.repoList.length === 0) && emptyTip} {(!this.state.isLoading && this.state.repoList.length > 0) &&
{this.state.isLoading && } - {(!this.state.isLoading && this.state.errorMsg) && this.state.errorMsg} + {(!this.state.isLoading && this.state.errorMsg) &&
{this.state.errorMsg}
} {(!this.state.isLoading && !this.state.errorMsg && this.state.groupList.length == 0) && emptyTip} {!this.state.isLoading && this.state.groupList.map((group, index) => { return ( diff --git a/frontend/src/pages/lib-content-view/lib-content-view.js b/frontend/src/pages/lib-content-view/lib-content-view.js index c37648d143..f708bc0834 100644 --- a/frontend/src/pages/lib-content-view/lib-content-view.js +++ b/frontend/src/pages/lib-content-view/lib-content-view.js @@ -18,7 +18,6 @@ import LibDecryptDialog from '../../components/dialog/lib-decrypt-dialog'; import LibContentToolbar from './lib-content-toolbar'; import LibContentContainer from './lib-content-container'; import FileUploader from '../../components/file-uploader/file-uploader'; -import SessionExpiredTip from '../../components/session-expired-tip'; const propTypes = { pathPrefix: PropTypes.array.isRequired, @@ -449,11 +448,9 @@ class LibContentView extends React.Component { }); }); }).catch((err) => { - if (err.response.status === 403) { - toaster.danger( - , - {id: 'session_expired', duration: 3600} - ); + let errMsg = Utils.getErrorMsg(err, true); + if (!err.response || err.response.status !== 403) { + toaster.danger(errMsg); } this.setState({ isFileLoading: false, @@ -496,11 +493,8 @@ class LibContentView extends React.Component { this.getThumbnails(repoID, path, this.state.direntList); } }).catch((err) => { - if (err.response.status === 403) { - toaster.danger( - , - {id: 'session_expired', duration: 3600} - ); + Utils.getErrorMsg(err, true); + if (err.response && err.response.status === 403) { this.setState({isDirentListLoading: false}); return; } diff --git a/frontend/src/utils/utils.js b/frontend/src/utils/utils.js index e4471525a4..2b35753d24 100644 --- a/frontend/src/utils/utils.js +++ b/frontend/src/utils/utils.js @@ -981,7 +981,6 @@ export const Utils = { , {id: 'permission_denied', duration: 3600} ); - return; } errorMsg = gettext('Permission denied'); } else if (error.response.data &&