Commit 2ea74112 authored by Juorder Antonio's avatar Juorder Antonio

fix error when paginate, fix display correct total space depends on plan that mailbox has

parent a2fdc008
......@@ -47,7 +47,7 @@ export default class AntiSpam extends React.Component {
break;
}
this.alterDomain(attrs);
this.alterDomain(attrs, action);
}
searchItemToRemove(array, item) {
......@@ -65,12 +65,22 @@ export default class AntiSpam extends React.Component {
const attrs = {};
const isEmail = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
const isDomain = /^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/;
const invalidInput = /ñ/gi;
const target = action === 'black' ? 'lista negra' : 'lista blanca';
let clone = null;
e.preventDefault();
const input = this.refs[`${action}-item`];
const value = input.value.trim();
if (invalidInput.test(value)) {
EventStore.emitMessage({
message: 'El valor de esta lista no puede contener caracteres "Ñ".',
typeError: MessageType.ERROR
});
return false;
}
if (!value || value === '') {
EventStore.emitMessage({
message: `No puede agregar una ${target} vacia.`,
......@@ -91,24 +101,28 @@ export default class AntiSpam extends React.Component {
switch (action) {
case 'black':
this.blackList.push(value);
attrs.amavisBlacklistSender = this.blackList;
clone = this.blackList.slice();
clone.push(value);
attrs.amavisBlacklistSender = clone;
break;
case 'white':
this.whiteList.push(value);
attrs.amavisWhitelistSender = this.whiteList;
clone = this.whiteList.slice();
clone.push(value);
attrs.amavisWhitelistSender = clone;
break;
}
return this.alterDomain(attrs, e.target, input);
return this.alterDomain(attrs, action, e.target, input);
}
alterDomain(attrs, button, input) {
alterDomain(attrs, action, button, input) {
const domain = this.domain;
const hasButton = button || false;
const hasInput = input || false;
let oldContent = null;
let id = null;
let returns;
const key = Object.keys(attrs).pop();
if (hasButton) {
oldContent = button.innerHTML;
......@@ -128,6 +142,15 @@ export default class AntiSpam extends React.Component {
});
}).then((res) => {
DomainStore.setCurrent(res);
returns = res.attrs[key] ? res.attrs[key] : [];
returns = Array.isArray(returns) ? returns : [returns];
if (action === 'black') {
this.blackList = returns;
} else {
this.whiteList = returns;
}
this.setState({
update: true
});
......
......@@ -70,7 +70,7 @@ export default class BlockGeneralInfoMailbox extends React.Component {
if (this.sizeEnabled.hasOwnProperty('attrs') && this.sizeEnabled.attrs.zimbraMailQuota) {
const sizeOfPlan = typeof this.sizeEnabled.attrs.zimbraMailQuota === 'string' ? parseInt(this.sizeEnabled.attrs.zimbraMailQuota, 10) : this.sizeEnabled.attrs.zimbraMailQuota;
sizeEnaled = (sizeOfPlan) ? 'Ilimitado' : bytesConvertor(sizeOfPlan);
sizeEnaled = (sizeOfPlan) ? bytesConvertor(sizeOfPlan) : 'Ilimitado';
}
return (
......
......@@ -30,18 +30,19 @@ export default class Pagination extends React.Component {
}
handleFirst(e) {
e.preventDefault();
browserHistory.push(`/${this.props.url}`);
const url = this.props.url.indexOf('/') > -1 ? this.props.url : `/${this.props.url}`;
browserHistory.push(url);
}
handlePrev(e) {
e.preventDefault();
const prevPage = this.props.currentPage - 1;
const url = this.props.url;
const url = this.props.url.indexOf('/') > -1 ? this.props.url : `/${this.props.url}`;
if (prevPage > 1) {
const page = this.getPageQueryString(prevPage);
browserHistory.push(`/${url}${page}`);
browserHistory.push(`${url}${page}`);
} else {
browserHistory.push(`/${url}`);
browserHistory.push(`${url}`);
}
}
handleChange(e) {
......@@ -58,12 +59,14 @@ export default class Pagination extends React.Component {
handleNext(e) {
e.preventDefault();
const page = this.getPageQueryString(this.props.currentPage + 1);
browserHistory.push(`${this.props.url}${page}`);
const url = this.props.url.indexOf('/') > -1 ? this.props.url : `/${this.props.url}`;
browserHistory.push(`${url}${page}`);
}
handleLast(e) {
e.preventDefault();
const page = this.getPageQueryString(this.props.totalPages);
browserHistory.push(`/${this.props.url}${page}`);
const url = this.props.url.indexOf('/') > -1 ? this.props.url : `/${this.props.url}`;
browserHistory.push(`${url}${page}`);
}
render() {
//let i = 1;
......
......@@ -13,17 +13,25 @@
"plans": {
"basic": {
"statusCos": "btn-success",
"label": "Básica"
"label": "Básica",
"isEnabledToEdit": true
},
"premium": {
"statusCos": "btn-primary2",
"label": "Premium"
"label": "Premium",
"isEnabledToEdit": true
},
"professional": {
"statusCos": "btn-primary",
"label": "Profesional"
"label": "Profesional",
"isEnabledToEdit": true
},
"default": false
"default": false,
"archiving": {
"statusCos": "btn-warning",
"label": "Archiving",
"isEnabledToEdit": false
}
},
"multiFormDomain": {
"hasMailCleaner": false,
......
......@@ -291,7 +291,7 @@ export function getEnabledPlansByCos(cosArray) {
cosArray.forEach((cos) => {
const key = cos.name;
if (configPlans.hasOwnProperty(key) && configPlans[key]) {
if (configPlans.hasOwnProperty(key) && configPlans[key] && configPlans[key].isEnabledToEdit) {
plans[key] = cos.id;
}
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment