Commit 80dff840 authored by Juorder Gonzalez's avatar Juorder Gonzalez

Merge pull request #177 from ZBoxApp/issues_resolved_manager

remove store from domains sections to call always via api.
parents b13ce7be 9e9b3d05
1465225624
\ No newline at end of file
1465307111
\ No newline at end of file
module.exports = {"main":{"js":"/029325bundle.js"}}
\ No newline at end of file
module.exports = {"main":{"js":"/482549bundle.js"}}
\ No newline at end of file
......@@ -26,7 +26,8 @@ export default class DomainAdminList extends React.Component {
}
getStateFromStores() {
const admins = DomainStore.getAdmins(this.props.domain);
//const admins = DomainStore.getAdmins(this.props.domain);
const admins = null;
return {
admins
};
......
......@@ -45,7 +45,8 @@ export default class DomainDetails extends React.Component {
}
getDomain() {
const domain = DomainStore.getCurrent();
//const domain = DomainStore.getCurrent();
const domain = null;
const states = {};
if (domain && domain.id === this.props.params.id) {
......
......@@ -40,7 +40,7 @@ export default class DomainGeneralInfo extends React.Component {
domain.checkMxRecord((err, data) => {
if (err) {
return self.setState({
mx: err
mx: err.message || err.extra.reason
});
}
......@@ -82,11 +82,33 @@ export default class DomainGeneralInfo extends React.Component {
}
render() {
const domain = this.props.domain;
let editDomainButton = null;
let masterID = null;
let editDomainButton;
let masterID;
let masterDomain;
let badgeMaster;
if (domain.attrs.zimbraDomainAliasTargetId) {
if (domain.isAliasDomain && domain.masterDomainName) {
masterID = domain.attrs.zimbraDomainAliasTargetId;
masterDomain = (
<li>
<strong>{'Dominio Maestro: '}</strong>
<a
className='account-name'
onClick={(e) => Utils.handleLink(e, `/domains/${masterID}`, this.props.location)}
>
{`${domain.masterDomainName}`}
</a>
</li>
);
badgeMaster = (
<li>
<StatusLabel
classes='btn btn-md btn-warning'
children='Dominio Alias'
/>
</li>
);
}
const infoBody = (
......@@ -114,31 +136,14 @@ export default class DomainGeneralInfo extends React.Component {
<strong>{'MX Record: '}</strong>
{this.state.mx}
</li>
{domain.isAliasDomain && domain.masterDomainName && (
<li>
<strong>{'Dominio Maestro: '}</strong>
<a
className='account-name'
onClick={(e) => Utils.handleLink(e, `/domains/${masterID}`, this.props.location)}
>
{domain.masterDomainName}
</a>
</li>
)}
{masterDomain}
<li>
<strong>{'Próxima renovación: '}</strong>
{this.state.date}
</li>
</ul>
<ul className='list-inline list-unstyled'>
{domain.isAliasDomain && (
<li>
<StatusLabel
classes='btn btn-md btn-warning'
children='Dominio Alias'
/>
</li>
)}
{badgeMaster}
<li>
<StatusLabel
classes='btn btn-md btn-info'
......
......@@ -45,7 +45,7 @@ export default class Domains extends React.Component {
maxResults: window.manager_config.maxResultOnRequestZimbra
};
if (DomainStore.getDomains()) {
/*if (DomainStore.getDomains()) {
const data = DomainStore.getDomains();
GlobalActions.emitEndLoading();
......@@ -54,7 +54,7 @@ export default class Domains extends React.Component {
data,
loading: false
});
}
}*/
const attrneeded = Utils.getAttrsBySectionFromConfig('domains');
attrs.attrs = attrneeded;
......@@ -62,6 +62,10 @@ export default class Domains extends React.Component {
Client.getAllDomains(
attrs,
(data) => {
data.domain = data.domain.filter((dom) => {
return !dom.isAliasDomain;
});
data.total = data.domain.length;
domains = data.domain;
DomainStore.setDomains(data);
this.getPlans(domains).
......
......@@ -29,8 +29,9 @@ export default class EditDomain extends React.Component {
}
getDomain() {
//const domain = DomainStore.getCurrent();
const domainId = this.props.params.id;
const domain = DomainStore.getCurrent();
const domain = null;
if (domain && domain.id === domainId) {
return this.getCompanies(domain);
......
......@@ -87,7 +87,6 @@ export default class ConfirmDeleteModal extends React.Component {
handleKeyUp() {
let val = this.refs.confirmMailbox.value;
if (val === this.props.data.attrs.mail) {
if (this.refs.buttonDelete.hasAttribute('disabled')) {
Utils.toggleStatusButtons('.action-delete', false);
......
......@@ -67,7 +67,7 @@ export default class CreateMailBox extends React.Component {
return false;
}
if (passwd.length < 9) {
if (passwd.length < Constants.MaxLengthOfPasswd) {
GlobalActions.emitMessage({
message: 'La contraseña debe ser mayor a 8 caracteres, verifique por favor.',
typeError: messageType.ERROR
......@@ -86,7 +86,8 @@ export default class CreateMailBox extends React.Component {
sn: this.refs.sn.value,
description: this.refs.description.value,
zimbraCOSId: this.refs.zimbraCOSId.value,
zimbraAccountStatus: this.refs.zimbraAccountStatus.value
zimbraAccountStatus: this.refs.zimbraAccountStatus.value,
zimbraIsDelegatedAdminAccount: this.refs.zimbraIsDelegatedAdminAccount.checked.toString().toUpperCase()
};
Client.createAccount(
......@@ -384,6 +385,28 @@ export default class CreateMailBox extends React.Component {
</div>
</div>
<div className='form-group string'>
<label className='string col-sm-3 control-label'>
{'Administrador Delegado'}
</label>
<div className='col-sm-8'>
<label
className='radio radio-info radio-inline pretty-input'
>
<div className='pretty-checkbox'>
<input
type='checkbox'
className='pretty'
name='mailbox'
ref='zimbraIsDelegatedAdminAccount'
/>
<span></span>
</div>
</label>
</div>
</div>
<div className='form-group string'>
<label className='string required col-sm-3 control-label'>
<abbr title='Requerido'>{'*'}</abbr>
......
//import select2 from 'select2';
//import ConfirmDeleteModal from './confirm_delete_modal.jsx';
//import ToggleModalButton from '../toggle_modal_button.jsx';
import $ from 'jquery';
import React from 'react';
import sweetAlert from 'sweetalert';
import Button from '../button.jsx';
import MessageBar from '../message_bar.jsx';
import Panel from '../panel.jsx';
import ConfirmDeleteModal from './confirm_delete_modal.jsx';
import ToggleModalButton from '../toggle_modal_button.jsx';
import DataList from 'react-datalist';
import UserStore from '../../stores/user_store.jsx';
import Promise from 'bluebird';
......@@ -45,6 +46,64 @@ export default class EditMailBox extends React.Component {
this.refs.zimbraCOSId.value = val;
}
removeAccount() {
const account = this.state.data;
const response = {
title: 'Se ha borrado con éxito',
type: 'success'
};
sweetAlert({
title: 'Borrar Casilla',
text: `¿Esta seguro que dese borrar la casilla ${account.name}?`,
type: 'info',
showCancelButton: true,
confirmButtonColor: '#DD6B55',
confirmButtonText: 'Si, deseo borrarlo!',
closeOnConfirm: false,
showLoaderOnConfirm: true,
animation: 'slide-from-top'
},
(isDeleted) => {
if (isDeleted) {
new Promise((resolve, reject) => {
// start loading
GlobalActions.emitStartLoading();
Client.removeAccount(
account.id,
() => {
return resolve(true);
},
(error) => {
return reject(error);
}
);
}).then(() => {
MailboxStore.removeAccount(account);
response.text = 'Será redireccionado a Casillas.';
return sweetAlert(
response,
() => {
Utils.handleLink(event, '/mailboxes/', this.props.location);
}
);
}).catch((error) => {
response.title = 'Ha ocurrido un error.';
response.text = error.message;
response.type = 'error';
response.confirmButtonText = 'Intentar de nuevo';
response.confirmButtonColor = '#DD6B55';
return sweetAlert(response);
}).finally(() => {
GlobalActions.emitEndLoading();
});
}
}
);
}
handleEnabledRename() {
const selfButton = this.refs.rename;
const inputs = document.querySelectorAll('.action-rename');
......@@ -313,11 +372,6 @@ export default class EditMailBox extends React.Component {
}
componentDidMount() {
/*Client.renameAccount('nuevomodificado@zboxapp.dev', (exito) => {
console.log('exito', exito);
}, (fallo) => {
console.log('fallo', fallo);
});*/
$('#sidebar-mailboxes').addClass('active');
EventStore.addMessageListener(this.showMessage);
this.getMailbox(this.props.params.id);
......@@ -339,12 +393,12 @@ export default class EditMailBox extends React.Component {
}
render() {
let buttonDelete = null;
let message;
let data;
let actions;
let form;
const domains = [];
let buttonDelete = null;
let currentDomain = '';
const cosElements = [];
let datalist = (
......@@ -371,7 +425,7 @@ export default class EditMailBox extends React.Component {
const cos = this.state.cos;
currentDomain = data.name.split('@').pop();
buttonDelete = (
/*buttonDelete = (
<ToggleModalButton
role='button'
className='btn btn-xs btn-danger action-button'
......@@ -381,6 +435,20 @@ export default class EditMailBox extends React.Component {
>
{'Eliminar'}
</ToggleModalButton>
);*/
buttonDelete = (
<a
className='btn btn-danger btn-xs action-button'
onClick={
() => {
this.removeAccount();
}
}
key='btn-delete-mailbox-key'
>
{'Eliminar Casilla'}
</a>
);
const length = doms.length;
......
......@@ -206,19 +206,6 @@ export default class Mailboxes extends React.Component {
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) => {
if (domainName) {
const hasMailboxForDomain = MailboxStore.getMailboxByDomainId(this.domainId);
......
......@@ -202,10 +202,10 @@ export function getCompany(id) {
},
dataType: 'json',
success: function onSuccess(data) {
resolve(data);
return resolve(data);
},
error: function onError(xhr) {
reject(xhr.responseJSON);
return reject(xhr.responseJSON);
}
});
});
......
......@@ -106,6 +106,7 @@ export default {
'TXT',
'WKS'
],
MaxLengthOfPasswd: 9,
status: {
active: {
label: 'Activa',
......
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