Avoid listing without permissions from client side
This commit is contained in:
parent
e8bad80e59
commit
564c0ce4f9
6 changed files with 39 additions and 5 deletions
|
@ -37,6 +37,7 @@ import {getCampaignLabels, ListsSelectorHelper} from "../campaigns/helpers";
|
||||||
import {withComponentMixins} from "../lib/decorator-helpers";
|
import {withComponentMixins} from "../lib/decorator-helpers";
|
||||||
import interoperableErrors from "../../../shared/interoperable-errors";
|
import interoperableErrors from "../../../shared/interoperable-errors";
|
||||||
import {Trans} from "react-i18next";
|
import {Trans} from "react-i18next";
|
||||||
|
import mailtrainConfig from 'mailtrainConfig';
|
||||||
|
|
||||||
@withComponentMixins([
|
@withComponentMixins([
|
||||||
withTranslation,
|
withTranslation,
|
||||||
|
@ -254,6 +255,10 @@ export default class CUD extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
const t = this.props.t;
|
||||||
|
if (!mailtrainConfig.user.admin && !mailtrainConfig.globalPermissions.manageChannels) {
|
||||||
|
this.navigateToWithFlashMessage('/', 'danger', t('permissionDenied')+': manageChannels');
|
||||||
|
}
|
||||||
if (this.props.entity) {
|
if (this.props.entity) {
|
||||||
this.getFormValuesFromEntity(this.props.entity);
|
this.getFormValuesFromEntity(this.props.entity);
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ import {tableAddDeleteButton, tableRestActionDialogInit, tableRestActionDialogRe
|
||||||
import {withComponentMixins} from "../lib/decorator-helpers";
|
import {withComponentMixins} from "../lib/decorator-helpers";
|
||||||
import styles from "./styles.scss";
|
import styles from "./styles.scss";
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
import mailtrainConfig from 'mailtrainConfig';
|
||||||
|
|
||||||
@withComponentMixins([
|
@withComponentMixins([
|
||||||
withTranslation,
|
withTranslation,
|
||||||
|
@ -31,6 +32,13 @@ export default class List extends Component {
|
||||||
permissions: PropTypes.object
|
permissions: PropTypes.object
|
||||||
}
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
const t = this.props.t;
|
||||||
|
if (!mailtrainConfig.user.admin && !mailtrainConfig.globalPermissions.manageChannels) {
|
||||||
|
this.navigateToWithFlashMessage('/', 'danger', t('permissionDenied')+': manageChannels');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const t = this.props.t;
|
const t = this.props.t;
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@ import {FieldWizard, UnsubscriptionMode} from '../../../shared/lists';
|
||||||
import styles from "../lib/styles.scss";
|
import styles from "../lib/styles.scss";
|
||||||
import {getMailerTypes} from "../send-configurations/helpers";
|
import {getMailerTypes} from "../send-configurations/helpers";
|
||||||
import {withComponentMixins} from "../lib/decorator-helpers";
|
import {withComponentMixins} from "../lib/decorator-helpers";
|
||||||
|
import mailtrainConfig from 'mailtrainConfig';
|
||||||
|
|
||||||
@withComponentMixins([
|
@withComponentMixins([
|
||||||
withTranslation,
|
withTranslation,
|
||||||
|
@ -73,6 +74,10 @@ export default class CUD extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
const t = this.props.t;
|
||||||
|
if (!mailtrainConfig.user.admin && !mailtrainConfig.globalPermissions.manageLists) {
|
||||||
|
this.navigateToWithFlashMessage('/', 'danger', t('permissionDenied')+': manageLists');
|
||||||
|
}
|
||||||
if (this.props.entity) {
|
if (this.props.entity) {
|
||||||
this.getFormValuesFromEntity(this.props.entity);
|
this.getFormValuesFromEntity(this.props.entity);
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,13 @@ export default class List extends Component {
|
||||||
tableRestActionDialogInit(this);
|
tableRestActionDialogInit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
const t = this.props.t;
|
||||||
|
if (!mailtrainConfig.user.admin && !mailtrainConfig.globalPermissions.manageLists) {
|
||||||
|
this.navigateToWithFlashMessage('/', 'danger', t('permissionDenied')+': manageLists');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
permissions: PropTypes.object
|
permissions: PropTypes.object
|
||||||
}
|
}
|
||||||
|
@ -118,7 +125,6 @@ export default class List extends Component {
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
{(mailtrainConfig.user.admin || mailtrainConfig.globalPermissions.manageList) ?
|
|
||||||
<div>
|
<div>
|
||||||
{tableRestActionDialogRender(this)}
|
{tableRestActionDialogRender(this)}
|
||||||
<Toolbar>
|
<Toolbar>
|
||||||
|
@ -134,8 +140,7 @@ export default class List extends Component {
|
||||||
|
|
||||||
<Table ref={node => this.table = node} withHeader dataUrl="rest/lists-table" columns={columns} />
|
<Table ref={node => this.table = node} withHeader dataUrl="rest/lists-table" columns={columns} />
|
||||||
</div>
|
</div>
|
||||||
:
|
)
|
||||||
<div><h1>No tienes permisos para manejar listas</h1></div>}
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@ import {getFieldColumn, SubscriptionStatus} from '../../../../shared/lists';
|
||||||
import {getFieldTypes, getSubscriptionStatusLabels} from './helpers';
|
import {getFieldTypes, getSubscriptionStatusLabels} from './helpers';
|
||||||
import moment from 'moment-timezone';
|
import moment from 'moment-timezone';
|
||||||
import {withComponentMixins} from "../../lib/decorator-helpers";
|
import {withComponentMixins} from "../../lib/decorator-helpers";
|
||||||
|
import mailtrainConfig from 'mailtrainConfig';
|
||||||
|
|
||||||
@withComponentMixins([
|
@withComponentMixins([
|
||||||
withTranslation,
|
withTranslation,
|
||||||
|
@ -89,6 +90,11 @@ export default class CUD extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
const t = this.props.t;
|
||||||
|
if (!mailtrainConfig.user.admin && !mailtrainConfig.globalPermissions.manageLists) {
|
||||||
|
this.navigateToWithFlashMessage('/', 'danger', t('permissionDenied')+': manageLists');
|
||||||
|
}
|
||||||
|
|
||||||
if (this.props.entity) {
|
if (this.props.entity) {
|
||||||
this.getFormValuesFromEntity(this.props.entity);
|
this.getFormValuesFromEntity(this.props.entity);
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@ import {
|
||||||
} from "../../lib/modals";
|
} from "../../lib/modals";
|
||||||
import listStyles from "../styles.scss";
|
import listStyles from "../styles.scss";
|
||||||
import {withComponentMixins} from "../../lib/decorator-helpers";
|
import {withComponentMixins} from "../../lib/decorator-helpers";
|
||||||
|
import mailtrainConfig from 'mailtrainConfig';
|
||||||
|
|
||||||
@withComponentMixins([
|
@withComponentMixins([
|
||||||
withTranslation,
|
withTranslation,
|
||||||
|
@ -58,6 +59,10 @@ export default class List extends Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
const t = this.props.t;
|
||||||
|
if (!mailtrainConfig.user.admin && !mailtrainConfig.globalPermissions.manageLists) {
|
||||||
|
this.navigateToWithFlashMessage('/', 'danger', t('permissionDenied')+': manageLists');
|
||||||
|
}
|
||||||
this.populateFormValues({
|
this.populateFormValues({
|
||||||
segment: this.props.segmentId || ''
|
segment: this.props.segmentId || ''
|
||||||
});
|
});
|
||||||
|
@ -188,4 +193,4 @@ export default class List extends Component {
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue