Commit 84e75893 authored by Juorder Gonzalez's avatar Juorder Gonzalez

Merge pull request #142 from ZBoxApp/issues_resolved_manager

fix archiving show on edit mailbox, antispam when create, delete, wit…
parents d2667262 05c15d68
......@@ -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
});
......
......@@ -12,6 +12,8 @@ export default class BlockGeneralInfoMailbox extends React.Component {
this.lastConection = 'No se ha conectado';
this.getMailSize = this.getMailSize.bind(this);
this.sizeEnabled = Utils.getEnabledPlansObjectByCos(ZimbraStore.getAllCos(), this.props.data.attrs.zimbraCOSId);
console.log('cosID', this.props.data.attrs.zimbraCOSId); //eslint-disable-line no-console
console.log('all cos', ZimbraStore.getAllCos()); //eslint-disable-line no-console
this.state = {};
}
......@@ -66,7 +68,7 @@ export default class BlockGeneralInfoMailbox extends React.Component {
if (this.state.size) {
size = this.state.size;
}
console.log(this.sizeEnabled); //eslint-disable-line no-console
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;
......
......@@ -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