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 { ...@@ -47,7 +47,7 @@ export default class AntiSpam extends React.Component {
break; break;
} }
this.alterDomain(attrs); this.alterDomain(attrs, action);
} }
searchItemToRemove(array, item) { searchItemToRemove(array, item) {
...@@ -65,12 +65,22 @@ export default class AntiSpam extends React.Component { ...@@ -65,12 +65,22 @@ export default class AntiSpam extends React.Component {
const attrs = {}; 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 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 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'; const target = action === 'black' ? 'lista negra' : 'lista blanca';
let clone = null;
e.preventDefault(); e.preventDefault();
const input = this.refs[`${action}-item`]; const input = this.refs[`${action}-item`];
const value = input.value.trim(); 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 === '') { if (!value || value === '') {
EventStore.emitMessage({ EventStore.emitMessage({
message: `No puede agregar una ${target} vacia.`, message: `No puede agregar una ${target} vacia.`,
...@@ -91,24 +101,28 @@ export default class AntiSpam extends React.Component { ...@@ -91,24 +101,28 @@ export default class AntiSpam extends React.Component {
switch (action) { switch (action) {
case 'black': case 'black':
this.blackList.push(value); clone = this.blackList.slice();
attrs.amavisBlacklistSender = this.blackList; clone.push(value);
attrs.amavisBlacklistSender = clone;
break; break;
case 'white': case 'white':
this.whiteList.push(value); clone = this.whiteList.slice();
attrs.amavisWhitelistSender = this.whiteList; clone.push(value);
attrs.amavisWhitelistSender = clone;
break; 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 domain = this.domain;
const hasButton = button || false; const hasButton = button || false;
const hasInput = input || false; const hasInput = input || false;
let oldContent = null; let oldContent = null;
let id = null; let id = null;
let returns;
const key = Object.keys(attrs).pop();
if (hasButton) { if (hasButton) {
oldContent = button.innerHTML; oldContent = button.innerHTML;
...@@ -128,6 +142,15 @@ export default class AntiSpam extends React.Component { ...@@ -128,6 +142,15 @@ export default class AntiSpam extends React.Component {
}); });
}).then((res) => { }).then((res) => {
DomainStore.setCurrent(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({ this.setState({
update: true update: true
}); });
......
...@@ -70,7 +70,7 @@ export default class BlockGeneralInfoMailbox extends React.Component { ...@@ -70,7 +70,7 @@ export default class BlockGeneralInfoMailbox extends React.Component {
if (this.sizeEnabled.hasOwnProperty('attrs') && this.sizeEnabled.attrs.zimbraMailQuota) { 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; 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 ( return (
......
...@@ -30,18 +30,19 @@ export default class Pagination extends React.Component { ...@@ -30,18 +30,19 @@ export default class Pagination extends React.Component {
} }
handleFirst(e) { handleFirst(e) {
e.preventDefault(); 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) { handlePrev(e) {
e.preventDefault(); e.preventDefault();
const prevPage = this.props.currentPage - 1; 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) { if (prevPage > 1) {
const page = this.getPageQueryString(prevPage); const page = this.getPageQueryString(prevPage);
browserHistory.push(`/${url}${page}`); browserHistory.push(`${url}${page}`);
} else { } else {
browserHistory.push(`/${url}`); browserHistory.push(`${url}`);
} }
} }
handleChange(e) { handleChange(e) {
...@@ -58,12 +59,14 @@ export default class Pagination extends React.Component { ...@@ -58,12 +59,14 @@ export default class Pagination extends React.Component {
handleNext(e) { handleNext(e) {
e.preventDefault(); e.preventDefault();
const page = this.getPageQueryString(this.props.currentPage + 1); 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) { handleLast(e) {
e.preventDefault(); e.preventDefault();
const page = this.getPageQueryString(this.props.totalPages); 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() { render() {
//let i = 1; //let i = 1;
......
...@@ -13,17 +13,25 @@ ...@@ -13,17 +13,25 @@
"plans": { "plans": {
"basic": { "basic": {
"statusCos": "btn-success", "statusCos": "btn-success",
"label": "Básica" "label": "Básica",
"isEnabledToEdit": true
}, },
"premium": { "premium": {
"statusCos": "btn-primary2", "statusCos": "btn-primary2",
"label": "Premium" "label": "Premium",
"isEnabledToEdit": true
}, },
"professional": { "professional": {
"statusCos": "btn-primary", "statusCos": "btn-primary",
"label": "Profesional" "label": "Profesional",
"isEnabledToEdit": true
}, },
"default": false "default": false,
"archiving": {
"statusCos": "btn-warning",
"label": "Archiving",
"isEnabledToEdit": false
}
}, },
"multiFormDomain": { "multiFormDomain": {
"hasMailCleaner": false, "hasMailCleaner": false,
......
...@@ -291,7 +291,7 @@ export function getEnabledPlansByCos(cosArray) { ...@@ -291,7 +291,7 @@ export function getEnabledPlansByCos(cosArray) {
cosArray.forEach((cos) => { cosArray.forEach((cos) => {
const key = cos.name; const key = cos.name;
if (configPlans.hasOwnProperty(key) && configPlans[key]) { if (configPlans.hasOwnProperty(key) && configPlans[key] && configPlans[key].isEnabledToEdit) {
plans[key] = cos.id; 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