Commit c91a1da8 authored by Patricio Bruna's avatar Patricio Bruna

removed path.json

parents 69c0027a a1df6d64
module.exports = {"main":{"js":"/228419bundle.js"}}
\ No newline at end of file
...@@ -51,7 +51,7 @@ export default class BlockGeneralInfoMailbox extends React.Component { ...@@ -51,7 +51,7 @@ export default class BlockGeneralInfoMailbox extends React.Component {
if (window.manager_config.plans[cosID.name]) { if (window.manager_config.plans[cosID.name]) {
cosName = Utils.titleCase(cosID.name); cosName = Utils.titleCase(cosID.name);
statusCos = 'label btn-xs margin-left ' + window.manager_config.plans[cosID.name].statusCos; statusCos = 'label btn-xs ' + window.manager_config.plans[cosID.name].statusCos;
} }
if (this.state.hasDomain) { if (this.state.hasDomain) {
...@@ -67,6 +67,7 @@ export default class BlockGeneralInfoMailbox extends React.Component { ...@@ -67,6 +67,7 @@ export default class BlockGeneralInfoMailbox extends React.Component {
const archive = attrs.zimbraArchiveAccount; const archive = attrs.zimbraArchiveAccount;
const isAdminDelegated = attrs.zimbraIsDelegatedAdminAccount === 'TRUE'; const isAdminDelegated = attrs.zimbraIsDelegatedAdminAccount === 'TRUE';
if (isAdminDelegated) { if (isAdminDelegated) {
statusCos += ' margin-left';
AdminStatus = ( AdminStatus = (
<StatusLabel classes={'label btn-xs btn-warning2'}> <StatusLabel classes={'label btn-xs btn-warning2'}>
{'Administrador'} {'Administrador'}
......
...@@ -51,7 +51,7 @@ export default class Mailboxes extends React.Component { ...@@ -51,7 +51,7 @@ export default class Mailboxes extends React.Component {
this.optionStatus = { this.optionStatus = {
active: 'Active', active: 'Active',
locked: 'Inactiva', locked: 'Inactiva',
lockedout: 'Bloqueada', lockout: 'Bloqueada',
closed: 'Cerrada' closed: 'Cerrada'
}; };
this.optionPlans = window.manager_config.plans; this.optionPlans = window.manager_config.plans;
...@@ -187,6 +187,8 @@ export default class Mailboxes extends React.Component { ...@@ -187,6 +187,8 @@ export default class Mailboxes extends React.Component {
} }
getAccounts(domainName, maxResult) { getAccounts(domainName, maxResult) {
//const promises = [];
const attrs = { const attrs = {
maxResults: maxResult maxResults: maxResult
}; };
...@@ -202,6 +204,19 @@ export default class Mailboxes extends React.Component { ...@@ -202,6 +204,19 @@ export default class Mailboxes extends React.Component {
this.domainName = domainName; this.domainName = domainName;
} }
/*const attrsForLockOut = Object.assign({}, attrs);
attrsForLockOut.query = 'zimbraAccountStatus=lockout';
attrsForLockOut.limit = 10;
attrsForLockOut.countOnly = true;
promises.push(Client.getAllAccountsByBatch(attrsForLockOut));
Client.batchRequest(promises, (exito) => {
console.log('exito', exito);
}, (err) => {
console.log('error', err);
});*/
new Promise((resolve, reject) => { new Promise((resolve, reject) => {
if (domainName) { if (domainName) {
const hasMailboxForDomain = MailboxStore.getMailboxByDomainId(this.domainId); const hasMailboxForDomain = MailboxStore.getMailboxByDomainId(this.domainId);
...@@ -211,7 +226,9 @@ export default class Mailboxes extends React.Component { ...@@ -211,7 +226,9 @@ export default class Mailboxes extends React.Component {
} }
return Client.getAllAccounts(attrs, (success) => { return Client.getAllAccounts(attrs, (success) => {
MailboxStore.setMailboxesByDomain(this.domainId, success); const data = Utils.extractLockOuts(success);
MailboxStore.setMailboxesByDomain(this.domainId, data);
return resolve(success); return resolve(success);
}, (error) => { }, (error) => {
return reject(error); return reject(error);
...@@ -223,8 +240,10 @@ export default class Mailboxes extends React.Component { ...@@ -223,8 +240,10 @@ export default class Mailboxes extends React.Component {
} }
return Client.getAllAccounts(attrs, (success) => { return Client.getAllAccounts(attrs, (success) => {
MailboxStore.setMailboxes(success); const data = Utils.extractLockOuts(success);
return resolve(success); MailboxStore.setMailboxes(data);
return resolve(data);
}, (error) => { }, (error) => {
return reject(error); return reject(error);
}); });
...@@ -238,9 +257,9 @@ export default class Mailboxes extends React.Component { ...@@ -238,9 +257,9 @@ export default class Mailboxes extends React.Component {
const tables = this.buildTableFromData(items, ['Todas', 'Bloqueadas']); const tables = this.buildTableFromData(items, ['Todas', 'Bloqueadas']);
if (tables.lockedAlert) { if (items.lockout) {
GlobalActions.emitMessage({ GlobalActions.emitMessage({
error: tables.lockedAlert.message, error: `${items.lockout.length} casillas bloqueadas.`,
typeError: messageType.LOCKED typeError: messageType.LOCKED
}); });
} }
...@@ -463,12 +482,22 @@ export default class Mailboxes extends React.Component { ...@@ -463,12 +482,22 @@ export default class Mailboxes extends React.Component {
let lockedAccounts = []; let lockedAccounts = [];
const tabs = {}; const tabs = {};
let partialAccounts = accounts; let partialAccounts = accounts;
let partialLockOut = data.lockout ? data.lockout : 0;
const limitLockout = data.lockout ? data.lockout.length : 0;
const hasPageLockOut = limitLockout > Constants.QueryOptions.DEFAULT_LIMIT;
if (hasPage) { if (hasPage) {
partialAccounts = accounts.slice(this.state.offset, (this.state.page * Constants.QueryOptions.DEFAULT_LIMIT)); partialAccounts = accounts.slice(this.state.offset, (this.state.page * Constants.QueryOptions.DEFAULT_LIMIT));
limit = partialAccounts.length; limit = partialAccounts.length;
} }
if (hasPageLockOut) {
partialLockOut = partialLockOut.slice(this.state.offset, (this.state.page * Constants.QueryOptions.DEFAULT_LIMIT));
partialLockOut = partialLockOut.map((lockout) => {
return this.buildRow(lockout, 'label label-locked m-r', 'Bloqueada');
});
}
const response = {}; const response = {};
for (let i = 0; i < limit; i++) { for (let i = 0; i < limit; i++) {
...@@ -490,7 +519,7 @@ export default class Mailboxes extends React.Component { ...@@ -490,7 +519,7 @@ export default class Mailboxes extends React.Component {
} }
} }
const all = `${arrayTabNames.shift()} (${totalAccounts})`; const all = `${arrayTabNames.shift()} (${totalAccounts})`;
const locked = `${arrayTabNames.shift()} (${lockedAccounts.length})`; const locked = `${arrayTabNames.shift()} (${limitLockout})`;
// create structure html for all accountsç // create structure html for all accountsç
let exportBtn = null; let exportBtn = null;
...@@ -537,7 +566,6 @@ export default class Mailboxes extends React.Component { ...@@ -537,7 +566,6 @@ export default class Mailboxes extends React.Component {
]; ];
let activePagination = null; let activePagination = null;
let lockedPagination = null;
if (hasPage) { if (hasPage) {
const totalPage = Math.ceil(totalAccounts / QueryOptions.DEFAULT_LIMIT); const totalPage = Math.ceil(totalAccounts / QueryOptions.DEFAULT_LIMIT);
activePagination = { activePagination = {
...@@ -545,6 +573,14 @@ export default class Mailboxes extends React.Component { ...@@ -545,6 +573,14 @@ export default class Mailboxes extends React.Component {
}; };
} }
let lockedPagination = null;
if (hasPageLockOut) {
const totalPageLockOut = Math.ceil(limitLockout / QueryOptions.DEFAULT_LIMIT);
lockedPagination = {
total: totalPageLockOut
};
}
const status = Object.keys(this.optionStatus).map((item, i) => { const status = Object.keys(this.optionStatus).map((item, i) => {
return ( return (
<option <option
...@@ -601,7 +637,7 @@ export default class Mailboxes extends React.Component { ...@@ -601,7 +637,7 @@ export default class Mailboxes extends React.Component {
const panelActive = this.insertToPanel(tableActive, 'panel-all', btn, filter); const panelActive = this.insertToPanel(tableActive, 'panel-all', btn, filter);
// create structure html for all locked accounts // create structure html for all locked accounts
const tableLocked = this.makeTable(lockedAccounts, lockedPagination); const tableLocked = this.makeTable(partialLockOut, lockedPagination);
const panelLocked = this.insertToPanel(tableLocked, 'panel-locked'); const panelLocked = this.insertToPanel(tableLocked, 'panel-locked');
arrayTabNames.push(all, locked); arrayTabNames.push(all, locked);
......
...@@ -33,7 +33,7 @@ export default class BlockGeneralInfoMailbox extends React.Component { ...@@ -33,7 +33,7 @@ export default class BlockGeneralInfoMailbox extends React.Component {
this.date = Utils.dateFormatted(this.props.data.attrs.zimbraCreateTimestamp); this.date = Utils.dateFormatted(this.props.data.attrs.zimbraCreateTimestamp);
switch (this.props.data.attrs.zimbraAccountStatus) { switch (this.props.data.attrs.zimbraAccountStatus) {
case 'lockedout': case 'lockout':
this.status = 'Bloqueada'; this.status = 'Bloqueada';
this.className = 'label-locked mailbox-status'; this.className = 'label-locked mailbox-status';
break; break;
......
...@@ -360,6 +360,10 @@ export function getAllAccounts(opts, success, error) { ...@@ -360,6 +360,10 @@ export function getAllAccounts(opts, success, error) {
); );
} }
export function getAllAccountsByBatch(attrs) {
return ZimbraStore.getCurrent().getAllAccounts(attrs);
}
export function getAccount(id, success, error) { export function getAccount(id, success, error) {
initZimbra().then( initZimbra().then(
(zimbra) => { (zimbra) => {
...@@ -572,7 +576,7 @@ export function batchRequest(requestArray, success, error) { ...@@ -572,7 +576,7 @@ export function batchRequest(requestArray, success, error) {
} }
return success(data); return success(data);
}); }, {onError: 'continue'});
}, },
(err) => { (err) => {
const e = handleError('batchRequest', err); const e = handleError('batchRequest', err);
......
...@@ -655,3 +655,21 @@ export function getAttrsBySectionFromConfig(section, asObject) { ...@@ -655,3 +655,21 @@ export function getAttrsBySectionFromConfig(section, asObject) {
return false; return false;
} }
export function extractLockOuts(object) {
if (object && object.account) {
const lockout = object.account.filter((account) => {
if (account.attrs.zimbraAccountStatus === 'lockout') {
return true;
}
return false;
});
if (lockout.length > 0) {
object.lockout = lockout;
}
}
return object;
}
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