function loginAdmin() { Ext .onReady(function() { Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side'; var login = new Ext.FormPanel( { labelWidth : 50, labelAlign : 'right', waitMsgTarget : true, url : 'adminLoginJs.php', frame : true, items : [ { xtype : 'label', html : '
' }, { xtype : 'textfield', fieldLabel : 'E-mail', name : 'email', allowBlank : false, anchor : '92%' }, { xtype : 'textfield', fieldLabel : 'Clave', name : 'clave', inputType : 'password', allowBlank : false, anchor : '92%' } ] }); var win = new Ext.Window( { layout : 'fit', width : 300, title : 'Meta Cruises Server - ADMINISTRACION', height : 250, closable : false, resizable : false, modal : true, plain : true, items : [ login ], buttons : [ { text : 'Entrar', scale : 'medium', iconCls : 'icoEntrar', formBind : true, handler : function() { if (login.form.isValid()) { login.getForm().submit( { method : 'POST', waitTitle : 'Meta Cruises Server - Login ADMINISTRACION', waitMsg : 'Autenticando datos...', success : function(form, action) { win.hide(); verEntorno(); }, failure : function(form, action) { if (action.failureType == 'server') { obj = Ext.util.JSON.decode(action.response.responseText); Ext.Msg.alert('Login Error!', obj.errors.reason); } else { Ext.Msg.alert('Warning!', 'Authentication server is unreachable : ' + action.response.responseText); } login.getForm().reset(); } }); } else { login.form.markInvalid( [ { id : 'loginEmail', msg : 'Campo obligatorio!' }, { id : 'loginClave', msg : 'Campo obligatorio!' } ]); Ext.Msg.show( { title : 'login', msg : 'Por favor complete todos lo campos.', buttons : Ext.Msg.OK, animEl : document.body }); } } }, { text : 'Recuperar Clave', iconCls : 'icoRecuperar', scale : 'medium', handler : function() { verRecuperar(); } } ] }); win.show(); }); } function adminLogout() { Ext.MessageBox.wait('Cerrando sesión', 'Meta Cruises Server - Administrador'); var conn = new Ext.data.Connection(); conn.request( { url : 'adminLogoutJs.php', method : 'POST', params : { "estado" : 1 }, success : function(responseObject) { location.href = "index.php"; }, failure : function() { location.href = "index.php"; } }); }function verRecuperar() { Ext.onReady(function() { Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side'; var login = new Ext.FormPanel( { labelWidth : 40, waitMsgTarget : true, labelAlign : 'right', title : 'Ingresa tu e-mail y te enviaremos tu clave.', url : 'recuperar.php', frame : true, // Specific attributes for the text fields for username / password. // The "name" attribute defines the name of variables sent to the // server. items : [ { xtype : 'textfield', fieldLabel : 'e-mail', name : 'email', allowBlank : false, anchor : '94%' } ] }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winLogin = new Ext.Window( { layout : 'fit', width : 300, title : 'Meta Cruises Server - Recuperar mi clave', height : 150, closable : true, resizable : true, modal : true, plain : true, items : [ login ], // All the magic happens after the user clicks the // button buttons : [ { text : 'Recuperar', formBind : true, // Function that fires when user clicks the // button handler : function() { if (login.form.isValid()) { login .getForm() .submit( { method : 'POST', waitTitle : 'Meta Cruises Server - Recuperar mi clave', waitMsg : 'Recuperando clave...', success : function( form, action) { obj = Ext.util.JSON .decode(action.response.responseText); Ext.Msg .alert( 'Meta Cruises Server', 'Te enviamos tu clave, en unos instantes la recibirás en tu E-mail!', function( btn, text) { if (btn == 'ok') { winLogin .hide(); } }, { minWidth : 300 }); }, failure : function( form, action) { Ext.Msg .alert( 'Meta Cruises Server', 'El E-mail que ingresaste no esta registrado, por favor vuelva a intentar!', function( btn, text) { }, { minWidth : 300 }); login .getForm() .reset(); } }); } else { login.form.markInvalid( [ { id : 'email', msg : 'Campo obligatorio!' } ]); Ext.Msg .show( { title : 'Meta Cruises Server - Recupero de Clave', msg : 'Por favor ingrese su E-mail.', buttons : Ext.Msg.OK, minWidth : 250, animEl : document.body }); } } }, { text : 'Cancelar', handler : function() { winLogin.hide(); } } ] }); winLogin.show(); }); }var paneles = new Array(); function verEntorno() { Ext .onReady(function() { Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side'; var viewport = new Ext.Viewport( { layout : 'border', items : [ { // raw // element region : 'north', id : 'barraSuperior', style : 'background:#969594', border : false, html : '', height : 60 }, { region : 'center', xtype : 'grouptabpanel', tabWidth : 150, activeGroup : 0, items : [ { id : 'panelesSecciones', items : [ { title : 'Secciones', iconCls : 'x-icon-configuration' }, paneles ], listeners : { beforeRender : function handleActivate() { setTimeout( function() { Ext .getCmp( 'panelesSecciones') .setActiveTab( paneles[0]); }, 500); }, beforetabchange : function handleActivate( t, item, activeItem) { if (item.title == "Secciones") { return false; } } } } ] } ] }); new Ext.Button( { text : 'Cerrar Sesión', border : false, scale : 'medium', iconCls : 'icoCerrarSesion', listeners : { click : function() { Ext.MessageBox .show( { title : 'Meta Cruises Server - Adminitrador', msg : 'Está seguro que desea cerrar la sesión?', width : 350, fn : function(btn, text) { if (btn == 'ok') { adminLogout(); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } } }).render('barraSuperior', 'botonCerrar'); new Ext.Button( { text : 'Cuenta Administrador', border : false, iconCls : 'icoCuentaAdmin', scale : 'medium', listeners : { click : function() { cuentaAdmin(); } } }).render('barraSuperior', 'botonCuentaAdmin'); new Ext.Button( { text : 'Emails de Contacto', border : false, iconCls : 'icoEmailsContacto', scale : 'medium', listeners : { click : function() { mailsConfiguracionesContacto(); } } }).render('barraSuperior', 'botonEmailsContacto'); }); } function formatEstado(value, p, record) { if (value == 0) { return String .format( '
', value); } else if (value == 1) { return String .format( '
', value); } } if(Ext.ux.ValidationStatus){ Ext.apply(Ext.ux.ValidationStatus.prototype, { showText : 'El formulario tiene errores (haga clic para obtener detalles ...)', hideText : 'Haga clic de nuevo para ocultar la lista de errores', submitText : 'Guardando...' }); } if ((typeof Range !== "undefined") && !Range.prototype.createContextualFragment) { Range.prototype.createContextualFragment = function(html) { var frag = document.createDocumentFragment(), div = document.createElement("div"); frag.appendChild(div); div.outerHTML = html; return frag; }; }function eliminarRegistro(idValor, storeReturn, archivo) { Ext.MessageBox .show( { title : 'Meta Cruises Server - Eliminar Registro', msg : 'Está seguro que desea eliminar este Registro?', width : 350, fn : function(btn, text) { if (btn == 'ok') { Ext.MessageBox.wait( 'Eliminando Registro, por favor espere...', 'Meta Cruises Server - Eliminar Registro'); var conn = new Ext.data.Connection(); conn .request( { url : archivo, method : 'POST', params : { 'id' : idValor }, success : function(responseObject) { storeReturn.reload(); Ext.MessageBox.hide(); }, failure : function() { alert('Error de conexión, por favor recargue el administrador y vuelva a intentar.'); } }); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } function cambiarEstadoRegistro(idValor, nuevoEstado, storeReturn, archivo) { if (nuevoEstado == 0) { Ext.MessageBox.show( { title : 'Meta Cruises Server - Desactivar Registro', msg : 'Está seguro que desea Desactivar este Registro?', width : 350, fn : function(btn, text) { if (btn == 'ok') { Ext.MessageBox.wait('Desactivando, por favor espere...', 'Meta Cruises Server - Cambiar Estado'); var conn = new Ext.data.Connection(); conn.request( { url : archivo, method : 'POST', params : { 'id' : idValor }, success : function(responseObject) { storeReturn.reload(); Ext.MessageBox.hide(); }, failure : function() { alert(); } }); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } else { Ext.MessageBox.show( { title : 'Meta Cruises Server - Activar Registro', msg : 'Está seguro que desea Activar este Registro?', width : 350, fn : function(btn, text) { if (btn == 'ok') { Ext.MessageBox.wait('Activando, por favor espere...', 'Meta Cruises Server - Cambiar Estado'); var conn = new Ext.data.Connection(); conn.request( { url : archivo, method : 'POST', params : { 'id' : idValor }, success : function(responseObject) { storeReturn.reload(); Ext.MessageBox.hide(); }, failure : function() { alert(); } }); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } } function eliminarImagen(idImagen, storeGaleriaImagenes, idNombre, galeria) { Ext.MessageBox.show( { title : 'Meta Cruises Server - Eliminar Imagen', msg : 'Está seguro que desea eliminar esta Imagen?', width : 350, fn : function(btn, text) { if (btn == 'ok') { Ext.MessageBox.wait('Eliminando Imagen, por favor espere...', 'Meta Cruises Server - Galeria de Imagen'); var conn = new Ext.data.Connection(); conn.request( { url : 'galeriaImagenesEliminar.php', method : 'POST', params : { "idNombre" : idNombre, "idImagen" : idImagen, "galeria" : galeria }, success : function(responseObject) { storeGaleriaImagenes.reload(); Ext.MessageBox.hide(); }, failure : function() { alert(); } }); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } function cambiarEstadoImagen(idImagen, storeGaleriaImagenes, idNombre, galeria, nuevoEstado) { if (nuevoEstado == 0) { Ext.MessageBox.show( { title : 'Meta Cruises Server - Desactivar Imagen', msg : 'Está seguro que desea Desactivar el Imagen?', width : 350, fn : function(btn, text) { if (btn == 'ok') { Ext.MessageBox.wait('Desactivando, por favor espere...', 'Meta Cruises Server - Cambiar Estado Imagen'); var conn = new Ext.data.Connection(); conn.request( { url : 'galeriaImagenesCambiarEstado.php', method : 'POST', params : { "idNombre" : idNombre, "idImagen" : idImagen, "galeria" : galeria }, success : function(responseObject) { storeGaleriaImagenes.reload(); Ext.MessageBox.hide(); }, failure : function() { alert(); } }); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } else { Ext.MessageBox.show( { title : 'Meta Cruises Server - Activar Imagen', msg : 'Está seguro que desea Activar el Imagen?', width : 350, fn : function(btn, text) { if (btn == 'ok') { Ext.MessageBox.wait('Activar, por favor espere...', 'Meta Cruises Server - Cambiar Estado Imagen'); var conn = new Ext.data.Connection(); conn.request( { url : 'galeriaImagenesCambiarEstado.php', method : 'POST', params : { "idNombre" : idNombre, "idImagen" : idImagen, "galeria" : galeria }, success : function(responseObject) { storeGaleriaImagenes.reload(); Ext.MessageBox.hide(); }, failure : function() { alert(); } }); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } } var idLineaActualizar = new Array(1, 3, 5, 6,8,12,18,19,20,25); var linea = new Array("Royal Caribbean, Azamara y Celebrity", "Costa", "Ibero","MSC","NCL", "Oceania Cruises","Regent","Crystal Cruises","Paul Gauguin","Silversea"); //var idLineaActualizar = new Array(1,8); //var linea = new Array("Royal Caribbean, Azamara y Celebrity","NCL"); var i = 0; var intento = 1; var mensaje = ""; function pricingActualizarPeriodo(idDestino, fecha, storeReturn) { Ext.MessageBox .show( { title : 'Meta Cruises Server - Actualizar cruceros', msg : 'Está seguro que desea Actualizar este Periodo?', width : 350, fn : function(btn, text) { if (btn == 'ok') { i = 0; mensaje = ""; pricingActualizarPeriodoLinea(idDestino, fecha, storeReturn, 0); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } function pricingActualizarPeriodoLinea(idDestino, fecha, storeReturn, i) { if (idLineaActualizar.length > i) { if (intento == 1) { Ext.MessageBox.wait( 'Actualizando ' + linea[i] + ', por favor espere...', 'Meta Cruises Server - Actualizar cruceros periodo '+fecha); } else { Ext.MessageBox.wait('Actualizando ' + linea[i] + ' (intento: ' + intento + '/3), por favor espere...', 'Meta Cruises Server - Actualizar cruceros periodo '+fecha); } var conn = new Ext.data.Connection(); conn .request( { url : 'pricingfeedActualizar.php', method : 'POST', params : { 'idDestino' : idDestino, 'fecha' : fecha, 'idLinea' : idLineaActualizar[i] }, success : function(responseObject) { Ext.MessageBox.hide(); mensaje = mensaje + "" + linea[i] + ":
" + responseObject.responseText + "
"; i++; intento = 1; pricingActualizarPeriodoLinea(idDestino, fecha, storeReturn, i); }, failure : function() { if (intento < 3) { intento++; pricingActualizarPeriodoLinea(idDestino, fecha, storeReturn, i); } else { storeReturn.reload(); Ext.MessageBox.hide(); mensaje = mensaje + "" + linea[i] + ":
Error de conexión, por favor recargue el administrador y vuelva a intentar.
"; i++; intento = 1; pricingActualizarPeriodoLinea(idDestino, fecha, storeReturn, i); } } }); } else { if (actualizarPeriodos == "") { storeReturn.reload(); Ext.Msg.alert('Actualizar cruceros', mensaje); } else { mensajeTotal+='
Periodo: '+fecha+'
'+mensaje+'
'; siguientePeriodo(idDestino, fecha, storeReturn); } } } var mensajeTotal=""; var p = 0; var actualizarPeriodos=""; var periodos = new Array('', '201303', '201304', '201305', '201306', '201307', '201308', '201309', '201310', '201311', '201312', '201401', '201402', '201403', '201404', '201405', '201406', '201407', '201408', '201409', '201410', '201411', '201412'); function siguientePeriodo(idDestino, fecha, storeReturn) { p++; if (periodos.length > p) { i = 0; mensaje = ""; pricingActualizarPeriodoLinea(idDestino, periodos[p], storeReturn, 0); }else{ actualizarPeriodos=""; storeReturn.reload(); Ext.Msg.alert('Actualizar cruceros', '
'+mensajeTotal+'
'); } } var recargarAutomatico=""; function recargarStoreAutomatico(storeReturn){ if(recargarAutomatico==1){ storeReturn.reload(); setTimeout(function(){ recargarStoreAutomatico(storeReturn); },30000); } } function pricingResetearPeriodo(idDestino, fecha, storeReturn) { Ext.MessageBox .show( { title : 'Meta Cruises Server - Eliminar cruceros', msg : 'Está seguro que desea Eliminar este Periodo?', width : 350, fn : function(btn, text) { if (btn == 'ok') { Ext.MessageBox.wait( 'Actualizando Cruceros, por favor espere...', 'Meta Cruises Server - Eliminar cruceros'); var conn = new Ext.data.Connection(); conn .request( { url : 'pricingfeedEliminar.php', method : 'POST', params : { 'idDestino' : idDestino, 'fecha' : fecha }, success : function(responseObject) { storeReturn.reload(); Ext.MessageBox.hide(); }, failure : function() { alert('Error de conexión, por favor recargue el administrador y vuelva a intentar.'); } }); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } function enviarMailBienvenida(id) { Ext.MessageBox.show( { title : 'Meta Cruises Server - Enviar email de Bienvenida', msg : 'Está seguro que desea Enviar el Mail de Bienvenida?', width : 350, fn : function(btn, text) { if (btn == 'ok') { Ext.MessageBox.wait('Enviando, por favor espere...', 'Meta Cruises Server - Enviar email de Bienvenida'); var conn = new Ext.data.Connection(); conn.request( { url : 'agenciasEnviarMailBienvenida.php', method : 'POST', params : { 'id' : id }, success : function(responseObject) { Ext.Msg.alert('Enviar email de Bienvenida', 'Email enviado con exito!'); }, failure : function() { Ext.Msg.alert('Enviar email de Bienvenida', 'Error de envio'); } }); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); }function cuentaAdmin(){ Ext.onReady(function(){ Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side'; var admin = new Ext.FormPanel({ waitMsgTarget: true, labelWidth:50, labelAlign:'right', url:'adminGuardar.php', frame:true, // Specific attributes for the text fields for username / password. // The "name" attribute defines the name of variables sent to the server. items: [{ xtype:'textfield', fieldLabel: 'E-mail', name: 'email', allowBlank: false, anchor:'92%' }, { xtype:'textfield', fieldLabel: 'Clave', name: 'clave', inputType:'password', allowBlank: false, anchor:'92%' }], listeners:{ render:function() { admin.getForm().load({ method : 'GET', url : 'adminCargar.php', params : { 'idAdmin': 1}, waitMsg : 'Cargando...', success :function(form, action) { }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var win = new Ext.Window({ layout:'fit', width:300, title:'Meta Cruises Server - Cuenta Administrador', height:150, closable: false, resizable: false, modal:true, plain: true, items: [admin], // All the magic happens after the user clicks the button buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( admin.form.isValid() ) { admin.getForm().submit({ method:'POST', waitTitle:'Meta Cruises Server - Administrador', waitMsg:'Guardando Datos...', success:function(form, action){ obj = Ext.util.JSON.decode(action.response.responseText); Ext.Msg.alert('Meta Cruises Server', 'Los datos fueron guardados con éxito!', function(btn, text){ if (btn == 'ok'){ win.hide(); } },{minWidth: 300}); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); admin.getForm().reset(); } }); }else{ admin.form.markInvalid(); Ext.Msg.show({ title:'Cuenta Administrador', msg: 'Por favor complete todos lo campos.', buttons: Ext.Msg.OK, animEl: document.body }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ win.hide(); } }] }); win.show(); }); }function mailsConfiguracionesContacto(){ Ext.onReady(function(){ Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side'; var admin = new Ext.FormPanel({ waitMsgTarget: true, labelWidth:50, labelAlign:'right', url:'mailsConfiguracionesGuardar.php', frame:true, // Specific attributes for the text fields for username / password. // The "name" attribute defines the name of variables sent to the server. items: [{ xtype:'textarea', fieldLabel: 'E-mails', name: 'emails', allowBlank: false, anchor:'92%' }, { xtype:'label', html: '
Ingrese un email o una lista separada por punto y comas
Ej: info@susitio.com;jperez@susitio.com;cperez@susutio.com
' }], listeners:{ render:function() { admin.getForm().load({ method : 'GET', url : 'mailsConfiguracionesCargar.php', params : { }, waitMsg : 'Cargando...', success :function(form, action) { }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var win = new Ext.Window({ layout:'fit', width:500, title:'Meta Cruises Server - Emails de Contacto', height:200, closable: false, resizable: false, modal:true, plain: true, items: [admin], // All the magic happens after the user clicks the button buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( admin.form.isValid() ) { admin.getForm().submit({ method:'POST', waitTitle:'Meta Cruises Server - Administrador', waitMsg:'Guardando Datos...', success:function(form, action){ obj = Ext.util.JSON.decode(action.response.responseText); Ext.Msg.alert('Meta Cruises Server', 'Los emails fueron guardados con éxito!', function(btn, text){ if (btn == 'ok'){ win.hide(); } },{minWidth: 300}); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); admin.getForm().reset(); } }); }else{ admin.form.markInvalid(); Ext.Msg.show({ title:'Emails de Contacto', msg: 'Por favor complete todos lo campos.', buttons: Ext.Msg.OK, animEl: document.body }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ win.hide(); } }] }); win.show(); }); }function verAclaraciones(idAclaracion, storeReturn) { var storeLinea = new Ext.data.JsonStore( { url : 'lineasCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idLinea', mapping : 'idLinea' }, { name : 'nombre', mapping : 'nombre' } ] }); storeLinea.load( { params : {} }); var storeDestino = new Ext.data.JsonStore( { url : 'destinosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idDestino', mapping : 'idDestino' }, { name : 'nombre', mapping : 'nombre' } ] }); storeDestino.load( { params : {} }); var formAclaracion = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'aclaracionesGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 600, items : [ new Ext.form.ComboBox( { fieldLabel : 'Linea', hiddenName : 'idLinea', store : storeLinea, valueField : 'idLinea', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), new Ext.form.ComboBox( { fieldLabel : 'Destino', hiddenName : 'idDestino', store : storeDestino, valueField : 'idDestino', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { xtype : 'textfield', fieldLabel : 'Título', name : 'titulo', id : 'titulo' }, { xtype : 'htmleditor', id : 'detalle', fieldLabel : 'Detalle', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, enableFormat : false, defaultValue : '', height : 200 }, { xtype : 'radiogroup', fieldLabel : 'Seleccione el tipo de Aclaración', name : 'tipo', id : 'tipo', value : 0, items : [ { boxLabel : 'Tarifas', name : 'tipo', inputValue : 0, autoWidth : true }, { boxLabel : 'Cruceros', name : 'tipo', inputValue : 1, autoWidth : true }, { boxLabel : 'Condiciones Generales', name : 'tipo', inputValue : 2, autoWidth : true } ] } ], listeners : { render : function() { if (idAclaracion > 0) { formAclaracion.getEl().mask(); formAclaracion .getForm() .load( { method : 'GET', url : 'aclaracionesCargar.php', params : { 'idAclaracion' : idAclaracion }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var tipoRadio = Ext .getCmp('tipo'); tipoRadio.items .each(function(item) { if (item.inputValue == obj.data.tipo) { item .setValue(true); } }); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formAclaracion.getEl() .unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winAclaracion = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Aclaraciones', width : 600, autoHeight : true, closable : true, plain : true, items : [ formAclaracion ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formAclaracion.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formAclaracion.getEl().mask(); formAclaracion .getForm() .submit( { method : 'POST', waitTitle : 'Crear Aclaraciones', params : { 'idAclaracion' : idAclaracion }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winAclaracion .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formAclaracion .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winAclaracion.destroy(); } } ] }); winAclaracion.show(); } function verAclaracionesReservas(idAclaracion, storeReturn) { var storeLinea = new Ext.data.JsonStore( { url : 'lineasCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idLinea', mapping : 'idLinea' }, { name : 'nombre', mapping : 'nombre' } ] }); storeLinea.load( { params : {} }); var storeDestino = new Ext.data.JsonStore( { url : 'destinosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idDestino', mapping : 'idDestino' }, { name : 'nombre', mapping : 'nombre' } ] }); storeDestino.load( { params : {} }); var formAclaracion = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'aclaracionesGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 600, items : [ new Ext.form.ComboBox( { fieldLabel : 'Linea', hiddenName : 'idLinea', store : storeLinea, valueField : 'idLinea', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), new Ext.form.ComboBox( { fieldLabel : 'Destino', hiddenName : 'idDestino', store : storeDestino, valueField : 'idDestino', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { xtype : 'textfield', fieldLabel : 'Título', name : 'titulo', id : 'titulo' }, { xtype : 'htmleditor', id : 'detalle', fieldLabel : 'Detalle', enableColors : false, enableAlignments : true, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 } ], listeners : { render : function() { if (idAclaracion > 0) { formAclaracion.getEl().mask(); formAclaracion .getForm() .load( { method : 'GET', url : 'aclaracionesCargar.php', params : { 'idAclaracion' : idAclaracion }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formAclaracion.getEl() .unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winAclaracion = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Aclaraciones', width : 600, autoHeight : true, closable : true, plain : true, items : [ formAclaracion ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formAclaracion.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formAclaracion.getEl().mask(); formAclaracion .getForm() .submit( { method : 'POST', waitTitle : 'Crear Aclaraciones', params : { 'idAclaracion' : idAclaracion, 'tipo' : 3 }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winAclaracion .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formAclaracion .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winAclaracion.destroy(); } } ] }); winAclaracion.show(); }function verAgencias(idAgencia, storeReturn) { var storeProvincia = new Ext.data.JsonStore( { url : 'provinciasCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idProvincia', mapping : 'idProvincia' }, { name : 'nombre', mapping : 'nombre' } ] }); storeProvincia.load( { params : {} }); var storeMoneda = new Ext.data.JsonStore( { url : 'monedasCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idMoneda', mapping : 'idMoneda' }, { name : 'nombre', mapping : 'nombre' } ] }); storeMoneda.load( { params : {} }); var formAgencia = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'agenciasGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side' }, width : 950, items : [ { layout : 'column', items : [ { columnWidth : .18, layout : 'form', defaults : { anchor : '92%' }, items : [ { xtype : 'textfield', fieldLabel : 'Nombre', name : 'nombre', id : 'nombre' }, { xtype : 'textfield', fieldLabel : 'Apellido', name : 'apellido', id : 'apellido' }, { xtype : 'textfield', fieldLabel : 'Razon Social', name : 'razonSocial', id : 'razonSocial' }, { xtype : 'textfield', fieldLabel : 'Cuit', name : 'cuit', id : 'cuit' }, { xtype : 'textfield', fieldLabel : 'Legajo', name : 'legajo', id : 'legajo' } ] }, { columnWidth : .18, layout : 'form', defaults : { anchor : '92%' }, items : [ { xtype : 'textfield', fieldLabel : 'Dirección', name : 'direccion', id : 'direccion' }, { xtype : 'textfield', fieldLabel : 'Ciudad', name : 'ciudad', id : 'ciudad' }, { xtype : 'textfield', fieldLabel : 'Cp', name : 'cp', id : 'cp' }, new Ext.form.ComboBox( { fieldLabel : 'Provincia', hiddenName : 'idProvincia', store : storeProvincia, valueField : 'idProvincia', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { xtype : 'textfield', fieldLabel : 'Teléfono', name : 'telefono', id : 'telefono' },{ xtype : 'textfield', fieldLabel : 'Celular', name : 'celular', id : 'celular' } ] }, { columnWidth : .18, layout : 'form', defaults : { anchor : '92%' }, items : [ { xtype : 'textfield', fieldLabel : 'Email', name : 'email', id : 'email' }, { xtype : 'textfield', fieldLabel : 'Clave API (ojo con cambiar!)', name : 'clave', id : 'clave' }, new Ext.form.ComboBox( { fieldLabel : 'Moneda', hiddenName : 'idMoneda', store : storeMoneda, valueField : 'idMoneda', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { xtype : 'textfield', fieldLabel : 'Cambio', name : 'cambio', id : 'cambio' }, { xtype : 'textfield', fieldLabel : 'Clave Administrador de Agencia', name : 'claveAdmin', id : 'claveAdmin' } ] }, { columnWidth : .26, layout : 'form', defaults : { anchor : '92%' }, items : [ { xtype : 'checkbox', fieldLabel : 'Version Light', name : 'light', id : 'light', inputValue : 1 }, { xtype : 'checkbox', fieldLabel : 'Publicar precio en moneda de origen', name : 'monedaOrigen', id : 'monedaOrigen', inputValue : 1 },{ xtype : 'checkbox', fieldLabel : 'Sumar NCCF a los Resultados', name : 'sumarNCCF', id : 'sumarNCCF', inputValue : 1 }, { xtype : 'textfield', fieldLabel : 'Dominio (sin www. ej: metacruisesserver.com)', name : 'ipAgencia', id : 'ipAgencia' }, { xtype : 'textfield', fieldLabel : 'Url de Reservas (url completa ej: http://www.metacruisesserver.com/demo', name : 'urlReservas', id : 'urlReservas' } ] },{ columnWidth : .18, layout : 'form', defaults : { anchor : '92%' }, items : [ { xtype : 'textfield', fieldLabel : 'Mail Host', name : 'mailHost', id : 'mailHost' }, { xtype : 'textfield', fieldLabel : 'Mail From', name : 'mailFrom', id : 'mailFrom' }, { xtype : 'textfield', fieldLabel : 'Mail Username', name : 'mailUsername', id : 'mailUsername' }, { xtype : 'textfield', fieldLabel : 'Mail Password', name : 'mailPassword', id : 'mailPassword' } ] } ] } ], listeners : { render : function() { if (idAgencia > 0) { formAgencia.getEl().mask(); formAgencia .getForm() .load( { method : 'GET', url : 'agenciasCargar.php', params : { 'idAgencia' : idAgencia }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formAgencia.getEl() .unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winAgencia = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Agencias', width : 950, autoHeight : true, closable : true, plain : true, items : [ formAgencia ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formAgencia.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formAgencia.getEl().mask(); formAgencia .getForm() .submit( { method : 'POST', waitTitle : 'Crear Agencias', params : { 'idAgencia' : idAgencia }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winAgencia .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formAgencia .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winAgencia.destroy(); } } ] }); winAgencia.show(); } var storeAgencias = new Ext.data.JsonStore( { url : 'agenciasCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idAgencia', mapping : 'idAgencia' }, { name : 'email', mapping : 'email' }, { name : 'clave', mapping : 'clave' }, { name : 'nombre', mapping : 'nombre' }, { name : 'apellido', mapping : 'apellido' }, { name : 'razonSocial', mapping : 'razonSocial' }, { name : 'cuit', mapping : 'cuit' }, { name : 'legajo', mapping : 'legajo' }, { name : 'direccion', mapping : 'direccion' }, { name : 'ciudad', mapping : 'ciudad' }, { name : 'idProvincia', mapping : 'idProvincia' }, { name : 'cp', mapping : 'cp' }, { name : 'telefono', mapping : 'telefono' }, { name : 'celular', mapping : 'celular' }, { name : 'iframe', mapping : 'iframe' }, { name : 'fechaAlta', mapping : 'fechaAlta' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storeAgencias.load( { params : { start : 0, limit : 20 } }); var agenciasGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Agencias...' }, store : storeAgencias, columns : [ { header : 'Id#', width : 20, sortable : true, dataIndex : 'idAgencia' },{ header : 'Email', width : 50, sortable : true, dataIndex : 'email' }, { header : 'Clave', width : 50, sortable : true, dataIndex : 'clave' }, { header : 'Nombre', width : 50, sortable : true, dataIndex : 'nombre' }, { header : 'Apellido', width : 50, sortable : true, dataIndex : 'apellido' }, { header : 'Razon Social', width : 50, sortable : true, dataIndex : 'razonSocial' }, { header : 'Cuit', width : 50, sortable : true, dataIndex : 'cuit' }, { header : 'Legajo', width : 50, sortable : true, dataIndex : 'legajo' }, { header : 'Dirección', width : 50, sortable : true, dataIndex : 'direccion' }, { header : 'Ciudad', width : 50, sortable : true, dataIndex : 'ciudad' }, { header : 'Provincia', width : 50, sortable : true, dataIndex : 'idProvincia' }, { header : 'Cp', width : 50, sortable : true, dataIndex : 'cp' }, { header : 'Teléfono', width : 50, sortable : true, dataIndex : 'telefono' }, { header : 'Celular', width : 50, sortable : true, dataIndex : 'celular' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ { id : 'nuevoAgencias', text : 'Agregar Agencia', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verAgencias('', storeAgencias); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeAgencias, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoAgencias', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idAgencia, 1, storeAgencias, 'agenciasCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoAgencias', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idAgencia, 0, storeAgencias, 'agenciasCambiarEstado.php'); } } } agenciasGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarAgencias', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verAgencias(idAgencia, storeAgencias); } },{ id : 'textosAgencias', text : 'Textos Resevas y Presupuestos', iconCls : '', scope : this, handler : function() { verAgenciasTextos(idAgencia, storeAgencias); } }, { id : 'eliminarAgencias', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idAgencia, storeAgencias, 'agenciasEliminar.php'); } }, '-', { id : 'RelAgenciasLineas', text : 'Lineas Habilitadas', iconCls : 'icoLineas', scope : this, handler : function() { verRelagenciaslineasGrid(idAgencia); } }, '-', { id : 'iframeAgencias', text : 'Generar Código Iframe', iconCls : 'icoIframe', scope : this, handler : function() { Ext.MessageBox .show( { title : 'Meta Cruises Server - Código Iframe', msg : iframe, width : 900, fn : function(btn, text) { }, buttons : Ext.MessageBox.OK, animEl : 'mb3' }); } },'-',{ id : 'enviarMailBienvenidaAgencias', text : 'Enviar email de Bienvenida', iconCls : 'icoEmailsContacto', scope : this, handler : function() { enviarMailBienvenida(idAgencia); } }, estadoBoton ], listeners : { hide : function() { agenciasGrid.menu.destroy(); } } }); agenciasGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verAgencias(idAgencia, storeAgencias); } } }); var idAgencia; var estado; var iframe; agenciasGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idAgencia = r.get("idAgencia"); estado = r.get("estado"); iframe = r.get("iframe"); }); paneles.push(new Ext.Panel( { title : 'Agencias', iconCls : 'tabAgencias', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Agencias', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ agenciasGrid ] } ], listeners : { beforeshow : function() { storeAgencias.load( { params : { start : 0, limit : 20 } }); } } }));function verAgenciasTextos(idAgencia, storeReturn) { var formAgencia = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'agenciasTextosGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side' }, width : 900, items : [ { layout : 'column', items : [ { columnWidth : .5, layout : 'form', defaults : { anchor : '92%' }, items : [ { xtype : 'htmleditor', id : 'encabezadoReservas', fieldLabel : 'Encabezado Reservas', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, enableFormat : true, defaultValue : '', height : 200 },{ xtype : 'htmleditor', id : 'aclaracionesReservas', fieldLabel : 'Aclaraciones Reservas', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, enableFormat : true, defaultValue : '', height : 200 } ] }, { columnWidth : .5, layout : 'form', defaults : { anchor : '92%' }, items : [ { xtype : 'htmleditor', id : 'encabezadoPresupuestos', fieldLabel : 'Encabezado Presupuestos', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, enableFormat : true, defaultValue : '', height : 200 },{ xtype : 'htmleditor', id : 'aclaracionesPresupuestos', fieldLabel : 'Aclaraciones Presupuestos', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, enableFormat : true, defaultValue : '', height : 200 } ] } ] } ], listeners : { render : function() { if (idAgencia > 0) { formAgencia.getEl().mask(); formAgencia .getForm() .load( { method : 'GET', url : 'agenciasCargar.php', params : { 'idAgencia' : idAgencia }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formAgencia.getEl() .unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winAgencia = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Agencias', width : 900, autoHeight : true, closable : true, plain : true, items : [ formAgencia ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formAgencia.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formAgencia.getEl().mask(); formAgencia .getForm() .submit( { method : 'POST', waitTitle : 'Crear Agencias', params : { 'idAgencia' : idAgencia }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winAgencia .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formAgencia .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winAgencia.destroy(); } } ] }); winAgencia.show(); }var storeAclaracionesReservas = new Ext.data.JsonStore( { url : 'aclaracionesCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idAclaracion', mapping : 'idAclaracion' }, { name : 'idAgencia', mapping : 'idAgencia' }, { name : 'idLinea', mapping : 'idLinea' }, { name : 'idDestino', mapping : 'idDestino' }, { name : 'titulo', mapping : 'titulo' }, { name : 'detalle', mapping : 'detalle' }, { name : 'tipo', mapping : 'tipo' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); var aclaracionesGridReservas = new Ext.grid.GridPanel( { title : 'Aclaraciones de Reservas', viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Aclaraciones...' }, store : storeAclaracionesReservas, columns : [ { header : 'Linea', width : 50, sortable : true, dataIndex : 'idLinea' }, { header : 'Destino', width : 50, sortable : true, dataIndex : 'idDestino' }, { header : 'Título', width : 50, sortable : true, dataIndex : 'titulo' }, { header : 'Detalle', width : 80, sortable : true, dataIndex : 'detalle' }, { header : 'Tipo', width : 30, sortable : true, dataIndex : 'tipo' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ { id : 'nuevoAclaracionesReservas', text : 'Agregar Aclaracion', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verAclaracionesReservas('', storeAclaracionesReservas); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoAclaraciones', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idAclaracion, 1, storeAclaracionesReservas, 'aclaracionesCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoAclaraciones', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idAclaracion, 0, storeAclaracionesReservas, 'aclaracionesCambiarEstado.php'); } } } aclaracionesGridReservas.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarAclaraciones', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verAclaracionesReservas(idAclaracion, storeAclaracionesReservas); } }, { id : 'eliminarAclaraciones', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idAclaracion, storeAclaracionesReservas, 'aclaracionesEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { aclaracionesGridReservas.menu.destroy(); } } }); aclaracionesGridReservas.menu.showAt(e.getXY()); }, dblclick : function(e) { verAclaracionesReservas(idAclaracion, storeAclaracionesReservas); } } }); var idAclaracion; var estado; var idAgencia; aclaracionesGridReservas.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idAclaracion = r.get("idAclaracion"); estado = r.get("estado"); idAgencia = r.get("idAgencia"); }); var tabsAclaraciones = new Ext.TabPanel( { xtype : 'tabpanel', id : 'tabPanel', name : 'tabPanel', activeTab : 0, height : 600, items : [ aclaracionesGridReservas ] }); var storeDestino = new Ext.data.JsonStore( { url : 'destinosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idDestino', mapping : 'idDestino' }, { name : 'nombre', mapping : 'nombre' } ] }); storeDestino.load( { params : {} }); var storeLinea = new Ext.data.JsonStore( { url : 'lineasCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idLinea', mapping : 'idLinea' }, { name : 'nombre', mapping : 'nombre' } ] }); storeLinea.load( { params : {} }); var panelFiltrosAclaraciones = new Ext.FormPanel( { labelAlign : 'top', frame : true, fit : true, waitMsgTarget : true, items : [ new Ext.form.ComboBox( { fieldLabel : 'Destino', hiddenName : 'idDestino', id : 'filtroIdDestino', store : storeDestino, valueField : 'idDestino', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), new Ext.form.ComboBox( { fieldLabel : 'Linea', id : 'filtroIdLinea', hiddenName : 'idLinea', store : storeLinea, valueField : 'idLinea', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), new Ext.Button( { text : 'Aplicar Filtro', iconCls : 'icoBuscar', scale : 'medium', style : 'margin:0px 3px', handler : function() { filtroIdDestino = Ext.getCmp('filtroIdDestino').getValue(); filtroIdLinea = Ext.getCmp('filtroIdLinea').getValue(); storeAclaracionesReservas.load( { params : { tipo : 'reservas', idDestino : filtroIdDestino, idLinea : filtroIdLinea } }); } }) ], listeners : { render : function() { } } }); paneles.push(new Ext.Panel( { title : 'Aclaraciones de Reservas', iconCls : 'tabAclaraciones', cls : 'paneles', layout : 'border', items : [ { region : 'west', title : 'Lista de Aclaraciones', collapsible : true, split : true, width : 250, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ panelFiltrosAclaraciones ] }, { region : 'center', collapsible : false, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ tabsAclaraciones ] } ], listeners : { beforeshow : function() { storeAclaracionesReservas.load( { tipo : 'reservas' }); } } }));function verBarcos(idBarco, storeReturn) { var storeLinea = new Ext.data.JsonStore( { url : 'lineasCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idLinea', mapping : 'idLinea' }, { name : 'nombre', mapping : 'nombre' } ] }); storeLinea.load( { params : {} }); var formBarco = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'barcosGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 800, items : [ { layout : 'column', items : [ { columnWidth : .40, layout : 'form', defaults : { anchor : '95%' }, items : [ new Ext.form.ComboBox({ fieldLabel: 'Linea', hiddenName:'idLinea', store: storeLinea, valueField:'idLinea', displayField:'nombre', typeAhead: true, mode: 'local', triggerAction: 'all', emptyText:'Seleccione...', selectOnFocus:true }), { xtype : 'textfield', fieldLabel : 'Nombre', name : 'nombre', id : 'nombre' }, { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'Imagen', name : 'imagen' }, { xtype : 'textfield', fieldLabel : 'ShipCode', name : 'shipCode', id : 'shipCode' }, { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'Plano', name : 'plano' }, { xtype : 'textfield', fieldLabel : 'Video Youtube(Codigo solo Ej: t1a2Geljg7Y)', name : 'video', id : 'video' } ] }, { columnWidth : .60, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'htmleditor', id : 'descripcion', fieldLabel : 'Descripción', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 220 } ] } ] } ], listeners : { render : function() { if (idBarco > 0) { formBarco.getEl().mask(); formBarco .getForm() .load( { method : 'GET', url : 'barcosCargar.php', params : { 'idBarco' : idBarco }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formBarco.getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winBarco = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Barcos', width : 800, autoHeight : true, closable : true, plain : true, items : [ formBarco ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formBarco.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formBarco.getEl().mask(); formBarco .getForm() .submit( { method : 'POST', waitTitle : 'Crear Barcos', params : { 'idBarco' : idBarco }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winBarco .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formBarco.getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winBarco.destroy(); } } ] }); winBarco.show(); } var storeBarcos = new Ext.data.JsonStore( { url : 'barcosCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idBarco', mapping : 'idBarco' }, { name : 'idLinea', mapping : 'idLinea' }, { name : 'shipCode', mapping : 'shipCode' }, { name : 'nombre', mapping : 'nombre' }, { name : 'descripcion', mapping : 'descripcion' }, { name : 'imagen', mapping : 'imagen' }, { name : 'plano', mapping : 'plano' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ], listeners : { load : function() { if (idBarco) { } } } }); storeBarcos.load( { params : { start : 0, limit : 20 } }); var barcosGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Barcos...' }, store : storeBarcos, columns : [ { header : 'Linea', width : 50, sortable : true, dataIndex : 'idLinea' }, { header : 'ShipCode', width : 50, sortable : true, dataIndex : 'shipCode' }, { header : 'Nombre', width : 50, sortable : true, dataIndex : 'nombre' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado }, { header : 'Imagen', width : 50, sortable : false, dataIndex : 'imagen' }, { header : 'Plano', width : 50, sortable : false, dataIndex : 'plano' } ], tbar : [ { id : 'nuevoBarcos', text : 'Agregar Barco', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verBarcos('', storeBarcos); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeBarcos, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoBarcos', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idBarco, 1, storeBarcos, 'barcosCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoBarcos', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idBarco, 0, storeBarcos, 'barcosCambiarEstado.php'); } } } barcosGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarBarcos', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verBarcos(idBarco, storeBarcos); } }, { id : 'eliminarBarcos', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idBarco, storeBarcos, 'barcosEliminar.php'); } }, '-', { id : 'imagenesBarcos', text : 'Galería de Imagenes', iconCls : 'icoGaleria', scope : this, handler : function() { verBarcosimagenesGrid(idBarco); } }, '-', estadoBoton ], listeners : { hide : function() { barcosGrid.menu.destroy(); } } }); barcosGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verBarcos(idBarco, storeBarcos); } } }); var idBarco; var estado; barcosGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idBarco = r.get("idBarco"); estado = r.get("estado"); }); paneles.push(new Ext.Panel( { title : 'Barcos', iconCls : 'tabBarcos', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Barcos', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ barcosGrid ] } ], listeners : { beforeshow : function() { storeBarcos.load( { params : { start : 0, limit : 20 } }); } } }));function verBarcoscaracteristicas(idBarcoCaracteristica, storeReturn, idBarcoCaracteristicaTipo) { var storeBarcoCaracteristicaTipo = new Ext.data.JsonStore({ url: 'barcocaracteristicatiposCargarGrid.php', root: 'datos', totalProperty: 'total', fields: [{name: 'idBarcoCaracteristicaTipo', mapping : 'idBarcoCaracteristicaTipo'}, {name: 'nombre', mapping : 'nombre'}] }); storeBarcoCaracteristicaTipo.load({params: {}}); var formBarcocaracteristica = new Ext.FormPanel({ id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame:true, url:'barcoscaracteristicasGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor:'94%' }, width: 600, items: [{ xtype:'textfield', fieldLabel: 'Título', name: 'titulo', id: 'titulo' },{ xtype:'textfield', fieldLabel: 'Detalle', name: 'detalle', id: 'detalle' } ], listeners:{ render:function() { if(idBarcoCaracteristica>0){ formBarcocaracteristica.getEl().mask(); formBarcocaracteristica.getForm().load({ method : 'GET', url : 'barcoscaracteristicasCargar.php', params : { 'idBarcoCaracteristica': idBarcoCaracteristica}, success :function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formBarcocaracteristica.getEl().unmask(); }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winBarcocaracteristica = new Ext.Window({ modal:true, title:'Meta Cruises Server - Barcoscaracteristicas', width:600, autoHeight:true, closable: true, plain: true, items: [formBarcocaracteristica], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( formBarcocaracteristica.form.isValid() ) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formBarcocaracteristica.getEl().mask(); formBarcocaracteristica.getForm().submit({ method:'POST', waitTitle:'Crear Barcoscaracteristicas', params : { 'idBarcoCaracteristica': idBarcoCaracteristica,'idBarcoCaracteristicaTipo':idBarcoCaracteristicaTipo}, success:function(form, action){ if(storeReturn){ storeReturn.reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winBarcocaracteristica .destroy(); }, 1600); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formBarcocaracteristica.getForm().reset(); } }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ winBarcocaracteristica.destroy(); } }] }); winBarcocaracteristica.show(); }function verBarcoscaracteristicasGrid(idBarcoCaracteristicaTipo){ var storeBarcoscaracteristicas = new Ext.data.JsonStore({ url: 'barcoscaracteristicasCargarGrid.php', remoteSort: true, root: 'datos', totalProperty: 'total', fields: [ {name: 'idBarcoCaracteristica', mapping : 'idBarcoCaracteristica'}, {name: 'idBarcoCaracteristicaTipo', mapping : 'idBarcoCaracteristicaTipo'}, {name: 'titulo', mapping : 'titulo'}, {name: 'detalle', mapping : 'detalle'}, {name: 'estado', mapping : 'estado',renderer:formatEstado} ] }); storeBarcoscaracteristicas.load({params: {start:0,limit:20,idBarcoCaracteristicaTipo:idBarcoCaracteristicaTipo}}); var barcoscaracteristicasGrid = new Ext.grid.GridPanel({ autoHeight:true, viewConfig: { forceFit: true }, loadMask: {msg:'Cargando Barcoscaracteristicas...'}, store: storeBarcoscaracteristicas, columns: [ {header: 'Título', width: 50,sortable: true, dataIndex: 'titulo'}, {header: 'Detalle', width: 50,sortable: true, dataIndex: 'detalle'}, {header: "Estado", width: 20, sortable: true, dataIndex: 'estado',renderer: formatEstado} ], tbar: [{ id:'nuevoBarcoscaracteristicas', text: 'Agregar Barcoscaracteristica', iconCls: 'icoNuevo', scale: 'medium', scope: this, handler : function(){ verBarcoscaracteristicas('',storeBarcoscaracteristicas,idBarcoCaracteristicaTipo); } }], sm: new Ext.grid.RowSelectionModel({singleSelect:true}), bbar: new Ext.PagingToolbar({ pageSize: 20, store: storeBarcoscaracteristicas, displayInfo: true }), listeners:{ rowcontextmenu : function(ts,rI, e){ ts.getSelectionModel().selectRow(rI); e.stopEvent(); if(estado==0){ var estadoBoton={ id:'estadoBarcoscaracteristicas', text: 'Activar', iconCls: 'icoActivar', scope: this, handler : function(){ cambiarEstadoRegistro(idBarcoCaracteristica,1,storeBarcoscaracteristicas,'barcoscaracteristicasCambiarEstado.php'); } } }else{ var estadoBoton={ id:'estadoBarcoscaracteristicas', text: 'Desactivar', iconCls: 'icoDesactivar', scope: this, handler : function(){ cambiarEstadoRegistro(idBarcoCaracteristica,0,storeBarcoscaracteristicas,'barcoscaracteristicasCambiarEstado.php'); } } } barcoscaracteristicasGrid.menu = new Ext.menu.Menu({ id:'feeds-ctx', width:'200', items: [{ id:'modificarBarcoscaracteristicas', text: 'Modificar', iconCls: 'icoModificar', scope: this, handler : function(){ verBarcoscaracteristicas(idBarcoCaracteristica,storeBarcoscaracteristicas,idBarcoCaracteristicaTipo); } },{ id:'eliminarBarcoscaracteristicas', text: 'Eliminar', iconCls: 'icoEliminar', scope: this, handler : function(){ eliminarRegistro(idBarcoCaracteristica,storeBarcoscaracteristicas,'barcoscaracteristicasEliminar.php'); } },'-',estadoBoton], listeners:{ hide:function() { barcoscaracteristicasGrid.menu.destroy(); } } }); barcoscaracteristicasGrid.menu.showAt(e.getXY()); }, dblclick : function(e){ verBarcoscaracteristicas(idBarcoCaracteristica,storeBarcoscaracteristicas,idBarcoCaracteristicaTipo); } } }); var idBarcoCaracteristica; var estado; barcoscaracteristicasGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idBarcoCaracteristica=r.get("idBarcoCaracteristica"); estado=r.get("estado"); }); var panelBarcoscaracteristicas = new Ext.Window({ buttonAlign: 'center', modal:true, title:'Barcoscaracteristicas', width:600, autoHeight:true, closable: true, plain: true, items: [barcoscaracteristicasGrid], // All the magic happens after the user clicks the button buttons:[{ text:'Cerrar', handler:function(){ panelBarcoscaracteristicas.destroy(); } }] }); panelBarcoscaracteristicas.show(); } ;function verBarcoscaracteristicastipos(idBarcoCaracteristicaTipo,storeReturn){ var storeBarco = new Ext.data.JsonStore({ url: 'barcosCargarGrid.php', root: 'datos', totalProperty: 'total', fields: [{name: 'idBarco', mapping : 'idBarco'}, {name: 'nombre', mapping : 'nombre'}] }); storeBarco.load({params: {}}); var formBarcoscaracteristicastipo = new Ext.FormPanel({ id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame:true, url:'barcoscaracteristicastiposGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor:'94%' }, width: 600, items: [ new Ext.form.ComboBox({ fieldLabel: 'Barco', hiddenName:'idBarco', store: storeBarco, valueField:'idBarco', displayField:'nombre', typeAhead: true, mode: 'local', triggerAction: 'all', emptyText:'Seleccione...', selectOnFocus:true }),{ xtype:'textfield', fieldLabel: 'Nombre', name: 'nombre', id: 'nombre' } ], listeners:{ render:function() { if(idBarcoCaracteristicaTipo>0){ formBarcoscaracteristicastipo.getEl().mask(); formBarcoscaracteristicastipo.getForm().load({ method : 'GET', url : 'barcoscaracteristicastiposCargar.php', params : { 'idBarcoCaracteristicaTipo': idBarcoCaracteristicaTipo}, success :function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formBarcoscaracteristicastipo.getEl().unmask(); }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winBarcoscaracteristicastipo = new Ext.Window({ modal:true, title:'Meta Cruises Server - Barcoscaracteristicastipos', width:600, autoHeight:true, closable: true, plain: true, items: [formBarcoscaracteristicastipo], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( formBarcoscaracteristicastipo.form.isValid() ) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formBarcoscaracteristicastipo.getEl().mask(); formBarcoscaracteristicastipo.getForm().submit({ method:'POST', waitTitle:'Crear Barcoscaracteristicastipos', params : { 'idBarcoCaracteristicaTipo': idBarcoCaracteristicaTipo}, success:function(form, action){ if(storeReturn){ storeReturn.reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winBarcoscaracteristicastipo .destroy(); }, 1600); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formBarcoscaracteristicastipo.getForm().reset(); } }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ winBarcoscaracteristicastipo.destroy(); } }] }); winBarcoscaracteristicastipo.show(); }var storeBarcoscaracteristicastipos = new Ext.data.JsonStore( { url : 'barcoscaracteristicastiposCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idBarcoCaracteristicaTipo', mapping : 'idBarcoCaracteristicaTipo' }, { name : 'idBarco', mapping : 'idBarco' }, { name : 'barco', mapping : 'barco' }, { name : 'nombre', mapping : 'nombre' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ], listeners : { load : function() { if (idBarcoCaracteristicaTipo) { } } } }); storeBarcoscaracteristicastipos.load( { params : { start : 0, limit : 20 } }); var barcoscaracteristicastiposGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Barcoscaracteristicastipos...' }, store : storeBarcoscaracteristicastipos, columns : [ { header : 'Barco', width : 50, sortable : true, dataIndex : 'barco' }, { header : 'Nombre', width : 50, sortable : true, dataIndex : 'nombre' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ { id : 'nuevoBarcoscaracteristicastipos', text : 'Agregar Barcoscaracteristicastipo', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verBarcoscaracteristicastipos('', storeBarcoscaracteristicastipos); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeBarcoscaracteristicastipos, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoBarcoscaracteristicastipos', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro( idBarcoCaracteristicaTipo, 1, storeBarcoscaracteristicastipos, 'barcoscaracteristicastiposCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoBarcoscaracteristicastipos', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro( idBarcoCaracteristicaTipo, 0, storeBarcoscaracteristicastipos, 'barcoscaracteristicastiposCambiarEstado.php'); } } } barcoscaracteristicastiposGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarBarcoscaracteristicastipos', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verBarcoscaracteristicastipos( idBarcoCaracteristicaTipo, storeBarcoscaracteristicastipos); } }, { id : 'eliminarBarcoscaracteristicastipos', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro( idBarcoCaracteristicaTipo, storeBarcoscaracteristicastipos, 'barcoscaracteristicastiposEliminar.php'); } }, '-', { id : 'verBarcoscaracteristicas', text : 'Caracteristicas Items', iconCls : 'icoCaracteristicas', scope : this, handler : function() { verBarcoscaracteristicasGrid(idBarcoCaracteristicaTipo); } }, '-', estadoBoton ], listeners : { hide : function() { barcoscaracteristicastiposGrid.menu .destroy(); } } }); barcoscaracteristicastiposGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verBarcoscaracteristicastipos(idBarcoCaracteristicaTipo, storeBarcoscaracteristicastipos); } } }); var idBarcoCaracteristicaTipo; var estado; barcoscaracteristicastiposGrid .getSelectionModel() .on( 'rowselect', function(sm, rowIdx, r) { idBarcoCaracteristicaTipo = r .get("idBarcoCaracteristicaTipo"); idBarco = r.get("idBarco"); estado = r.get("estado"); }); paneles.push(new Ext.Panel( { title : 'Barcos Ficha Tecnica', iconCls : 'tabBarcoscaracteristicastipos', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Barcoscaracteristicastipos', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ barcoscaracteristicastiposGrid ] } ], listeners : { beforeshow : function() { storeBarcoscaracteristicastipos.load( { params : { start : 0, limit : 20 } }); } } }));function verBarcosimagenes(idBarcoImagen, storeReturn, idBarco) { var formBarcoimagen = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'barcosimagenesGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 600, items : [ { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'Imagen', name : 'imagen' }, { xtype : 'htmleditor', id : 'descripcion', fieldLabel : 'Descripción', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 } ], listeners : { render : function() { if (idBarcoImagen > 0) { formBarcoimagen.getEl().mask(); formBarcoimagen.getForm().load( { method : 'GET', url : 'barcosimagenesCargar.php', params : { 'idBarcoImagen' : idBarcoImagen }, success : function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formBarcoimagen.getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winBarcoimagen = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Barcosimagenes', width : 600, autoHeight : true, closable : true, plain : true, items : [ formBarcoimagen ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formBarcoimagen.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formBarcoimagen.getEl().mask(); formBarcoimagen.getForm().submit( { method : 'POST', waitTitle : 'Crear Barcosimagenes', params : { 'idBarcoImagen' : idBarcoImagen,idBarco:idBarco }, success : function(form, action) { if (storeReturn) { storeReturn.reload(); } sb.setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout(function() { winBarcoimagen.destroy(); }, 1600); }, failure : function(form, action) { Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formBarcoimagen.getForm().reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winBarcoimagen.destroy(); } } ] }); winBarcoimagen.show(); }function verBarcosimagenesGrid(idBarco) { var storeBarcosimagenes = new Ext.data.JsonStore({ url : 'barcosimagenesCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idBarcoImagen', mapping : 'idBarcoImagen' }, { name : 'idBarco', mapping : 'idBarco' }, { name : 'imagen', mapping : 'imagen' }, { name : 'descripcion', mapping : 'descripcion' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storeBarcosimagenes.load({ params : { start : 0, limit : 5, idBarco : idBarco } }); var barcosimagenesGrid = new Ext.grid.GridPanel({ autoHeight : true, viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Barcosimagenes...' }, store : storeBarcosimagenes, columns : [ { header : 'Imagen', width : 50, sortable : true, dataIndex : 'imagen' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ { id : 'nuevoBarcosimagenes', text : 'Agregar Barcoimagen', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verBarcosimagenes('', storeBarcosimagenes, idBarco); } } ], sm : new Ext.grid.RowSelectionModel({ singleSelect : true }), bbar : new Ext.PagingToolbar({ pageSize : 5, store : storeBarcosimagenes, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoBarcosimagenes', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idBarcoImagen, 1, storeBarcosimagenes, 'barcosimagenesCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoBarcosimagenes', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idBarcoImagen, 0, storeBarcosimagenes, 'barcosimagenesCambiarEstado.php'); } } } barcosimagenesGrid.menu = new Ext.menu.Menu({ id : 'feeds-ctx', width : '200', items : [ { id : 'modificarBarcosimagenes', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verBarcosimagenes(idBarcoImagen, storeBarcosimagenes, idBarco); } }, { id : 'eliminarBarcosimagenes', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idBarcoImagen, storeBarcosimagenes, 'barcosimagenesEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { barcosimagenesGrid.menu.destroy(); } } }); barcosimagenesGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verBarcosimagenes(idBarcoImagen, storeBarcosimagenes, idBarco); } } }); var idBarcoImagen; var estado; barcosimagenesGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idBarcoImagen = r.get("idBarcoImagen"); estado = r.get("estado"); }); var panelBarcosimagenes = new Ext.Window({ buttonAlign : 'center', modal : true, title : 'Barcosimagenes', width : 600, autoHeight : true, closable : true, plain : true, items : [ barcosimagenesGrid ], // All the magic happens after the user clicks the button buttons : [ { text : 'Cerrar', handler : function() { panelBarcosimagenes.destroy(); } } ] }); panelBarcosimagenes.show(); };function verCategorias(idCategoria, storeReturn) { Ext.namespace('Ext.inOut'); Ext.inOut.states = [ [ "I", 'Interna' ], [ "E", 'Externa' ],[ "B", 'Con Balcon' ], [ "S", 'Suite' ] ]; var formCategoria = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'categoriasGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 800, items : [ { layout : 'column', items : [ { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'CabinCat', name : 'cabinCat', id : 'cabinCat' }, { xtype : 'htmleditor', id : 'descripcion', fieldLabel : 'Descripción', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 }, { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'Imagen', name : 'imagen' } ] }, { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'Nombre', name : 'nombre', id : 'nombre' }, { xtype : 'textfield', fieldLabel : 'Ocupacion', name : 'ocupacion', id : 'ocupacion' }, new Ext.form.ComboBox( { fieldLabel : 'InOut', hiddenName : 'inOut', store : new Ext.data.SimpleStore( { fields : [ 'id', 'nombre' ], data : Ext.inOut.states }), valueField : 'id', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }),{ xtype : 'textfield', fieldLabel : 'Color', name : 'color', id : 'color' } ] } ] } ], listeners : { render : function() { if (idCategoria > 0) { formCategoria.getEl().mask(); formCategoria.getForm().load( { method : 'GET', url : 'categoriasCargar.php', params : { 'idCategoria' : idCategoria }, success : function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formCategoria.getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winCategoria = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Categorias', width : 800, autoHeight : true, closable : true, plain : true, items : [ formCategoria ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formCategoria.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formCategoria.getEl().mask(); formCategoria.getForm().submit( { method : 'POST', waitTitle : 'Crear Categorias', params : { 'idCategoria' : idCategoria }, success : function(form, action) { if (storeReturn) { storeReturn.reload(); } sb.setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout(function() { winCategoria.destroy(); }, 1600); }, failure : function(form, action) { Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formCategoria.getForm().reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winCategoria.destroy(); } } ] }); winCategoria.show(); }var storeCategorias = new Ext.data.JsonStore( { url : 'categoriasCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idCategoria', mapping : 'idCategoria' }, { name : 'cabinCat', mapping : 'cabinCat' }, { name : 'nombre', mapping : 'nombre' }, { name : 'descripcion', mapping : 'descripcion' }, { name : 'ocupacion', mapping : 'ocupacion' }, { name : 'imagen', mapping : 'imagen' }, { name : 'inOut', mapping : 'inOut' }, { name : 'estado', mapping : 'estado', renderer : formatEstado }, { name : 'idBarco', mapping : 'idBarco' } ], listeners : { load : function() { if (idCategoria) { } } } }); storeCategorias.load( { params : { start : 0, limit : 20 } }); var categoriasGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Categorias...' }, store : storeCategorias, columns : [ { header : 'Id', width : 50, sortable : true, dataIndex : 'idCategoria' }, { header : 'CabinCat', width : 50, sortable : true, dataIndex : 'cabinCat' }, { header : 'Nombre', width : 50, sortable : true, dataIndex : 'nombre' }, { header : 'Deck (Barco)', width : 50, sortable : true, dataIndex : 'idBarco' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado }, { header : 'Imagen', width : 50, sortable : false, dataIndex : 'imagen' } ], tbar : [ { id : 'nuevoCategorias', text : 'Agregar Categoria', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verCategorias('', storeCategorias); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeCategorias, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoCategorias', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idCategoria, 1, storeCategorias, 'categoriasCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoCategorias', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idCategoria, 0, storeCategorias, 'categoriasCambiarEstado.php'); } } } categoriasGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarCategorias', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verCategorias(idCategoria, storeCategorias); } }, { id : 'eliminarCategorias', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idCategoria, storeCategorias, 'categoriasEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { categoriasGrid.menu.destroy(); } } }); categoriasGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verCategorias(idCategoria, storeCategorias); } } }); var idCategoria; var idBarco; var estado; categoriasGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idCategoria = r.get("idCategoria"); idBarco = r.get("idBarco"); estado = r.get("estado"); }); paneles.push(new Ext.Panel( { title : 'Categorias', iconCls : 'tabCategorias', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Categorias', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ categoriasGrid ] } ], listeners : { beforeshow : function() { storeCategorias.load( { params : { start : 0, limit : 20 } }); } } }));function verCruceros(idCrucero, storeReturn) { var storeDestino = new Ext.data.JsonStore( { url : 'destinosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idDestino', mapping : 'idDestino' }, { name : 'nombre', mapping : 'nombre' } ] }); storeDestino.load( { params : {} }); var storePuerto = new Ext.data.JsonStore( { url : 'puertosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idPuerto', mapping : 'idPuerto' }, { name : 'nombre', mapping : 'nombre' } ] }); storePuerto.load( { params : {} }); var storeBarco = new Ext.data.JsonStore( { url : 'barcosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idBarco', mapping : 'idBarco' }, { name : 'nombre', mapping : 'nombre' } ] }); storeBarco.load( { params : {} }); var formCrucero = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'crucerosGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 800, items : [ { layout : 'column', items : [ { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ new Ext.form.ComboBox( { fieldLabel : 'Destino', hiddenName : 'idDestino', store : storeDestino, valueField : 'idDestino', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), new Ext.form.ComboBox( { fieldLabel : 'Barco', hiddenName : 'idBarco', store : storeBarco, valueField : 'idBarco', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { xtype : 'textfield', fieldLabel : 'Duracion', name : 'duracion', id : 'duracion' } ] }, { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ new Ext.form.ComboBox( { fieldLabel : 'Puerto', hiddenName : 'idPuerto', store : storePuerto, valueField : 'idPuerto', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { xtype : 'textfield', fieldLabel : 'PackageId', name : 'packageId', id : 'packageId' }, { xtype : 'htmleditor', id : 'itinerarioDescripcion', fieldLabel : 'Itinerario Descripcion', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 } ] } ] } ], listeners : { render : function() { if (idCrucero > 0) { formCrucero.getEl().mask(); formCrucero.getForm().load( { method : 'GET', url : 'crucerosCargar.php', params : { 'idCrucero' : idCrucero }, success : function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formCrucero.getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winCrucero = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Cruceros', width : 800, autoHeight : true, closable : true, plain : true, items : [ formCrucero ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formCrucero.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formCrucero.getEl().mask(); formCrucero.getForm().submit( { method : 'POST', waitTitle : 'Crear Cruceros', params : { 'idCrucero' : idCrucero }, success : function(form, action) { if (storeReturn) { storeReturn.reload(); } sb.setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout(function() { winCrucero.destroy(); }, 1600); }, failure : function(form, action) { Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formCrucero.getForm().reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winCrucero.destroy(); } } ] }); winCrucero.show(); }var storeCruceros = new Ext.data.JsonStore( { url : 'crucerosCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idCrucero', mapping : 'idCrucero' }, { name : 'idDestino', mapping : 'idDestino' }, { name : 'idPuerto', mapping : 'idPuerto' }, { name : 'idBarco', mapping : 'idBarco' }, { name : 'packageId', mapping : 'packageId' }, { name : 'duracion', mapping : 'duracion' }, { name : 'itinerarioDescripcion', mapping : 'itinerarioDescripcion' }, { name : 'fechaActualizacion', mapping : 'fechaActualizacion' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storeCruceros.load( { params : { start : 0, limit : 20 } }); var storeLineaCombo = new Ext.data.JsonStore( { url : 'lineasCargarGridCombo.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idLinea', mapping : 'idLinea' }, { name : 'nombre', mapping : 'nombre' } ] }); storeLineaCombo.load( { params : {} }); var crucerosGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Cruceros...' }, store : storeCruceros, columns : [ { header : 'Destino', width : 50, sortable : true, dataIndex : 'idDestino' }, { header : 'Puerto', width : 50, sortable : true, dataIndex : 'idPuerto' }, { header : 'Barco', width : 50, sortable : true, dataIndex : 'idBarco' }, { header : 'PackageId', width : 50, sortable : true, dataIndex : 'packageId' }, { header : 'Duracion', width : 50, sortable : true, dataIndex : 'duracion' }, { header : 'Actualizado', width : 50, sortable : true, dataIndex : 'fechaActualizacion' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ 'Linea: ', new Ext.form.ComboBox( { fieldLabel : 'Linea', id : 'idLineaFiltro', hiddenName : 'idLinea', store : storeLineaCombo, valueField : 'idLinea', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { id : 'filtrarCruceros', text : 'Filtrar', iconCls : 'icoRecargar', scale : 'medium', scope : this, handler : function() { idLinea = Ext.getCmp('idLineaFiltro').getValue(); storeCruceros.load( { params : { idLinea : idLinea } }); } },'-', { id : 'nuevoCruceros', text : 'Agregar Crucero', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verCruceros('', storeCruceros); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeCruceros, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoCruceros', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idCrucero, 1, storeCruceros, 'crucerosCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoCruceros', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idCrucero, 0, storeCruceros, 'crucerosCambiarEstado.php'); } } } crucerosGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarCruceros', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verCruceros(idCrucero, storeCruceros); } }, { id : 'eliminarCruceros', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idCrucero, storeCruceros, 'crucerosEliminar.php'); } } , '-', { id : 'itinerarioCruceros', text : 'Itinerario', iconCls : 'icoModificar', scope : this, handler : function() { verCrucerositinerariosGrid(idCrucero); } }, '-', { id : 'precioCruceros', text : 'Fechas', iconCls : 'icoModificar', scope : this, handler : function() { verCrucerospreciosGrid(idCrucero); } }, '-', estadoBoton ], listeners : { hide : function() { crucerosGrid.menu.destroy(); } } }); crucerosGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verCruceros(idCrucero, storeCruceros); } } }); var idCrucero; var estado; crucerosGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idCrucero = r.get("idCrucero"); estado = r.get("estado"); }); paneles.push(new Ext.Panel( { title : 'Cruceros', iconCls : 'tabCruceros', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Cruceros', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ crucerosGrid ] } ], listeners : { beforeshow : function() { storeCruceros.load( { params : { start : 0, limit : 20 } }); storeLineaCombo.load( { params : {} }); } } }));function verCrucerositinerarios(idItinerario, storeReturn,idCrucero) { var storePuerto = new Ext.data.JsonStore( { url : 'puertosCargarGridCombo.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idPuerto', mapping : 'idPuerto' }, { name : 'nombre', mapping : 'nombre' } ] }); storePuerto.load( { params : {} }); Ext.namespace('Ext.dia'); Ext.dia.states = [ [ 1, 'Dia 1' ], [ 2, 'Dia 2' ], [ 3, 'Dia 3' ], [ 4, 'Dia 4' ], [ 5, 'Dia 5' ], [ 6, 'Dia 6' ], [ 7, 'Dia 7' ], [ 8, 'Dia 8' ], [ 9, 'Dia 9' ], [10, 'Dia 10' ], [11, 'Dia 11' ], [ 12, 'Dia 12' ], [ 13, 'Dia 13' ], [ 14, 'Dia 14' ], [ 15, 'Dia 15' ],[ 16, 'Dia 16' ], [ 17, 'Dia 17' ], [ 18, 'Dia 18' ], [ 19, 'Dia 19' ], [ 20, 'Dia 20' ], [ 21, 'Dia 21' ], [ 22, 'Dia 22' ], [ 23, 'Dia 23' ], [ 24, 'Dia 24' ], [25, 'Dia 25' ], [26, 'Dia 26' ], [ 27, 'Dia 27' ], [ 28, 'Dia 28' ], [ 29, 'Dia 29' ], [ 30, 'Dia 30' ], [ 31, 'Dia 31' ], [ 32, 'Dia 32' ], [ 33, 'Dia 33' ], [ 34, 'Dia 34' ], [35, 'Dia 35' ], [36, 'Dia 36' ], [ 37, 'Dia 37' ], [ 38, 'Dia 38' ], [ 39, 'Dia 39' ], [ 40, 'Dia 40' ], [ 41, 'Dia 31' ], [ 42, 'Dia 42' ], [ 43, 'Dia 43' ], [ 44, 'Dia 44' ], [45, 'Dia 45' ], [46, 'Dia 46' ], [ 47, 'Dia 47' ], [ 48, 'Dia 48' ], [ 49, 'Dia 49' ], [ 50, 'Dia 50' ], [ 51, 'Dia 51' ], [ 52, 'Dia 52' ], [ 53, 'Dia 53' ], [ 54, 'Dia 54' ], [55, 'Dia 55' ], [56, 'Dia 56' ], [ 57, 'Dia 57' ], [ 58, 'Dia 58' ], [ 59, 'Dia 59' ], [ 60, 'Dia 60' ], [ 61, 'Dia 61' ], [ 62, 'Dia 62' ], [ 63, 'Dia 63' ], [ 64, 'Dia 64' ], [65, 'Dia 65' ], [66, 'Dia 66' ], [ 67, 'Dia 67' ], [ 68, 'Dia 68' ], [ 69, 'Dia 69' ], [ 70, 'Dia 70' ], [ 71, 'Dia 71' ], [ 72, 'Dia 72' ], [ 73, 'Dia 73' ], [ 74, 'Dia 74' ], [75, 'Dia 75' ], [76, 'Dia 76' ], [ 77, 'Dia 77' ], [ 78, 'Dia 78' ], [ 79, 'Dia 79' ], [ 80, 'Dia 80' ], [ 81, 'Dia 81' ], [ 82, 'Dia 82' ], [ 83, 'Dia 83' ], [ 84, 'Dia 84' ], [85, 'Dia 85' ], [86, 'Dia 86' ], [ 87, 'Dia 87' ], [ 88, 'Dia 88' ], [ 89, 'Dia 89' ], [ 90, 'Dia 90' ], [ 91, 'Dia 91' ], [ 92, 'Dia 92' ], [ 93, 'Dia 93' ], [ 94, 'Dia 94' ], [95, 'Dia 95' ], [96, 'Dia 96' ], [ 97, 'Dia 97' ], [ 98, 'Dia 98' ], [ 99, 'Dia 99' ], [ 100, 'Dia 100' ], [ 101, 'Dia 101' ], [ 102, 'Dia 102' ], [ 103, 'Dia 103' ], [ 104, 'Dia 104' ], [105, 'Dia 105' ], [106, 'Dia 106' ], [ 107, 'Dia 107' ], [ 108, 'Dia 108' ], [ 109, 'Dia 109' ], [ 110, 'Dia 110' ] ]; Ext.namespace('Ext.llegada'); Ext.llegada.states = [ [ '00000', '---' ],[ '00301', '00:30' ],[ '01001', '01:00' ],[ '01301', '01:30' ],[ '02001', '02:00' ],[ '02301', '02:30' ],[ '03001', '03:00' ],[ '03301', '03:30' ],[ '04001', '04:00' ],[ '04301', '04:30' ],[ '05001', '05:00' ],[ '05301', '05:30' ],[ '06001', '06:00' ],[ '06301', '06:30' ],[ '07001', '07:00' ],[ '07301', '07:30' ],[ '08001', '08:00' ],[ '08301', '08:30' ], [ '09001', '09:00' ],[ '09301', '09:30' ], [ '10001', '10:00' ],[ '10301', '10:30' ], [ '11001', '11:00' ],[ '11301', '11:30' ], [ '12001', '12:00' ],[ '12301', '12:30' ], [ '13001', '13:00' ],[ '13301', '13:30' ], [ '14001', '14:00' ],[ '14301', '14:30' ], [ '15001', '15:00' ],[ '15301', '15:30' ], [ '16001', '16:00' ],[ '16301', '16:30' ], [ '17001', '17:00' ],[ '17301', '17:30' ], [ '18001', '18:00' ],[ '18301', '18:30' ], [ '19001', '19:00' ],[ '19301', '19:30' ], [ '20001', '20:00' ],[ '20301', '20:30' ], [ '21001', '21:00' ],[ '21301', '21:30' ], [ '22001', '22:00' ],[ '22301', '22:30' ], [ '23001', '23:00' ],[ '2301', '23:30' ], [ '00001', '00:00' ] ]; Ext.namespace('Ext.salida'); Ext.salida.states = [ [ '00000', '---' ],[ '00301', '00:30' ],[ '01001', '01:00' ],[ '01301', '01:30' ],[ '02001', '02:00' ],[ '02301', '02:30' ],[ '03001', '03:00' ],[ '03301', '03:30' ],[ '04001', '04:00' ],[ '04301', '04:30' ],[ '05001', '05:00' ],[ '05301', '05:30' ],[ '06001', '06:00' ],[ '06301', '06:30' ],[ '07001', '07:00' ],[ '07301', '07:30' ],[ '08001', '08:00' ],[ '08301', '08:30' ], [ '09001', '09:00' ],[ '09301', '09:30' ], [ '10001', '10:00' ],[ '10301', '10:30' ], [ '11001', '11:00' ],[ '11301', '11:30' ], [ '12001', '12:00' ],[ '12301', '12:30' ], [ '13001', '13:00' ],[ '13301', '13:30' ], [ '14001', '14:00' ],[ '14301', '14:30' ], [ '15001', '15:00' ],[ '15301', '15:30' ], [ '16001', '16:00' ],[ '16301', '16:30' ], [ '17001', '17:00' ],[ '17301', '17:30' ], [ '18001', '18:00' ],[ '18301', '18:30' ], [ '19001', '19:00' ],[ '19301', '19:30' ], [ '20001', '20:00' ],[ '20301', '20:30' ], [ '21001', '21:00' ],[ '21301', '21:30' ], [ '22001', '22:00' ],[ '22301', '22:30' ], [ '23001', '23:00' ],[ '2301', '23:30' ], [ '00001', '00:00' ] ]; Ext.namespace('Ext.actividad'); Ext.actividad.states = [ [ 1, 'Puerto' ], [ 2, 'Dato 2' ] ]; var formCruceroitinerario = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'crucerositinerariosGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 600, items : [ new Ext.form.ComboBox( { fieldLabel : 'Puerto', hiddenName : 'idPuerto', store : storePuerto, valueField : 'idPuerto', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), new Ext.form.ComboBox( { fieldLabel : 'Llegada', hiddenName : 'llegada', store : new Ext.data.SimpleStore( { fields : [ 'id', 'nombre' ], data : Ext.llegada.states }), valueField : 'id', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), new Ext.form.ComboBox( { fieldLabel : 'Dia', hiddenName : 'dia', store : new Ext.data.SimpleStore( { fields : [ 'id', 'nombre' ], data : Ext.dia.states }), valueField : 'id', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), new Ext.form.ComboBox( { fieldLabel : 'Salida', hiddenName : 'salida', store : new Ext.data.SimpleStore( { fields : [ 'id', 'nombre' ], data : Ext.salida.states }), valueField : 'id', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }) ], listeners : { render : function() { if (idItinerario > 0) { formCruceroitinerario.getEl().mask(); formCruceroitinerario.getForm().load( { method : 'GET', url : 'crucerositinerariosCargar.php', params : { 'idItinerario' : idItinerario }, success : function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formCruceroitinerario.getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winCruceroitinerario = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Crucerositinerarios', width : 600, autoHeight : true, closable : true, plain : true, items : [ formCruceroitinerario ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formCruceroitinerario.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formCruceroitinerario.getEl().mask(); formCruceroitinerario.getForm().submit( { method : 'POST', waitTitle : 'Crear Crucerositinerarios', params : { 'idItinerario' : idItinerario,'idCrucero':idCrucero }, success : function(form, action) { if (storeReturn) { storeReturn.reload(); } sb.setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout(function() { winCruceroitinerario.destroy(); }, 1600); }, failure : function(form, action) { Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formCruceroitinerario.getForm().reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winCruceroitinerario.destroy(); } } ] }); winCruceroitinerario.show(); }function verCrucerositinerariosGrid(idCrucero) { var storeCrucerositinerarios = new Ext.data.JsonStore( { url : 'crucerositinerariosCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idItinerario', mapping : 'idItinerario' }, { name : 'idCrucero', mapping : 'idCrucero' }, { name : 'idPuerto', mapping : 'idPuerto' }, { name : 'dia', mapping : 'dia' }, { name : 'llegada', mapping : 'llegada' }, { name : 'salida', mapping : 'salida' }, { name : 'actividad', mapping : 'actividad' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storeCrucerositinerarios.load( { params : { start : 0, limit : 20, idCrucero : idCrucero } }); var crucerositinerariosGrid = new Ext.grid.GridPanel( { autoHeight : true, viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Crucerositinerarios...' }, store : storeCrucerositinerarios, columns : [ { header : 'Puerto', width : 50, sortable : true, dataIndex : 'idPuerto' }, { header : 'Dia', width : 50, sortable : true, dataIndex : 'dia' }, { header : 'Llegada', width : 50, sortable : true, dataIndex : 'llegada' }, { header : 'Salida', width : 50, sortable : true, dataIndex : 'salida' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), tbar : [ { id : 'nuevoItinerario', text : 'Agregar Itinerario', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verCrucerositinerarios('', storeCrucerositinerarios, idCrucero) } } ], bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeCrucerositinerarios, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoCrucerositinerarios', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idItinerario, 1, storeCrucerositinerarios, 'crucerositinerariosCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoCrucerositinerarios', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idItinerario, 0, storeCrucerositinerarios, 'crucerositinerariosCambiarEstado.php'); } } } crucerositinerariosGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarCrucerositinerarios', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verCrucerositinerarios( idItinerario, storeCrucerositinerarios, idCrucero); } }, { id : 'eliminarCrucerositinerarios', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro( idItinerario, storeCrucerositinerarios, 'crucerositinerariosEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { crucerositinerariosGrid.menu .destroy(); } } }); crucerositinerariosGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verCrucerositinerarios(idItinerario, storeCrucerositinerarios, idCrucero); } } }); var idItinerario; var estado; crucerositinerariosGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idItinerario = r.get("idItinerario"); estado = r.get("estado"); }); var panelCrucerositinerarios = new Ext.Window( { buttonAlign : 'center', modal : true, title : 'Crucerositinerarios', width : 600, autoHeight : true, closable : true, plain : true, items : [ crucerositinerariosGrid ], // All the magic happens after the user clicks the button buttons : [ { text : 'Cerrar', handler : function() { panelCrucerositinerarios.destroy(); } } ] }); panelCrucerositinerarios.show(); };function verCrucerosprecios(idPrecio, storeReturn, idCrucero) { var formCruceroprecio = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'crucerospreciosGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 600, items : [ { xtype : 'datefield', format : 'd/m/Y', fieldLabel : 'Fecha Salida', name : 'fechaSalida', id : 'fechaSalida', anchor : '45%' }, { layout : 'column', items : [ { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'Precio Interno', name : 'precioI', id : 'precioI' }, { xtype : 'textfield', fieldLabel : 'Precio Externo', name : 'precioE', id : 'precioE' }, { xtype : 'textfield', fieldLabel : 'Precio con Balcon', name : 'precioB', id : 'precioB' }, { xtype : 'textfield', fieldLabel : 'Precio Suite', name : 'precioS', id : 'precioS' } ] }, { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'Rate Interno', name : 'rateI', id : 'rateI' }, { xtype : 'textfield', fieldLabel : 'Rate Externo', name : 'rateE', id : 'rateE' }, { xtype : 'textfield', fieldLabel : 'Rate con Balco', name : 'rateB', id : 'rateB' }, { xtype : 'textfield', fieldLabel : 'Rate Suite', name : 'rateS', id : 'rateS' } ] } ] } ], listeners : { render : function() { if (idPrecio > 0) { formCruceroprecio.getEl().mask(); formCruceroprecio .getForm() .load( { method : 'GET', url : 'crucerospreciosCargar.php', params : { 'idPrecio' : idPrecio }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus({ text : 'Cargado!', iconCls : 'x-status-valid' }); formCruceroprecio.getEl() .unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winCruceroprecio = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Crucerosprecios', width : 600, autoHeight : true, closable : true, plain : true, items : [ formCruceroprecio ], bbar : new Ext.ux.StatusBar({ id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus({ form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formCruceroprecio.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formCruceroprecio.getEl().mask(); formCruceroprecio .getForm() .submit( { method : 'POST', waitTitle : 'Crear Crucerosprecios', params : { 'idPrecio' : idPrecio, 'idCrucero' : idCrucero }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus({ text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winCruceroprecio .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formCruceroprecio .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winCruceroprecio.destroy(); } } ] }); winCruceroprecio.show(); }function verCrucerospreciosGrid(idCrucero) { var storeCrucerosprecios = new Ext.data.JsonStore( { url : 'crucerospreciosCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idPrecio', mapping : 'idPrecio' }, { name : 'idCrucero', mapping : 'idCrucero' }, { name : 'precioI', mapping : 'precioI' }, { name : 'precioE', mapping : 'precioE' }, { name : 'precioB', mapping : 'precioB' }, { name : 'precioS', mapping : 'precioS' }, { name : 'fechaSalida', mapping : 'fechaSalida' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storeCrucerosprecios.load( { params : { start : 0, limit : 10, idCrucero : idCrucero } }); var crucerospreciosGrid = new Ext.grid.GridPanel( { autoHeight : true, viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Crucerosprecios...' }, store : storeCrucerosprecios, columns : [ { header : 'Precio Interior', width : 50, sortable : true, dataIndex : 'precioI' }, { header : 'Precio Exterior', width : 50, sortable : true, dataIndex : 'precioE' }, { header : 'Precio con Balcon', width : 50, sortable : true, dataIndex : 'precioB' }, { header : 'Precio Suite', width : 50, sortable : true, dataIndex : 'precioS' }, { header : 'Fecha Salida', width : 50, sortable : true, dataIndex : 'fechaSalida' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ { id : 'nuevoCrucerosprecios', text : 'Agregar Fecha', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verCrucerosprecios('', storeCrucerosprecios, idCrucero); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 10, store : storeCrucerosprecios, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoCrucerosprecios', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idPrecio, 1, storeCrucerosprecios, 'crucerospreciosCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoCrucerosprecios', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idPrecio, 0, storeCrucerosprecios, 'crucerospreciosCambiarEstado.php'); } } } crucerospreciosGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarCrucerosprecios', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verCrucerosprecios(idPrecio, storeCrucerosprecios, idCrucero); } }, { id : 'eliminarCrucerosprecios', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idPrecio, storeCrucerosprecios, 'crucerospreciosEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { crucerospreciosGrid.menu.destroy(); } } }); crucerospreciosGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verCrucerosprecios(idPrecio, storeCrucerosprecios, idCrucero); } } }); var idPrecio; var estado; crucerospreciosGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idPrecio = r.get("idPrecio"); estado = r.get("estado"); }); var panelCrucerosprecios = new Ext.Window( { buttonAlign : 'center', modal : true, title : 'Crucerosprecios', width : 600, autoHeight : true, closable : true, plain : true, items : [ crucerospreciosGrid ], // All the magic happens after the user clicks the button buttons : [ { text : 'Cerrar', handler : function() { panelCrucerosprecios.destroy(); } } ] }); panelCrucerosprecios.show(); };function verDecks(idDeck, storeReturn) { var storeBarco = new Ext.data.JsonStore({ url : 'barcosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idBarco', mapping : 'idBarco' }, { name : 'nombre', mapping : 'nombre' } ] }); storeBarco.load({ params : {} }); var formDeck = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'decksGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 1000, items : [ { layout : 'column', items : [ { columnWidth : .2, layout : 'form', defaults : { anchor : '95%' }, items : [ new Ext.form.ComboBox({ fieldLabel : 'Barco', hiddenName : 'idBarco', store : storeBarco, valueField : 'idBarco', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { xtype : 'textfield', fieldLabel : 'DeckCode', name : 'deckCode', id : 'deckCode' },{ xtype : 'textfield', fieldLabel : 'ShipCode', name : 'shipCode', id : 'shipCode' }, { xtype : 'textfield', fieldLabel : 'Nombre', name : 'nombre', id : 'nombre' }, { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'Plano', name : 'plano' } ] },{ columnWidth : .4, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'htmleditor', id : 'camarotesInterior', fieldLabel : 'Camarotes Interior', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 }, { xtype : 'htmleditor', id : 'camarotesExterior', fieldLabel : 'Camarotes Exterior', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 }] }, { columnWidth : .4, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'htmleditor', id : 'camarotesBalcon', fieldLabel : 'Camarotes Balcon', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 }, { xtype : 'htmleditor', id : 'camarotes Suite', fieldLabel : 'Camarotes Suite', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 }] } ] } ], listeners : { render : function() { if (idDeck > 0) { formDeck.getEl().mask(); formDeck .getForm() .load( { method : 'GET', url : 'decksCargar.php', params : { 'idDeck' : idDeck }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus({ text : 'Cargado!', iconCls : 'x-status-valid' }); formDeck.getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winDeck = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Decks', width : 1000, autoHeight : true, closable : true, plain : true, items : [ formDeck ], bbar : new Ext.ux.StatusBar({ id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus({ form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formDeck.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formDeck.getEl().mask(); formDeck .getForm() .submit( { method : 'POST', waitTitle : 'Crear Decks', params : { 'idDeck' : idDeck }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus({ text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winDeck .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formDeck.getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winDeck.destroy(); } } ] }); winDeck.show(); } var storeDecks = new Ext.data.JsonStore({ url: 'decksCargarGrid.php', remoteSort: true, root: 'datos', totalProperty: 'total', fields: [ {name: 'idDeck', mapping : 'idDeck'}, {name: 'idBarco', mapping : 'idBarco'}, {name: 'shipCode', mapping : 'shipCode'}, {name: 'deckCode', mapping : 'deckCode'}, {name: 'nombre', mapping : 'nombre'}, {name: 'camarotes', mapping : 'camarotes'}, {name: 'areasPublicas', mapping : 'areasPublicas'}, {name: 'imagen', mapping : 'imagen'}, {name: 'plano', mapping : 'plano'}, {name: 'estado', mapping : 'estado',renderer:formatEstado} ], listeners:{ load: function(){ if(idDeck){ window.frames['previewDeck'].location.href=plano; } } } }); storeDecks.load({params: {start:0,limit:20}}); var decksGrid = new Ext.grid.GridPanel({ viewConfig: { forceFit: true }, loadMask: {msg:'Cargando Decks...'}, store: storeDecks, columns: [ {header: 'Barco', width: 50,sortable: true, dataIndex: 'idBarco'}, {header: 'DeckCode', width: 50,sortable: true, dataIndex: 'deckCode'}, {header: 'Nombre', width: 50,sortable: true, dataIndex: 'nombre'}, {header: "Estado", width: 20, sortable: true, dataIndex: 'estado',renderer: formatEstado} ], tbar: [{ id:'nuevoDecks', text: 'Agregar Deck', iconCls: 'icoNuevo', scale: 'medium', scope: this, handler : function(){ verDecks('',storeDecks); } }], sm: new Ext.grid.RowSelectionModel({singleSelect:true}), bbar: new Ext.PagingToolbar({ pageSize: 20, store: storeDecks, displayInfo: true }), listeners:{ rowcontextmenu : function(ts,rI, e){ ts.getSelectionModel().selectRow(rI); e.stopEvent(); if(estado==0){ var estadoBoton={ id:'estadoDecks', text: 'Activar', iconCls: 'icoActivar', scope: this, handler : function(){ cambiarEstadoRegistro(idDeck,1,storeDecks,'decksCambiarEstado.php'); } } }else{ var estadoBoton={ id:'estadoDecks', text: 'Desactivar', iconCls: 'icoDesactivar', scope: this, handler : function(){ cambiarEstadoRegistro(idDeck,0,storeDecks,'decksCambiarEstado.php'); } } } decksGrid.menu = new Ext.menu.Menu({ id:'feeds-ctx', width:'200', items: [{ id:'modificarDecks', text: 'Modificar', iconCls: 'icoModificar', scope: this, handler : function(){ verDecks(idDeck,storeDecks); } },{ id:'eliminarDecks', text: 'Eliminar', iconCls: 'icoEliminar', scope: this, handler : function(){ eliminarRegistro(idDeck,storeDecks,'decksEliminar.php'); } },'-',estadoBoton], listeners:{ hide:function() { decksGrid.menu.destroy(); } } }); decksGrid.menu.showAt(e.getXY()); }, dblclick : function(e){ verDecks(idDeck,storeDecks); } } }); var idDeck; var estado; var plano; decksGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idDeck=r.get("idDeck"); estado=r.get("estado"); plano=r.get("plano"); window.frames['previewDeck'].location.href=plano; }); var centerPanelPreview={ id: 'previewDeck', xtype:'panel', tbar: [{ id:'recargarDecks', text: 'Recargar', scale: 'medium', iconCls: 'icoRecargar', scope: this, handler : function(){ window.frames['previewDeck'].location.href=plano; } }], html: '', bodyStyle: { background: '#ffffff', color: '#000000' } }; paneles.push( new Ext.Panel({ title:'Decks', iconCls: 'tabDecks', cls: 'paneles', layout:'border', items:[{ region:'west', title:'Lista de Decks', collapsible: true, split:true, width: 500, minSize: 200, maxSize: 1000, layout:'fit', margins:'0 2 0 0', items:[decksGrid] },{ region:'center', title:'Vista preliminar de Deck', collapsible: false, split:true, width: 500, minSize: 200, maxSize: 1000, layout:'fit', margins:'0 2 0 0', items:[centerPanelPreview] } ], listeners : { beforeshow : function() { storeDecks.load({params: {start:0,limit:20}}); } } }) );function verDestinos(idDestino, storeReturn) { var formDestino = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'destinosGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 800, items : [ { layout : 'column', items : [ { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'GeoCode', name : 'geoCode', id : 'geoCode' }, { xtype : 'htmleditor', id : 'descripcion', fieldLabel : 'Descripción', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 }, { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'Imagen', name : 'imagen' } ] }, { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'Nombre', name : 'nombre', id : 'nombre' }, { xtype : 'htmleditor', id : 'descripcionCorta', fieldLabel : 'DescripciónCorta', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 }, { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'ImagenIcono', name : 'imagenIcono' } ] } ] } ], listeners : { render : function() { if (idDestino > 0) { formDestino.getEl().mask(); formDestino .getForm() .load( { method : 'GET', url : 'destinosCargar.php', params : { 'idDestino' : idDestino }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formDestino.getEl() .unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winDestino = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Destinos', width : 800, autoHeight : true, closable : true, plain : true, items : [ formDestino ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formDestino.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formDestino.getEl().mask(); formDestino .getForm() .submit( { method : 'POST', waitTitle : 'Crear Destinos', params : { 'idDestino' : idDestino }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winDestino .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formDestino .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winDestino.destroy(); } } ] }); winDestino.show(); }var storeDestinos = new Ext.data.JsonStore( { url : 'destinosCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idDestino', mapping : 'idDestino' }, { name : 'geoCode', mapping : 'geoCode' }, { name : 'nombre', mapping : 'nombre' }, { name : 'descripcion', mapping : 'descripcion' }, { name : 'descripcionCorta', mapping : 'descripcionCorta' }, { name : 'imagen', mapping : 'imagen' }, { name : 'imagenIcono', mapping : 'imagenIcono' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storeDestinos.load( { params : { start : 0, limit : 20 } }); var destinosGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Destinos...' }, store : storeDestinos, columns : [ { header : 'GeoCode', width : 50, sortable : true, dataIndex : 'geoCode' }, { header : 'Nombre', width : 50, sortable : true, dataIndex : 'nombre' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado }, { header : 'Imagen', width : 50, sortable : false, dataIndex : 'imagen' }, { header : 'Imagen Icono', width : 50, sortable : false, dataIndex : 'imagenIcono' } ], tbar : [ { id : 'nuevoDestinos', text : 'Agregar Destino', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verDestinos('', storeDestinos); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeDestinos, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoDestinos', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idDestino, 1, storeDestinos, 'destinosCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoDestinos', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idDestino, 0, storeDestinos, 'destinosCambiarEstado.php'); } } } destinosGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarDestinos', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verDestinos(idDestino, storeDestinos); } }, { id : 'eliminarDestinos', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idDestino, storeDestinos, 'destinosEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { destinosGrid.menu.destroy(); } } }); destinosGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verDestinos(idDestino, storeDestinos); } } }); var idDestino; var estado; destinosGrid .getSelectionModel() .on( 'rowselect', function(sm, rowIdx, r) { idDestino = r.get("idDestino"); estado = r.get("estado"); }); paneles.push(new Ext.Panel( { title : 'Destinos', iconCls : 'tabDestinos', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Destinos', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ destinosGrid ] } ], listeners : { beforeshow : function() { storeDestinos.load( { params : { start : 0, limit : 20 } }); } } }));function verGeocodes(idGeocode,storeReturn){ var storeDestino = new Ext.data.JsonStore({ url: 'destinosCargarGrid.php', root: 'datos', totalProperty: 'total', fields: [{name: 'idDestino', mapping : 'idDestino'}, {name: 'nombre', mapping : 'nombre'}] }); storeDestino.load({params: {}}); var storeLinea = new Ext.data.JsonStore({ url: 'lineasCargarGrid.php', root: 'datos', totalProperty: 'total', fields: [{name: 'idLinea', mapping : 'idLinea'}, {name: 'nombre', mapping : 'nombre'}] }); storeLinea.load({params: {}}); var formGeocode = new Ext.FormPanel({ id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame:true, url:'geocodesGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor:'94%' }, width: 600, items: [ new Ext.form.ComboBox({ fieldLabel: 'Destino', hiddenName:'idDestino', store: storeDestino, valueField:'idDestino', displayField:'nombre', typeAhead: true, mode: 'local', triggerAction: 'all', emptyText:'Seleccione...', selectOnFocus:true }),{ xtype:'textfield', fieldLabel: 'GeoCode', name: 'geoCode', id: 'geoCode' }, new Ext.form.ComboBox({ fieldLabel: 'Linea', hiddenName:'idLinea', store: storeLinea, valueField:'idLinea', displayField:'nombre', typeAhead: true, mode: 'local', triggerAction: 'all', emptyText:'Seleccione...', selectOnFocus:true }) ], listeners:{ render:function() { if(idGeocode>0){ formGeocode.getEl().mask(); formGeocode.getForm().load({ method : 'GET', url : 'geocodesCargar.php', params : { 'idGeocode': idGeocode}, success :function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formGeocode.getEl().unmask(); }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winGeocode = new Ext.Window({ modal:true, title:'Meta Cruises Server - Geocodes', width:600, autoHeight:true, closable: true, plain: true, items: [formGeocode], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( formGeocode.form.isValid() ) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formGeocode.getEl().mask(); formGeocode.getForm().submit({ method:'POST', waitTitle:'Crear Geocodes', params : { 'idGeocode': idGeocode}, success:function(form, action){ if(storeReturn){ storeReturn.reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winGeocode .destroy(); }, 1600); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formGeocode.getForm().reset(); } }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ winGeocode.destroy(); } }] }); winGeocode.show(); } var storeGeocodes = new Ext.data.JsonStore( { url : 'geocodesCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idGeocode', mapping : 'idGeocode' }, { name : 'idDestino', mapping : 'idDestino' }, { name : 'idLinea', mapping : 'idLinea' }, { name : 'geoCode', mapping : 'geoCode' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storeGeocodes.load( { params : { start : 0, limit : 20 } }); var geocodesGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Geocodes...' }, store : storeGeocodes, columns : [ { header : 'Destino', width : 50, sortable : true, dataIndex : 'idDestino' }, { header : 'Linea', width : 50, sortable : true, dataIndex : 'idLinea' }, { header : 'GeoCode', width : 50, sortable : true, dataIndex : 'geoCode' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ { id : 'nuevoGeocodes', text : 'Agregar Geocode', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verGeocodes('', storeGeocodes); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeGeocodes, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoGeocodes', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idGeocode, 1, storeGeocodes, 'geocodesCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoGeocodes', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idGeocode, 0, storeGeocodes, 'geocodesCambiarEstado.php'); } } } geocodesGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarGeocodes', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verGeocodes(idGeocode, storeGeocodes); } }, { id : 'eliminarGeocodes', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idGeocode, storeGeocodes, 'geocodesEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { geocodesGrid.menu.destroy(); } } }); geocodesGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verGeocodes(idGeocode, storeGeocodes); } } }); var idGeocode; var estado; geocodesGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idGeocode = r.get("idGeocode"); estado = r.get("estado"); }); paneles.push(new Ext.Panel( { title : 'Geocodes', iconCls : 'tabGeocodes', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Geocodes', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ geocodesGrid ] } ], listeners : { beforeshow : function() { storeGeocodes.load( { params : { start : 0, limit : 20 } }); } } }));function verLineas(idLinea,storeReturn){ var formLinea = new Ext.FormPanel({ id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame:true, url:'lineasGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor:'94%' }, width: 800, items : [ { layout : 'column', items : [ { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype:'textfield', fieldLabel: 'Nombre', name: 'nombre', id: 'nombre' },{ xtype: 'fileuploadfield', emptyText: 'Examinar', fieldLabel: 'Logo', name: 'logo' },{ xtype:'textfield', fieldLabel: 'CruiseLine', name: 'cruiseLine', id: 'cruiseLine' },{ xtype:'htmleditor', id:'descripcion', fieldLabel:'Descripción', enableColors: false, enableAlignments: false, enableLinks :false, enableLists :false, enableSourceEdit:false, enableFontSize :false, enableFont :false, defaultValue:'', height:200 },{ xtype: 'fileuploadfield', emptyText: 'Examinar', fieldLabel: 'Términos Pasajeros', name: 'tycPasajeros' } ] }, { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype:'textfield', fieldLabel: 'Nombre Completo', name: 'nombreCompleto', id: 'nombreCompleto' },{ xtype: 'fileuploadfield', emptyText: 'Examinar', fieldLabel: 'Logo Icono', name: 'logoIcono' },{ xtype:'textfield', fieldLabel: 'Link de Checkin', name: 'checkin', id: 'checkin' },{ xtype:'htmleditor', id:'precioIncluye', name:'precioIncluye', fieldLabel:'El Precio Incluye', enableColors: false, enableAlignments: false, enableLinks :false, enableLists :false, enableSourceEdit:false, enableFontSize :false, enableFont :false, defaultValue:'', height:200 },{ xtype: 'fileuploadfield', emptyText: 'Examinar', fieldLabel: 'Icono Mapas', name: 'mapsIcono' } ] } ] } ], listeners:{ render:function() { if(idLinea>0){ formLinea.getForm().load({ method : 'GET', url : 'lineasCargar.php', params : { 'idLinea': idLinea}, success :function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winLinea = new Ext.Window({ modal:true, title:'Meta Cruises Server - Lineas', width:800, autoHeight:true, closable: true, plain: true, items: [formLinea], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( formLinea.form.isValid() ) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formLinea.getEl().mask(); formLinea.getForm().submit({ method:'POST', waitTitle:'Crear Lineas', params : { 'idLinea': idLinea}, success:function(form, action){ if(storeReturn){ storeReturn.reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winLinea .destroy(); }, 1600); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formLinea.getForm().reset(); } }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ winLinea.destroy(); } }] }); winLinea.show(); }function verLineasConexiones(idLinea, storeReturn) { var formLinea = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'lineasGuardarConexiones.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 800, items : [ { layout : 'column', items : [ { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'FibosUrl', name : 'fibosUrl', id : 'fibosUrl' },{ xtype : 'textarea', fieldLabel : 'Fibos Xml', name : 'fibosXml', id : 'fibosXml', height : 160 }, { xtype : 'textfield', fieldLabel : 'FibosUrlTesting', name : 'fibosUrlTesting', id : 'fibosUrlTesting' }, { xtype : 'textarea', fieldLabel : 'FibosXmlTesting', name : 'fibosXmlTesting', id : 'fibosXmlTesting', height : 160 } ] }, { columnWidth : .5, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'PricingUrl', name : 'pricingUrl', id : 'pricingUrl' }, { xtype : 'textarea', fieldLabel : 'PricingXml', name : 'pricingXml', id : 'pricingXml', height : 160 }, { xtype : 'textfield', fieldLabel : 'MultiitinerariosUrl', name : 'multiitinerariosUrl', id : 'multiitinerariosUrl' }, { xtype : 'textarea', fieldLabel : 'MultiitinerariosXml', name : 'multiitinerariosXml', id : 'multiitinerariosXml', height : 160 } ] } ] } ], listeners : { render : function() { if (idLinea > 0) { formLinea.getEl().mask(); formLinea .getForm() .load( { method : 'GET', url : 'lineasCargar.php', params : { 'idLinea' : idLinea }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formLinea.getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winLinea = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Lineas', width : 800, autoHeight : true, closable : true, plain : true, items : [ formLinea ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formLinea.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formLinea.getEl().mask(); formLinea .getForm() .submit( { method : 'POST', waitTitle : 'Crear Lineas', params : { 'idLinea' : idLinea }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winLinea .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formLinea.getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winLinea.destroy(); } } ] }); winLinea.show(); } var storeLineas = new Ext.data.JsonStore( { url : 'lineasCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idLinea', mapping : 'idLinea' }, { name : 'nombre', mapping : 'nombre' }, { name : 'nombreCompleto', mapping : 'nombreCompleto' }, { name : 'cruiseLine', mapping : 'cruiseLine' }, { name : 'descripcion', mapping : 'descripcion' }, { name : 'logo', mapping : 'logo' }, { name : 'logoIcono', mapping : 'logoIcono' }, { name : 'mapsIcono', mapping : 'mapsIcono' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ], listeners : { load : function() { if (idLinea) { } } } }); storeLineas.load( { params : { start : 0, limit : 20 } }); var lineasGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Lineas...' }, store : storeLineas, columns : [ { header : 'Nombre Completo', width : 50, sortable : true, dataIndex : 'nombreCompleto' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado }, { header : 'Logo', width : 50, sortable : false, dataIndex : 'logo' }, { header : 'Logo Icono', width : 50, sortable : false, dataIndex : 'logoIcono' }, { header : 'Mapas Icono', width : 40, sortable : false, dataIndex : 'mapsIcono' } ], tbar : [ { id : 'nuevoLineas', text : 'Agregar Linea', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verLineas('', storeLineas); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeLineas, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoLineas', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idLinea, 1, storeLineas, 'lineasCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoLineas', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idLinea, 0, storeLineas, 'lineasCambiarEstado.php'); } } } lineasGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarLineas', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verLineas(idLinea, storeLineas); } }, { id : 'eliminarLineas', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idLinea, storeLineas, 'lineasEliminar.php'); } },{ id : 'conexionesLineas', text : 'Conexiones', iconCls : '', scope : this, handler : function() { verLineasConexiones(idLinea, storeLineas); } }, '-', estadoBoton ], listeners : { hide : function() { lineasGrid.menu.destroy(); } } }); lineasGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verLineas(idLinea, storeLineas); } } }); var idLinea; var estado; lineasGrid .getSelectionModel() .on( 'rowselect', function(sm, rowIdx, r) { idLinea = r.get("idLinea"); estado = r.get("estado"); }); paneles.push(new Ext.Panel( { title : 'Lineas', iconCls : 'tabLineas', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Lineas', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ lineasGrid ] } ], listeners : { beforeshow : function() { storeLineas.load( { params : { start : 0, limit : 20 } }); } } }));function verMonedas(idMoneda,storeReturn){ var formMoneda = new Ext.FormPanel({ id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame:true, url:'monedasGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor:'94%' }, width: 200, items: [ { xtype:'textfield', fieldLabel: 'Nombre', name: 'nombre', id: 'nombre' },{ xtype:'textfield', fieldLabel: 'Simbolo', name: 'simbolo', id: 'simbolo' },{ xtype:'textfield', fieldLabel: 'Codigo', name: 'codigo', id: 'codigo' },{ xtype:'textfield', fieldLabel: 'Cambio', name: 'cambio', id: 'cambio' } ], listeners:{ render:function() { if(idMoneda>0){ formMoneda.getEl().mask(); formMoneda.getForm().load({ method : 'GET', url : 'monedasCargar.php', params : { 'idMoneda': idMoneda}, success :function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formMoneda.getEl().unmask(); }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winMoneda = new Ext.Window({ modal:true, title:'Meta Cruises Server - Monedas', width:200, autoHeight:true, closable: true, plain: true, items: [formMoneda], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( formMoneda.form.isValid() ) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formMoneda.getEl().mask(); formMoneda.getForm().submit({ method:'POST', waitTitle:'Crear Monedas', params : { 'idMoneda': idMoneda}, success:function(form, action){ if(storeReturn){ storeReturn.reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winMoneda .destroy(); }, 1600); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formMoneda.getForm().reset(); } }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ winMoneda.destroy(); } }] }); winMoneda.show(); } var storeMonedas = new Ext.data.JsonStore({ url: 'monedasCargarGrid.php', remoteSort: true, root: 'datos', totalProperty: 'total', fields: [ {name: 'idMoneda', mapping : 'idMoneda'}, {name: 'nombre', mapping : 'nombre'}, {name: 'codigo', mapping : 'codigo'}, {name: 'simbolo', mapping : 'simbolo'}, {name: 'cambio', mapping : 'cambio'}, {name: 'estado', mapping : 'estado',renderer:formatEstado} ] }); storeMonedas.load({params: {start:0,limit:20}}); var monedasGrid = new Ext.grid.GridPanel({ viewConfig: { forceFit: true }, loadMask: {msg:'Cargando Monedas...'}, store: storeMonedas, columns: [ {header: 'Nombre', width: 50,sortable: true, dataIndex: 'nombre'}, {header: 'Codigo', width: 50,sortable: true, dataIndex: 'codigo'}, {header: 'Simbolo', width: 50,sortable: true, dataIndex: 'simbolo'}, {header: 'Cambio', width: 50,sortable: true, dataIndex: 'cambio'}, {header: "Estado", width: 20, sortable: true, dataIndex: 'estado',renderer: formatEstado} ], tbar: [{ id:'nuevoMonedas', text: 'Agregar Moneda', iconCls: 'icoNuevo', scale: 'medium', scope: this, handler : function(){ verMonedas('',storeMonedas); } }], sm: new Ext.grid.RowSelectionModel({singleSelect:true}), bbar: new Ext.PagingToolbar({ pageSize: 20, store: storeMonedas, displayInfo: true }), listeners:{ rowcontextmenu : function(ts,rI, e){ ts.getSelectionModel().selectRow(rI); e.stopEvent(); if(estado==0){ var estadoBoton={ id:'estadoMonedas', text: 'Activar', iconCls: 'icoActivar', scope: this, handler : function(){ cambiarEstadoRegistro(idMoneda,1,storeMonedas,'monedasCambiarEstado.php'); } } }else{ var estadoBoton={ id:'estadoMonedas', text: 'Desactivar', iconCls: 'icoDesactivar', scope: this, handler : function(){ cambiarEstadoRegistro(idMoneda,0,storeMonedas,'monedasCambiarEstado.php'); } } } monedasGrid.menu = new Ext.menu.Menu({ id:'feeds-ctx', width:'200', items: [{ id:'modificarMonedas', text: 'Modificar', iconCls: 'icoModificar', scope: this, handler : function(){ verMonedas(idMoneda,storeMonedas); } },{ id:'eliminarMonedas', text: 'Eliminar', iconCls: 'icoEliminar', scope: this, handler : function(){ eliminarRegistro(idMoneda,storeMonedas,'monedasEliminar.php'); } },'-',estadoBoton], listeners:{ hide:function() { monedasGrid.menu.destroy(); } } }); monedasGrid.menu.showAt(e.getXY()); }, dblclick : function(e){ verMonedas(idMoneda,storeMonedas); } } }); var idMoneda; var estado; monedasGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idMoneda=r.get("idMoneda"); estado=r.get("estado"); }); paneles.push( new Ext.Panel({ title:'Monedas', iconCls: 'tabMonedas', cls: 'paneles', layout:'border', items:[{ region:'center', title:'Lista de Monedas', collapsible: true, split:true, width: 500, minSize: 200, maxSize: 1000, layout:'fit', margins:'0 2 0 0', items:[monedasGrid] }], listeners : { beforeshow : function() { storeMonedas.load({params: {start:0,limit:20}}); } } }) );function verPaises(idPais,storeReturn){ var formPais = new Ext.FormPanel({ id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame:true, url:'paisesGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor:'94%' }, width: 600, items: [ { xtype:'textfield', fieldLabel: 'Nombre', name: 'nombre', id: 'nombre' },{ xtype:'textfield', fieldLabel: 'Code', name: 'code', id: 'code' } ], listeners:{ render:function() { if(idPais>0){ formPais.getEl().mask(); formPais.getForm().load({ method : 'GET', url : 'paisesCargar.php', params : { 'idPais': idPais}, success :function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formPais.getEl().unmask(); }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winPais = new Ext.Window({ modal:true, title:'Meta Cruises Server - Paises', width:600, autoHeight:true, closable: true, plain: true, items: [formPais], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( formPais.form.isValid() ) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formPais.getEl().mask(); formPais.getForm().submit({ method:'POST', waitTitle:'Crear Paises', params : { 'idPais': idPais}, success:function(form, action){ if(storeReturn){ storeReturn.reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winPais .destroy(); }, 1600); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formPais.getForm().reset(); } }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ winPais.destroy(); } }] }); winPais.show(); } var storePaises = new Ext.data.JsonStore({ url: 'paisesCargarGrid.php', remoteSort: true, root: 'datos', totalProperty: 'total', fields: [ {name: 'idPais', mapping : 'idPais'}, {name: 'nombre', mapping : 'nombre'}, {name: 'code', mapping : 'code'}, {name: 'estado', mapping : 'estado',renderer:formatEstado} ] }); storePaises.load({params: {start:0,limit:20}}); var paisesGrid = new Ext.grid.GridPanel({ viewConfig: { forceFit: true }, loadMask: {msg:'Cargando Paises...'}, store: storePaises, columns: [ {header: 'Nombre', width: 50,sortable: true, dataIndex: 'nombre'}, {header: 'Code', width: 50,sortable: true, dataIndex: 'code'}, {header: "Estado", width: 20, sortable: true, dataIndex: 'estado',renderer: formatEstado} ], tbar: [{ id:'nuevoPaises', text: 'Agregar Pais', iconCls: 'icoNuevo', scale: 'medium', scope: this, handler : function(){ verPaises('',storePaises); } }], sm: new Ext.grid.RowSelectionModel({singleSelect:true}), bbar: new Ext.PagingToolbar({ pageSize: 20, store: storePaises, displayInfo: true }), listeners:{ rowcontextmenu : function(ts,rI, e){ ts.getSelectionModel().selectRow(rI); e.stopEvent(); if(estado==0){ var estadoBoton={ id:'estadoPaises', text: 'Activar', iconCls: 'icoActivar', scope: this, handler : function(){ cambiarEstadoRegistro(idPais,1,storePaises,'paisesCambiarEstado.php'); } } }else{ var estadoBoton={ id:'estadoPaises', text: 'Desactivar', iconCls: 'icoDesactivar', scope: this, handler : function(){ cambiarEstadoRegistro(idPais,0,storePaises,'paisesCambiarEstado.php'); } } } paisesGrid.menu = new Ext.menu.Menu({ id:'feeds-ctx', width:'200', items: [{ id:'modificarPaises', text: 'Modificar', iconCls: 'icoModificar', scope: this, handler : function(){ verPaises(idPais,storePaises); } },{ id:'eliminarPaises', text: 'Eliminar', iconCls: 'icoEliminar', scope: this, handler : function(){ eliminarRegistro(idPais,storePaises,'paisesEliminar.php'); } },'-',estadoBoton], listeners:{ hide:function() { paisesGrid.menu.destroy(); } } }); paisesGrid.menu.showAt(e.getXY()); }, dblclick : function(e){ verPaises(idPais,storePaises); } } }); var idPais; var estado; paisesGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idPais=r.get("idPais"); estado=r.get("estado"); }); paneles.push( new Ext.Panel({ title:'Paises', iconCls: 'tabPaises', cls: 'paneles', layout:'border', items:[{ region:'center', title:'Lista de Paises', collapsible: true, split:true, width: 500, minSize: 200, maxSize: 1000, layout:'fit', margins:'0 2 0 0', items:[paisesGrid] }], listeners : { beforeshow : function() { storePaises.load({params: {start:0,limit:20}}); } } }) );var storePricingfeed = new Ext.data.JsonStore( { url : 'pricingfeedCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'periodo', mapping : 'periodo' }, { name : 'cantidad', mapping : 'cantidad' }, { name : 'GeoCode', mapping : 'GeoCode' }, { name : 'fecha', mapping : 'fecha' }, { name : 'fechaActualizacion', mapping : 'fechaActualizacion' }, { name : 'itinerariosActualizacion', mapping : 'itinerariosActualizacion' } ] }); var storeDestinoCombo = new Ext.data.JsonStore( { url : 'destinosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idDestino', mapping : 'idDestino' }, { name : 'nombre', mapping : 'nombre' } ] }); storeDestinoCombo.load( { params : {} }); var pricingfeedGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Pricingfeed...' }, store : storePricingfeed, columns : [ { header : "Periodos", width : 30, sortable : true, dataIndex : 'periodo' }, { header : "Cantidad de Cruceros", width : 30, sortable : true, dataIndex : 'cantidad' }, { header : "Ultima Actualizacion", width : 30, sortable : true, dataIndex : 'fechaActualizacion' }, { header : "Itinerarios", width : 100, sortable : true, dataIndex : 'itinerariosActualizacion' } ], tbar : [ 'Destino: ', new Ext.form.ComboBox( { fieldLabel : 'Destino', id : 'idDestinoFiltro', hiddenName : 'idDestino', store : storeDestinoCombo, valueField : 'idDestino', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { id : 'actualizarPricing', text : 'Cargar', iconCls : 'icoRecargar', scale : 'medium', scope : this, handler : function() { idDestino = Ext.getCmp('idDestinoFiltro') .getValue(); storePricingfeed.load( { params : { idDestino : idDestino } }); } }, { id : 'actualizarPricingCompleto', text : 'Actualizar PricingFeed del Destino Completo!', iconCls : 'icoRecargar', scale : 'medium', scope : this, handler : function() { idDestino = Ext.getCmp('idDestinoFiltro') .getValue(); if (idDestino) { Ext.MessageBox .show( { title : 'Meta Cruises Server - Actualizar cruceros', msg : 'Está seguro que desea Actualizar todos los Periodos de este Destino?', width : 350, fn : function(btn, text) { if (btn == 'ok') { p = 0; actualizarPeriodos = 1; siguientePeriodo(idDestino, '', storePricingfeed); } }, buttons : Ext.MessageBox.OKCANCEL, icon : Ext.MessageBox.QUESTION, animEl : 'mb3' }); } else { alert('Seleccionar destino!'); } } }, { id : 'actualizaritinerarios', text : 'Recarga Itinerarios Automaticos (off)', iconCls : 'icoRecargar', scale : 'medium', scope : this, handler : function(t) { idDestino = Ext.getCmp('idDestinoFiltro') .getValue(); if (idDestino) { if (recargarAutomatico == "") { t.setText('Recarga Itinerarios Automaticos (on!)'); recargarAutomatico = 1; recargarStoreAutomatico(storePricingfeed); } else { t.setText('Recarga Itinerarios Automaticos (off)'); recargarAutomatico = ""; } } else { alert('Seleccionar destino!'); } } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); pricingfeedGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarPricingFeed', text : 'Actualizar', iconCls : 'icoActualizar', scope : this, handler : function() { actualizarPeriodos = ""; pricingActualizarPeriodo(idDestino, fecha, storePricingfeed); } }, { id : 'eliminarPricingFeed', text : 'Resetear', iconCls : 'icoEliminar', scope : this, handler : function() { pricingResetearPeriodo(idDestino, fecha, storePricingfeed); } } ], listeners : { hide : function() { pricingfeedGrid.menu.destroy(); } } }); pricingfeedGrid.menu.showAt(e.getXY()); } } }); var fecha; var GeoCode; pricingfeedGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { fecha = r.get("fecha"); GeoCode = r.get("GeoCode"); }); paneles.push(new Ext.Panel( { title : 'Pricingfeed', iconCls : 'tabpricingfeed', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de pricingfeed', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ pricingfeedGrid ] } ], listeners : { beforeshow : function() { storeDestinoCombo.load( { params : {} }); } } }));function verPromoslogos(idPromoLogo,storeReturn){ var formPromologo = new Ext.FormPanel({ id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame:true, url:'promoslogosGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor:'94%' }, width: 600, items: [ { xtype:'textfield', fieldLabel: 'PromoId', name: 'promoId', id: 'promoId' },{ xtype:'textfield', fieldLabel: 'Descripcion', name: 'descripcion', id: 'descripcion' },{ xtype: 'fileuploadfield', emptyText: 'Examinar', fieldLabel: 'Logo', name: 'logo' } ], listeners:{ render:function() { if(idPromoLogo>0){ formPromologo.getEl().mask(); formPromologo.getForm().load({ method : 'GET', url : 'promoslogosCargar.php', params : { 'idPromoLogo': idPromoLogo}, success :function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formPromologo.getEl().unmask(); }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winPromologo = new Ext.Window({ modal:true, title:'Meta Cruises Server - Promoslogos', width:600, autoHeight:true, closable: true, plain: true, items: [formPromologo], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( formPromologo.form.isValid() ) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formPromologo.getEl().mask(); formPromologo.getForm().submit({ method:'POST', waitTitle:'Crear Promoslogos', params : { 'idPromoLogo': idPromoLogo}, success:function(form, action){ if(storeReturn){ storeReturn.reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winPromologo .destroy(); }, 1600); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formPromologo.getForm().reset(); } }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ winPromologo.destroy(); } }] }); winPromologo.show(); } var storePromoslogos = new Ext.data.JsonStore( { url : 'promoslogosCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idPromoLogo', mapping : 'idPromoLogo' }, { name : 'promoId', mapping : 'promoId' }, { name : 'logo', mapping : 'logo' }, { name : 'descripcion', mapping : 'descripcion' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storePromoslogos.load( { params : { start : 0, limit : 20 } }); var promoslogosGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Promoslogos...' }, store : storePromoslogos, columns : [ { header : 'PromoId', width : 30, sortable : true, dataIndex : 'promoId' }, { header : 'Logo', width : 30, sortable : true, dataIndex : 'logo' }, { header : 'Descripcion', width : 150, sortable : true, dataIndex : 'descripcion' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ { id : 'nuevoPromoslogos', text : 'Agregar Promologo', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verPromoslogos('', storePromoslogos); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storePromoslogos, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoPromoslogos', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idPromoLogo, 1, storePromoslogos, 'promoslogosCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoPromoslogos', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idPromoLogo, 0, storePromoslogos, 'promoslogosCambiarEstado.php'); } } } promoslogosGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarPromoslogos', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verPromoslogos(idPromoLogo, storePromoslogos); } }, { id : 'eliminarPromoslogos', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idPromoLogo, storePromoslogos, 'promoslogosEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { promoslogosGrid.menu.destroy(); } } }); promoslogosGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verPromoslogos(idPromoLogo, storePromoslogos); } } }); var idPromoLogo; var estado; promoslogosGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idPromoLogo = r.get("idPromoLogo"); estado = r.get("estado"); }); paneles.push(new Ext.Panel( { title : 'Promoslogos', iconCls : 'tabPromoslogos', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Promoslogos', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ promoslogosGrid ] } ], listeners : { beforeshow : function() { storePromoslogos.load( { params : { start : 0, limit : 20 } }); } } }));function verPuertos(idPuerto, storeReturn) { var storeDestino = new Ext.data.JsonStore( { url : 'destinosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idDestino', mapping : 'idDestino' }, { name : 'nombre', mapping : 'nombre' } ] }); storeDestino.load( { params : {} }); var storePais = new Ext.data.JsonStore( { url : 'paisesCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idPais', mapping : 'idPais' }, { name : 'nombre', mapping : 'nombre' } ] }); storePais.load( { params : {} }); var formPuerto = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'puertosGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 800, items : [ { layout : 'column', items : [ { columnWidth : .3, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'Nombre', name : 'nombre', id : 'nombre' },{ xtype : 'textfield', fieldLabel : 'Code', name : 'code', id : 'code' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 1', name : 'nombreAlternativo1', id : 'nombreAlternativo1' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 2', name : 'nombreAlternativo2', id : 'nombreAlternativo2' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 3', name : 'nombreAlternativo3', id : 'nombreAlternativo3' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 4', name : 'nombreAlternativo4', id : 'nombreAlternativo4' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 5', name : 'nombreAlternativo5', id : 'nombreAlternativo5' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 6', name : 'nombreAlternativo6', id : 'nombreAlternativo6' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 7', name : 'nombreAlternativo7', id : 'nombreAlternativo7' } ] }, { columnWidth : .3, layout : 'form', defaults : { anchor : '95%' }, items : [ { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 8', name : 'nombreAlternativo8', id : 'nombreAlternativo8' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 9', name : 'nombreAlternativo9', id : 'nombreAlternativo9' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 10', name : 'nombreAlternativo10', id : 'nombreAlternativo10' },{ xtype : 'textfield', fieldLabel : 'Nombre Alternativo 11', name : 'nombreAlternativo11', id : 'nombreAlternativo11' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 12', name : 'nombreAlternativo12', id : 'nombreAlternativo12' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 13', name : 'nombreAlternativo13', id : 'nombreAlternativo13' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 14', name : 'nombreAlternativo14', id : 'nombreAlternativo14' }, { xtype : 'textfield', fieldLabel : 'Nombre Alternativo 15', name : 'nombreAlternativo15', id : 'nombreAlternativo15' } ] }, { columnWidth : .4, layout : 'form', defaults : { anchor : '95%' }, items : [ new Ext.form.ComboBox( { fieldLabel : 'Pais', hiddenName : 'idPais', store : storePais, valueField : 'idPais', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }), { xtype : 'textfield', fieldLabel : 'LatLng', name : 'latLng', id : 'latLng' }, { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'Imagen', name : 'imagen' }, { xtype : 'htmleditor', id : 'descripcion', fieldLabel : 'Descripción', enableColors : false, enableAlignments : false, enableLinks : false, enableLists : false, enableSourceEdit : false, enableFontSize : false, enableFont : false, defaultValue : '', height : 200 } ] } ] } ], listeners : { render : function() { if (idPuerto > 0) { formPuerto.getEl().mask(); formPuerto .getForm() .load( { method : 'GET', url : 'puertosCargar.php', params : { 'idPuerto' : idPuerto }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formPuerto.getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winPuerto = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Puertos', width : 800, autoHeight : true, closable : true, plain : true, items : [ formPuerto ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formPuerto.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formPuerto.getEl().mask(); formPuerto .getForm() .submit( { method : 'POST', waitTitle : 'Crear Puertos', params : { 'idPuerto' : idPuerto }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winPuerto .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formPuerto .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winPuerto.destroy(); } } ] }); winPuerto.show(); }var storePuertos = new Ext.data.JsonStore( { url : 'puertosCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idPuerto', mapping : 'idPuerto' }, { name : 'idPais', mapping : 'idPais' }, { name : 'code', mapping : 'code' }, { name : 'nombre', mapping : 'nombre' }, { name : 'descripcion', mapping : 'descripcion' }, { name : 'latLng', mapping : 'latLng' }, { name : 'imagen', mapping : 'imagen' }, { name : 'destinos', mapping : 'destinos' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storePuertos.load( { params : { start : 0, limit : 20, limpiar : 1 } }); var storePaisCombo = new Ext.data.JsonStore( { url : 'paisesCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idPais', mapping : 'idPais' }, { name : 'nombre', mapping : 'nombre' } ] }); storePaisCombo.load( { params : {} }); var puertosGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Puertos...' }, store : storePuertos, columns : [ { header : 'Nombre', width : 60, sortable : true, dataIndex : 'nombre' }, { header : 'Pais', width : 40, sortable : true, dataIndex : 'idPais' }, { header : 'Code', width : 20, sortable : true, dataIndex : 'code' }, { header : 'LatLng', width : 30, sortable : true, dataIndex : 'latLng' }, { header : 'Destinos', width : 40, sortable : false, dataIndex : 'destinos' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado }, { header : 'Imagen', width : 50, sortable : false, dataIndex : 'imagen' } ], tbar : [ { id : 'nuevoPuertos', text : 'Agregar Puerto', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verPuertos('', storePuertos); } }, '-', 'Pais: ', new Ext.form.ComboBox( { fieldLabel : 'Pais', id : 'idPaisFiltroPuertos', hiddenName : 'idPais', store : storePaisCombo, valueField : 'idPais', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', width: 130, selectOnFocus : true }), ' Nombre', { xtype : 'textfield', fieldLabel : 'Nombre', name : 'nombreFiltroPuertos', id : 'nombreFiltroPuertos' }, { text : 'Filtrar', iconCls : 'icoRecargar', scale : 'medium', scope : this, handler : function(t) { idPais = Ext.getCmp('idPaisFiltroPuertos').getValue(); nombre = Ext.getCmp('nombreFiltroPuertos').getValue(); storePuertos.load( { params : { start : 0, limit : 20, idPais : idPais, nombre : nombre } }); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storePuertos, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoPuertos', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idPuerto, 1, storePuertos, 'puertosCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoPuertos', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idPuerto, 0, storePuertos, 'puertosCambiarEstado.php'); } } } puertosGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarPuertos', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verPuertos(idPuerto, storePuertos); } }, { id : 'eliminarPuertos', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idPuerto, storePuertos, 'puertosEliminar.php'); } }, '-', { id : 'galeriaPuertosImagens', text : 'Galeria Imagenes', iconCls : 'icoGaleria', scope : this, handler : function() { verPuertosimagenesGrid(idPuerto); } }, '-', { id : 'relDestinosPuertos', text : 'Listado Destinos', iconCls : 'icoModificar', scope : this, handler : function() { verReldestinospuertosGrid(idPuerto); } }, '-', estadoBoton ], listeners : { hide : function() { puertosGrid.menu.destroy(); } } }); puertosGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verPuertos(idPuerto, storePuertos); } } }); var idPuerto; var estado; puertosGrid .getSelectionModel() .on( 'rowselect', function(sm, rowIdx, r) { idPuerto = r.get("idPuerto"); estado = r.get("estado"); window.frames['previewPuerto'].location.href = '../googlemapsGuardarPunto.php?pv=true&idPuerto=' + idPuerto; }); var centerPanelPreview = { id : 'previewPuerto', xtype : 'panel', tbar : [ { id : 'recargarPuertos', text : 'Recargar', scale : 'medium', iconCls : 'icoRecargar', scope : this, handler : function() { window.frames['previewPuerto'].location.href = '../googlemapsGuardarPunto.php?pv=true&idPuerto=' + idPuerto; } } ], html : '', bodyStyle : { background : '#ffffff', color : '#000000' } }; paneles.push(new Ext.Panel( { title : 'Puertos', iconCls : 'tabPuertos', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Puertos', collapsible : false, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ puertosGrid ] }, { region : 'east', title : 'Mapa', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ centerPanelPreview ] } ], listeners : { beforeshow : function() { storePuertos.load( { params : { start : 0, limit : 20 } }); } } }));function verPuertosimagenes(idPuertoImagen,storeReturn,idPuerto){ var storePuerto = new Ext.data.JsonStore({ url: 'puertosCargarGrid.php', root: 'datos', totalProperty: 'total', fields: [{name: 'idPuerto', mapping : 'idPuerto'}, {name: 'nombre', mapping : 'nombre'}] }); storePuerto.load({params: {}}); var storephoto_ = new Ext.data.JsonStore({ url: 'photo_sCargarGrid.php', root: 'datos', totalProperty: 'total', fields: [{name: 'photo_id', mapping : 'photo_id'}, {name: 'nombre', mapping : 'nombre'}] }); storephoto_.load({params: {}}); var storeplace_ = new Ext.data.JsonStore({ url: 'place_sCargarGrid.php', root: 'datos', totalProperty: 'total', fields: [{name: 'place_id', mapping : 'place_id'}, {name: 'nombre', mapping : 'nombre'}] }); storeplace_.load({params: {}}); var formPuertoimagen = new Ext.FormPanel({ id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame:true, url:'puertosimagenesGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor:'94%' }, width: 900, items: [ { layout:'column', items:[{ columnWidth:.50, layout: 'form', defaults: {anchor: '95%'}, items: [ new Ext.form.ComboBox({ fieldLabel: 'Puerto', hiddenName:'idPuerto', store: storePuerto, valueField:'idPuerto', displayField:'nombre', typeAhead: true, mode: 'local', triggerAction: 'all', emptyText:'Seleccione...', selectOnFocus:true }),{ xtype:'textfield', fieldLabel: 'Width', name: 'width', id: 'width' },{ xtype:'textfield', fieldLabel: 'Latitude', name: 'latitude', id: 'latitude' },{ xtype:'textfield', fieldLabel: 'Photo_title', name: 'photo_title', id: 'photo_title' }, new Ext.form.ComboBox({ fieldLabel: 'place_', hiddenName:'place_id', store: storeplace_, valueField:'place_id', displayField:'nombre', typeAhead: true, mode: 'local', triggerAction: 'all', emptyText:'Seleccione...', selectOnFocus:true }),{ xtype: 'datefield', format:'d/m/Y', fieldLabel: 'FechaAlta', name: 'fechaAlta', id: 'fechaAlta' }] },{ columnWidth:.50, layout: 'form', defaults: {anchor: '95%'}, items: [{ xtype: 'fileuploadfield', emptyText: 'Examinar', fieldLabel: 'Imagen', name: 'imagen' },{ xtype:'textfield', fieldLabel: 'Height', name: 'height', id: 'height' },{ xtype:'textfield', fieldLabel: 'Longitude', name: 'longitude', id: 'longitude' }, new Ext.form.ComboBox({ fieldLabel: 'photo_', hiddenName:'photo_id', store: storephoto_, valueField:'photo_id', displayField:'nombre', typeAhead: true, mode: 'local', triggerAction: 'all', emptyText:'Seleccione...', selectOnFocus:true }),{ xtype: 'datefield', format:'d/m/Y', fieldLabel: 'Upload_date', name: 'upload_date', id: 'upload_date' }] }] } ], listeners:{ render:function() { if(idPuertoImagen>0){ formPuertoimagen.getEl().mask(); formPuertoimagen.getForm().load({ method : 'GET', url : 'puertosimagenesCargar.php', params : { 'idPuertoImagen': idPuertoImagen}, success :function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formPuertoimagen.getEl().unmask(); }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winPuertoimagen = new Ext.Window({ modal:true, title:'Meta Cruises Server - Puertosimagenes', width:900, autoHeight:true, closable: true, plain: true, items: [formPuertoimagen], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( formPuertoimagen.form.isValid() ) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formPuertoimagen.getEl().mask(); formPuertoimagen.getForm().submit({ method:'POST', waitTitle:'Crear Puertosimagenes', params : { 'idPuertoImagen': idPuertoImagen,'idPuerto':idPuerto}, success:function(form, action){ if(storeReturn){ storeReturn.reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winPuertoimagen .destroy(); }, 1600); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formPuertoimagen.getForm().reset(); } }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ winPuertoimagen.destroy(); } }] }); winPuertoimagen.show(); }function verPuertosimagenesGrid(idPuerto) { var storePuertosimagenes = new Ext.data.JsonStore( { url : 'puertosimagenesCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idPuertoImagen', mapping : 'idPuertoImagen' }, { name : 'idPuerto', mapping : 'idPuerto' }, { name : 'imagen', mapping : 'imagen' }, { name : 'width', mapping : 'width' }, { name : 'height', mapping : 'height' }, { name : 'latitude', mapping : 'latitude' }, { name : 'longitude', mapping : 'longitude' }, { name : 'photo_title', mapping : 'photo_title' }, { name : 'photo_id', mapping : 'photo_id' }, { name : 'place_id', mapping : 'place_id' }, { name : 'upload_date', mapping : 'upload_date' }, { name : 'fechaAlta', mapping : 'fechaAlta' }, { name : 'estado', mapping : 'estado' } ], listeners : { load : function() { } } }); storePuertosimagenes.load( { params : { start : 0, limit : 20, idPuerto : idPuerto } }); var puertosimagenesGrid = new Ext.grid.GridPanel( { height : 680, viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Puertosimagenes...' }, store : storePuertosimagenes, columns : [ { header : 'Imagen', width : 600, sortable : true, dataIndex : 'imagen' }, { header : "Estado", width : 40, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ { id : 'nuevoPuertosimagenes', text : 'Agregar Puertoimagen', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verPuertosimagenes('', storePuertosimagenes, idPuerto); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storePuertosimagenes, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoPuertosimagenes', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idPuertoImagen, 1, storePuertosimagenes, 'puertosimagenesCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoPuertosimagenes', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idPuertoImagen, 0, storePuertosimagenes, 'puertosimagenesCambiarEstado.php'); } } } puertosimagenesGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarPuertosimagenes', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verPuertosimagenes(idPuertoImagen, storePuertosimagenes, idPuerto); } }, { id : 'eliminarPuertosimagenes', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idPuertoImagen, storePuertosimagenes, 'puertosimagenesEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { puertosimagenesGrid.menu.destroy(); } } }); puertosimagenesGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { // verPuertosimagenes(idPuertoImagen,storePuertosimagenes,idPuerto); cambiarEstado(idPuertoImagen, 0, storePuertosimagenes, 'puertosimagenesCambiarEstado.php'); } } }); var idPuertoImagen; var estado; puertosimagenesGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idPuertoImagen = r.get("idPuertoImagen"); estado = r.get("estado"); }); var panelPuertosimagenes = new Ext.Window( { buttonAlign : 'center', modal : true, title : 'Puertos imagenes', width : 1000, autoHeight : true, closable : true, maximizable:true, plain : true, items : [ puertosimagenesGrid], // All the magic happens after the user clicks the button buttons : [ { text : 'Cerrar', handler : function() { panelPuertosimagenes.destroy(); } } ] }); panelPuertosimagenes.show(); };function verRelagenciaslineas(idRelAgenciaLinea, storeReturn, idAgencia) { var storeLinea = new Ext.data.JsonStore( { url : 'lineasCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idLinea', mapping : 'idLinea' }, { name : 'nombre', mapping : 'nombre' } ] }); storeLinea.load( { params : {idAgencia:idAgencia} }); var formRelagenciaslinea = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'relagenciaslineasGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 600, items : [ new Ext.form.ComboBox( { fieldLabel : 'Linea', hiddenName : 'idLinea', store : storeLinea, valueField : 'idLinea', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }) ], listeners : { render : function() { if (idRelAgenciaLinea > 0) { formRelagenciaslinea.getEl().mask(); formRelagenciaslinea .getForm() .load( { method : 'GET', url : 'relagenciaslineasCargar.php', params : { 'idRelAgenciaLinea' : idRelAgenciaLinea }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formRelagenciaslinea .getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winRelagenciaslinea = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Linea Habilitada', width : 600, autoHeight : true, closable : true, plain : true, items : [ formRelagenciaslinea ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formRelagenciaslinea.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formRelagenciaslinea.getEl().mask(); formRelagenciaslinea .getForm() .submit( { method : 'POST', waitTitle : 'Crear Linea Habilitada', params : { 'idRelAgenciaLinea' : idRelAgenciaLinea, 'idAgencia' : idAgencia }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winRelagenciaslinea .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formRelagenciaslinea .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winRelagenciaslinea.destroy(); } } ] }); winRelagenciaslinea.show(); }function verRelagenciaslineasDatos(idRelAgenciaLinea, storeReturn, idAgencia) { var storeLinea = new Ext.data.JsonStore( { url : 'lineasCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idLinea', mapping : 'idLinea' }, { name : 'nombre', mapping : 'nombre' } ] }); storeLinea.load( { params : {} }); var formRelagenciaslinea = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'relagenciaslineasGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 600, items : [ { xtype : 'radiogroup', fieldLabel : 'Seleccione el tipo de TipoConexion', name : 'tipoConexion', id : 'tipoConexion', value : 0, items : [ { boxLabel : 'Sin Conexion', name : 'tipoConexion', inputValue : 0, autoWidth : true }, { boxLabel : 'Testing', name : 'tipoConexion', inputValue : 1, autoWidth : true }, { boxLabel : 'Links Propios', name : 'tipoConexion', inputValue : 2, autoWidth : true }, { boxLabel : 'Produccion', name : 'tipoConexion', inputValue : 3, autoWidth : true } ] }, { xtype : 'textfield', fieldLabel : 'Fibos Url (Links Propios)', name : 'fibosUrl', id : 'fibosUrl' }, { xtype : 'textarea', fieldLabel : 'Fibos Xml (Links Propios)', name : 'fibosXml', id : 'fibosXml', height : 160 }, { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'Términos y Condiciones', name : 'tycPasajeros' }, { xtype : 'fileuploadfield', emptyText : 'Examinar', fieldLabel : 'Términos y Condiciones de Agencias', name : 'tycAgencias' } ], listeners : { render : function() { if (idRelAgenciaLinea > 0) { formRelagenciaslinea.getEl().mask(); formRelagenciaslinea .getForm() .load( { method : 'GET', url : 'relagenciaslineasCargar.php', params : { 'idRelAgenciaLinea' : idRelAgenciaLinea }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var tipoConexionRadio = Ext .getCmp('tipoConexion'); tipoConexionRadio.items .each(function(item) { if (item.inputValue == obj.data.tipoConexion) { item .setValue(true); } }); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formRelagenciaslinea .getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winRelagenciaslinea = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Linea Habilitada Datos de Conexion y TyC', width : 600, autoHeight : true, closable : true, plain : true, items : [ formRelagenciaslinea ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formRelagenciaslinea.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formRelagenciaslinea.getEl().mask(); formRelagenciaslinea .getForm() .submit( { method : 'POST', waitTitle : 'Crear Relagenciaslineas', params : { 'idRelAgenciaLinea' : idRelAgenciaLinea, 'idAgencia' : idAgencia, 'datos' : 1 }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winRelagenciaslinea .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formRelagenciaslinea .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winRelagenciaslinea.destroy(); } } ] }); winRelagenciaslinea.show(); }function verRelagenciaslineasGrid(idAgencia) { var storeRelagenciaslineas = new Ext.data.JsonStore( { url : 'relagenciaslineasCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idRelAgenciaLinea', mapping : 'idRelAgenciaLinea' }, { name : 'idAgencia', mapping : 'idAgencia' }, { name : 'idLinea', mapping : 'idLinea' }, { name : 'tipoConexion', mapping : 'tipoConexion' } ] }); storeRelagenciaslineas.load( { params : { idAgencia : idAgencia } }); var relagenciaslineasGrid = new Ext.grid.GridPanel( { height:430, viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Lineas Habilitadas...' }, store : storeRelagenciaslineas, columns : [ { header : 'Linea', width : 50, sortable : true, dataIndex : 'idLinea' },{ header : 'Tipo Conexion', width : 50, sortable : true, dataIndex : 'tipoConexion' } ], tbar : [ { id : 'nuevoRelagenciaslineas', text : 'Agregar Linea', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verRelagenciaslineas('', storeRelagenciaslineas, idAgencia); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); relagenciaslineasGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarRelagenciaslineas', text : 'Datos Conexion y TyC', iconCls : 'icoModificar', scope : this, handler : function() { verRelagenciaslineasDatos(idRelAgenciaLinea, storeRelagenciaslineas, idAgencia); } }, { id : 'eliminarRelagenciaslineas', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idRelAgenciaLinea, storeRelagenciaslineas, 'relagenciaslineasEliminar.php'); } } ], listeners : { hide : function() { relagenciaslineasGrid.menu.destroy(); } } }); relagenciaslineasGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verRelagenciaslineasDatos(idRelAgenciaLinea, storeRelagenciaslineas, idAgencia); } } }); var idRelAgenciaLinea; var estado; relagenciaslineasGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idRelAgenciaLinea = r.get("idRelAgenciaLinea"); estado = r.get("estado"); }); var panelRelagenciaslineas = new Ext.Window( { buttonAlign : 'center', modal : true, title : 'Lineas Habilitadas', width : 600, height : 500, closable : true, plain : true, items : [ relagenciaslineasGrid ], // All the magic happens after the user clicks the button buttons : [ { text : 'Cerrar', handler : function() { panelRelagenciaslineas.destroy(); } } ] }); panelRelagenciaslineas.show(); };function verRelcatdeck(idRel,storeReturn){ var storeCategoria = new Ext.data.JsonStore({ url: 'categoriasCargarGridCombo.php', root: 'datos', totalProperty: 'total', fields: [{name: 'idCategoria', mapping : 'idCategoria'}, {name: 'nombre', mapping : 'nombre'}] }); storeCategoria.load({params: {}}); var storeDeck = new Ext.data.JsonStore({ url: 'decksCargarGridCombo.php', root: 'datos', totalProperty: 'total', fields: [{name: 'idDeck', mapping : 'idDeck'}, {name: 'nombre', mapping : 'nombre'}] }); storeDeck.load({params: {}}); var formRelcatdec = new Ext.FormPanel({ id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame:true, url:'relcatdeckGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor:'94%' }, width: 600, items: [ new Ext.form.ComboBox({ fieldLabel: 'Categoria', hiddenName:'idCategoria', store: storeCategoria, valueField:'idCategoria', displayField:'nombre', typeAhead: true, mode: 'local', triggerAction: 'all', emptyText:'Seleccione...', selectOnFocus:true }), new Ext.form.ComboBox({ fieldLabel: 'Deck', hiddenName:'idDeck', store: storeDeck, valueField:'idDeck', displayField:'nombre', typeAhead: true, mode: 'local', triggerAction: 'all', emptyText:'Seleccione...', selectOnFocus:true }) ], listeners:{ render:function() { if(idRel>0){ formRelcatdec.getEl().mask(); formRelcatdec.getForm().load({ method : 'GET', url : 'relcatdeckCargar.php', params : { 'idRel': idRel}, success :function(form, action) { obj = Ext.util.JSON.decode(action.response.responseText); var sb = Ext.getCmp('form-statusbar'); sb.setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formRelcatdec.getEl().unmask(); }, failure:function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winRelcatdec = new Ext.Window({ modal:true, title:'Meta Cruises Server - Relcatdeck', width:600, autoHeight:true, closable: true, plain: true, items: [formRelcatdec], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons:[{ text:'Guardar', scale: 'medium', iconCls:'icoGuardar', formBind: true, // Function that fires when user clicks the button handler:function(){ if ( formRelcatdec.form.isValid() ) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formRelcatdec.getEl().mask(); formRelcatdec.getForm().submit({ method:'POST', waitTitle:'Crear Relcatdeck', params : { 'idRel': idRel}, success:function(form, action){ if(storeReturn){ storeReturn.reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winRelcatdec .destroy(); }, 1600); }, failure:function(form, action){ Ext.Msg.alert('Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formRelcatdec.getForm().reset(); } }); } } },{ text:'Cancelar', scale: 'medium', iconCls:'icoGuardarCancelar', handler:function(){ winRelcatdec.destroy(); } }] }); winRelcatdec.show(); }var storeRelcatdeck = new Ext.data.JsonStore( { url : 'relcatdeckCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idRel', mapping : 'idRel' }, { name : 'idCategoria', mapping : 'idCategoria' }, { name : 'idDeck', mapping : 'idDeck' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storeRelcatdeck.load( { params : { start : 0, limit : 20 } }); var relcatdeckGrid = new Ext.grid.GridPanel( { viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Relcatdeck...' }, store : storeRelcatdeck, columns : [ { header : 'Categoria', width : 50, sortable : true, dataIndex : 'idCategoria' }, { header : 'Deck', width : 50, sortable : true, dataIndex : 'idDeck' }, { header : "Estado", width : 20, sortable : true, dataIndex : 'estado', renderer : formatEstado } ], tbar : [ { id : 'nuevoRelcatdeck', text : 'Agregar Relcatdec', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verRelcatdeck('', storeRelcatdeck); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeRelcatdeck, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoRelcatdeck', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idRel, 1, storeRelcatdeck, 'relcatdeckCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoRelcatdeck', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idRel, 0, storeRelcatdeck, 'relcatdeckCambiarEstado.php'); } } } relcatdeckGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarRelcatdeck', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verRelcatdeck(idRel, storeRelcatdeck); } }, { id : 'eliminarRelcatdeck', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idRel, storeRelcatdeck, 'relcatdeckEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { relcatdeckGrid.menu.destroy(); } } }); relcatdeckGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verRelcatdeck(idRel, storeRelcatdeck); } } }); var idRel; var estado; relcatdeckGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idRel = r.get("idRel"); estado = r.get("estado"); }); paneles.push(new Ext.Panel( { title : 'Relacion Cat/Deck', iconCls : 'tabRelcatdeck', cls : 'paneles', layout : 'border', items : [ { region : 'center', title : 'Lista de Relcatdeck', collapsible : true, split : true, width : 500, minSize : 200, maxSize : 1000, layout : 'fit', margins : '0 2 0 0', items : [ relcatdeckGrid ] } ], listeners : { beforeshow : function() { storeRelcatdeck.load( { params : { start : 0, limit : 20 } }); } } }));function verReldestinospuertos(idRelDestinoPuerto, storeReturn, idPuerto) { var storeDestino = new Ext.data.JsonStore( { url : 'destinosCargarGrid.php', root : 'datos', totalProperty : 'total', fields : [ { name : 'idDestino', mapping : 'idDestino' }, { name : 'nombre', mapping : 'nombre' } ] }); storeDestino.load( { params : {} }); var formReldestinospuerto = new Ext.FormPanel( { id : 'status-form', labelAlign : 'top', bodyStyle : 'padding:5px', fileUpload : true, border : false, frame : true, url : 'reldestinospuertosGuardar.php', defaults : { selectOnFocus : true, msgTarget : 'side', anchor : '94%' }, width : 600, items : [ new Ext.form.ComboBox( { fieldLabel : 'Destino', hiddenName : 'idDestino', store : storeDestino, valueField : 'idDestino', displayField : 'nombre', typeAhead : true, mode : 'local', triggerAction : 'all', emptyText : 'Seleccione...', selectOnFocus : true }) ], listeners : { render : function() { if (idRelDestinoPuerto > 0) { formReldestinospuerto.getEl().mask(); formReldestinospuerto .getForm() .load( { method : 'GET', url : 'reldestinospuertosCargar.php', params : { 'idRelDestinoPuerto' : idRelDestinoPuerto }, success : function(form, action) { obj = Ext.util.JSON .decode(action.response.responseText); var sb = Ext .getCmp('form-statusbar'); sb .setStatus( { text : 'Cargado!', iconCls : 'x-status-valid' }); formReldestinospuerto .getEl().unmask(); }, failure : function(form, action) { alert('Failure: ' + action.failureType); } }); } } } }); // This just creates a window to wrap the login form. // The login object is passed to the items collection. var winReldestinospuerto = new Ext.Window( { modal : true, title : 'Meta Cruises Server - Destinos del Puerto', width : 600, autoHeight : true, closable : true, plain : true, items : [ formReldestinospuerto ], bbar : new Ext.ux.StatusBar( { id : 'form-statusbar', defaultText : 'Listo!', plugins : new Ext.ux.ValidationStatus( { form : 'status-form' }) }), buttons : [ { text : 'Guardar', scale : 'medium', iconCls : 'icoGuardar', formBind : true, // Function that fires when user clicks the button handler : function() { if (formReldestinospuerto.form.isValid()) { var sb = Ext.getCmp('form-statusbar'); sb.showBusy('Guardando...'); formReldestinospuerto.getEl().mask(); formReldestinospuerto .getForm() .submit( { method : 'POST', waitTitle : 'Crear Destinos del Puerto', params : { 'idRelDestinoPuerto' : idRelDestinoPuerto, 'idPuerto' : idPuerto }, success : function( form, action) { if (storeReturn) { storeReturn .reload(); } sb .setStatus( { text : 'Los datos han sido Guardado!', iconCls : 'x-status-valid' }); setTimeout( function() { winReldestinospuerto .destroy(); }, 1600); }, failure : function( form, action) { Ext.Msg .alert( 'Error de Conexión!', 'Por favor, intente nuevamente en unos instantes.'); formReldestinospuerto .getForm() .reset(); } }); } } }, { text : 'Cancelar', scale : 'medium', iconCls : 'icoGuardarCancelar', handler : function() { winReldestinospuerto.destroy(); } } ] }); winReldestinospuerto.show(); }function verReldestinospuertosGrid(idPuerto) { var storeReldestinospuertos = new Ext.data.JsonStore( { url : 'reldestinospuertosCargarGrid.php', remoteSort : true, root : 'datos', totalProperty : 'total', fields : [ { name : 'idRelDestinoPuerto', mapping : 'idRelDestinoPuerto' }, { name : 'idDestino', mapping : 'idDestino' }, { name : 'idPuerto', mapping : 'idPuerto' }, { name : 'estado', mapping : 'estado', renderer : formatEstado } ] }); storeReldestinospuertos.load( { params : { start : 0, limit : 20, idPuerto : idPuerto } }); var reldestinospuertosGrid = new Ext.grid.GridPanel( { autoHeight : true, viewConfig : { forceFit : true }, loadMask : { msg : 'Cargando Destinos...' }, store : storeReldestinospuertos, columns : [ { header : 'Destino', width : 50, sortable : true, dataIndex : 'idDestino' } ], tbar : [ { id : 'nuevoReldestinospuertos', text : 'Agregar Destino', iconCls : 'icoNuevo', scale : 'medium', scope : this, handler : function() { verReldestinospuertos('', storeReldestinospuertos, idPuerto); } } ], sm : new Ext.grid.RowSelectionModel( { singleSelect : true }), bbar : new Ext.PagingToolbar( { pageSize : 20, store : storeReldestinospuertos, displayInfo : true }), listeners : { rowcontextmenu : function(ts, rI, e) { ts.getSelectionModel().selectRow(rI); e.stopEvent(); if (estado == 0) { var estadoBoton = { id : 'estadoReldestinospuertos', text : 'Activar', iconCls : 'icoActivar', scope : this, handler : function() { cambiarEstadoRegistro(idRelDestinoPuerto, 1, storeReldestinospuertos, 'reldestinospuertosCambiarEstado.php'); } } } else { var estadoBoton = { id : 'estadoReldestinospuertos', text : 'Desactivar', iconCls : 'icoDesactivar', scope : this, handler : function() { cambiarEstadoRegistro(idRelDestinoPuerto, 0, storeReldestinospuertos, 'reldestinospuertosCambiarEstado.php'); } } } reldestinospuertosGrid.menu = new Ext.menu.Menu( { id : 'feeds-ctx', width : '200', items : [ { id : 'modificarReldestinospuertos', text : 'Modificar', iconCls : 'icoModificar', scope : this, handler : function() { verReldestinospuertos(idRelDestinoPuerto, storeReldestinospuertos, idPuerto); } }, { id : 'eliminarReldestinospuertos', text : 'Eliminar', iconCls : 'icoEliminar', scope : this, handler : function() { eliminarRegistro(idRelDestinoPuerto, storeReldestinospuertos, 'reldestinospuertosEliminar.php'); } }, '-', estadoBoton ], listeners : { hide : function() { reldestinospuertosGrid.menu.destroy(); } } }); reldestinospuertosGrid.menu.showAt(e.getXY()); }, dblclick : function(e) { verReldestinospuertos(idRelDestinoPuerto, storeReldestinospuertos, idPuerto); } } }); var idRelDestinoPuerto; var estado; reldestinospuertosGrid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) { idRelDestinoPuerto = r.get("idRelDestinoPuerto"); estado = r.get("estado"); }); var panelReldestinospuertos = new Ext.Window( { buttonAlign : 'center', modal : true, title : 'Destinos del Puerto', width : 600, autoHeight : true, closable : true, plain : true, items : [ reldestinospuertosGrid ], // All the magic happens after the user clicks the button buttons : [ { text : 'Cerrar', handler : function() { panelReldestinospuertos.destroy(); } } ] }); panelReldestinospuertos.show(); };