empresa-libre/source/static/js/controller/partners.js

178 lines
5.0 KiB
JavaScript

function cmd_new_partner_click(id, e, node){
$$('form_partner').setValues({
id: 0, country: 'México', person_type: 1, is_active: true})
$$('grid_partners').clearSelection()
$$('multi_partners').setValue('partners_new')
};
function cmd_new_contact_click(id, e, node){
$$('grid_contacts').clearSelection()
$$('multi_contacts').setValue('contacts_new')
};
function cmd_edit_partner_click(id, e, node){
var row = $$('grid_partners').getSelectedItem();
if (row == undefined){
webix.message({ type:'error', text:'Selecciona un Cliente' });
return
};
webix.ajax().get("/partners", {id:row['id']}, {
error: function(text, data, xhr) {
webix.message({ type:"error", text: "Error al consultar"});
},
success: function(text, data, xhr){
var values = data.json();
$$('form_partner').setValues(values);
}
});
$$("multi_partners").setValue("partners_new")
};
function cmd_delete_partner_click(id, e, node){
var row = $$('grid_partners').getSelectedItem();
if (row == undefined){
webix.message({ type:'error', text:'Selecciona un Cliente' });
return
};
var msg = '¿Estás seguro de eliminar al cliente?<BR><BR>'
msg += row['name'] + ' (' + row['rfc'] + ')'
msg += '<BR><BR>ESTA ACCIÓN NO SE PUEDE DESHACER'
webix.confirm({
title:'Eliminar Cliente',
ok:'Si',
cancel:'No',
type:'confirm-error',
text:msg,
callback:function(result){
if (result){
delete_partner(row['id'])
}
}
})
};
function delete_partner(id){
webix.ajax().del('/partners', {id:id}, function(text, xml, xhr){
var msg = 'Cliente eliminado correctamente'
if (xhr.status == 200){
$$('grid_partners').remove(id);
webix.message({type:'success', text:msg});
} else {
msg = 'No se pudo eliminar'
webix.message({type:'error', text:msg});
}
});
}
function cmd_save_partner_click(id, e, node){
var form = this.getFormView();
if (!form.validate()) {
webix.message({ type:'error', text:'Valores inválidos'})
return
}
var values = form.getValues();
webix.ajax().post('/partners', values, {
error:function(text, data, XmlHttpRequest){
msg = 'Ocurrio un error, consulta a soporte técnico';
webix.message({type:'error', text:msg});
},
success:function(text, data, XmlHttpRequest){
var values = data.json();
if (values.ok) {
update_grid_partner(values)
} else {
webix.message({type:'error', text:values.msg});
}
}
});
};
function update_grid_partner(values){
var msg = 'Cliente agregado correctamente'
if (values.new){
$$('form_partner').clear()
$$('grid_partners').add(values.row)
}else{
msg = 'Cliente actualizado correctamente'
$$("grid_partners").updateItem(values.row['id'], values.row)
}
$$('multi_partners').setValue('partners_home')
webix.message({type:'success', text:msg})
}
function cmd_cancel_partner_click(id, e, node){
$$('multi_partners').setValue('partners_home')
}
function cmd_cancel_contact_click(id, e, node){
$$('multi_contacts').setValue('contacts_home')
}
function postal_code_key_up(){
var value = this.getValue()
var msg = ''
if( value.length == 5 ){
webix.ajax().get('/pc', {cp:value}, {
error: function(text, data, xhr) {
webix.message({type:'error', text:'Error al consultar el C.P.'})
},
success: function(text, data, xhr) {
var values = data.json();
if (values.estado == undefined){
msg = 'No se encontró el C.P., asegurate de que sea correcto'
webix.message({type:'error', text:msg})
} else {
$$('form_partner').setValues({
state:values.estado,
municipio: values.municipio,
colonia:''}, true)
$$('colonia').define('suggest', [])
if (webix.isArray(values.colonia)){
$$('colonia').define('suggest', values.colonia)
}else{
$$('form_partner').setValues({colonia:values.colonia}, true)
}
$$('colonia').refresh()
$$('form_partner').focus('colonia')
}
}
})
}
}
function postal_code_key_press(code, e){
var data = [8, 9, 37, 39, 46]
if ( data.indexOf(code) >= 0 ){
return true;
}
if ( code < 48 || code > 57){
return false;
}
}
function colonia_on_focus(){
if ($$(this.config.suggest).getList().config.height > 2){
$$(this.config.suggest).show(this.getInputNode())
}
}