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

330 lines
9.4 KiB
JavaScript
Raw Normal View History

2017-06-27 15:43:02 -05:00
function cmd_new_partner_click(id, e, node){
2017-06-27 23:58:03 -05:00
$$('form_partner').setValues({
2017-10-02 00:12:22 -05:00
id: 0, pais: 'México', tipo_persona: 1, es_activo: true})
$$('forma_pago').getList().load('/values/formapago')
2017-06-27 23:58:03 -05:00
$$('grid_partners').clearSelection()
$$('multi_partners').setValue('partners_new')
$$('tab_partner').setValue('Datos Fiscales')
2017-10-06 00:10:27 -05:00
2017-10-07 00:16:58 -05:00
get_uso_cfdi_to_table({})
2017-10-06 00:10:27 -05:00
query = table_usocfdi.chain().find({fisica: true}).data()
$$('lst_uso_cfdi_socio').getList().parse(query)
}
2017-06-27 23:58:03 -05:00
function cmd_new_contact_click(id, e, node){
$$('grid_contacts').clearSelection()
$$('multi_contacts').setValue('contacts_new')
2017-10-06 00:10:27 -05:00
}
2017-06-27 15:43:02 -05:00
function cmd_edit_partner_click(id, e, node){
var msg = ''
var row = $$('grid_partners').getSelectedItem()
2017-06-27 15:43:02 -05:00
if (row == undefined){
msg = 'Selecciona un Socio de Negocio'
webix.message({type:'error', text: msg})
2017-06-27 15:43:02 -05:00
return
}
2017-06-27 15:43:02 -05:00
2017-10-07 00:16:58 -05:00
webix.ajax().get("/partners", {id: row['id']}, {
2017-06-27 15:43:02 -05:00
error: function(text, data, xhr) {
webix.message({type:"error", text: "Error al consultar"})
2017-06-27 15:43:02 -05:00
},
success: function(text, data, xhr){
2017-10-07 00:16:58 -05:00
var values = data.json()
$$('form_partner').setValues(values)
$$('forma_pago').getList().load('/values/formapago')
2017-10-07 00:16:58 -05:00
get_uso_cfdi_to_table({})
if(values.tipo_persona == 1){
query = table_usocfdi.chain().find({fisica: true}).data()
}else if(values.tipo_persona == 2){
query = table_usocfdi.chain().find({moral: true}).data()
}else{
query = [{id: 'P01', value: 'Por definir'}]
}
$$('lst_uso_cfdi_socio').getList().parse(query)
2017-10-07 23:52:11 -05:00
if(values.es_cliente){
$$('cuenta_cliente').enable()
}
if(values.es_proveedor){
$$('cuenta_proveedor').enable()
}
2017-06-27 15:43:02 -05:00
}
})
2017-06-27 15:43:02 -05:00
$$('multi_partners').setValue('partners_new')
$$('tab_partner').setValue('Datos Fiscales')
2017-06-27 15:43:02 -05:00
};
function cmd_delete_partner_click(id, e, node){
var msg = ''
var row = $$('grid_partners').getSelectedItem()
2017-06-27 15:43:02 -05:00
if (row == undefined){
msg = 'Selecciona un Cliente o Proveedor'
webix.message({type:'error', text: msg})
2017-06-27 15:43:02 -05:00
return
}
2017-06-27 15:43:02 -05:00
msg = '¿Estás seguro de eliminar al cliente?<BR><BR>'
msg += row['nombre'] + ' (' + row['rfc'] + ')'
msg += '<BR><BR>ESTA ACCIÓN NO SE PUEDE DESHACER<BR><BR>'
msg += 'Solo se pueden eliminar clientes o proveedores sin documentos '
msg += 'relacionados. Se recomienda solo desactivar en vez de eliminar'
2017-06-27 15:43:02 -05:00
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 = 'Socio eliminado correctamente'
2017-06-27 15:43:02 -05:00
if (xhr.status == 200){
$$('grid_partners').remove(id);
webix.message({type: 'success', text: msg})
2017-06-27 15:43:02 -05:00
} else {
msg = 'No se pudo eliminar. Asegurate de que no tenga documentos relacionados'
webix.message({type: 'error', text: msg})
2017-06-27 15:43:02 -05:00
}
})
2017-06-27 15:43:02 -05:00
}
function cmd_save_partner_click(id, e, node){
var msg = 'Valores inválidos'
2017-06-27 15:43:02 -05:00
var form = this.getFormView();
if (!form.validate()) {
webix.message({type: 'error', text: msg})
2017-06-27 15:43:02 -05:00
return
}
var values = form.getValues();
2017-10-07 23:52:11 -05:00
if(values.codigo_postal && values.codigo_postal.length != 5){
msg = 'Longitud inválida del C.P.'
msg_error(msg)
return
}
if (!values.es_cliente && !values.es_proveedor){
msg = 'Selecciona si es cliente, proveedor o ambos'
2017-10-07 23:52:11 -05:00
msg_error(msg)
$$('tab_partner').setValue('Otros Datos')
return
}
2017-06-28 23:55:53 -05:00
webix.ajax().post('/partners', values, {
2017-06-27 15:43:02 -05:00
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});
}
}
})
2017-06-27 15:43:02 -05:00
}
2017-06-27 15:43:02 -05:00
function update_grid_partner(values){
var msg = 'Socio de negocio agregado correctamente'
2017-06-27 15:43:02 -05:00
if (values.new){
$$('form_partner').clear()
$$('grid_partners').add(values.row)
}else{
msg = 'Socio de negocio actualizado correctamente'
2017-06-27 15:43:02 -05:00
$$("grid_partners").updateItem(values.row['id'], values.row)
}
$$('multi_partners').setValue('partners_home')
webix.message({type:'success', text: msg})
2017-06-27 15:43:02 -05:00
}
function cmd_cancel_partner_click(id, e, node){
$$('multi_partners').setValue('partners_home')
2017-06-27 23:58:03 -05:00
}
2017-06-27 15:43:02 -05:00
2017-06-27 23:58:03 -05:00
function cmd_cancel_contact_click(id, e, node){
$$('multi_contacts').setValue('contacts_home')
}
2017-06-27 15:43:02 -05:00
function postal_code_key_up(){
var value = this.getValue()
var msg = ''
if( value.length == 5 ){
2017-10-02 00:12:22 -05:00
webix.ajax().get('/values/cp', {cp: value}, {
2017-06-27 15:43:02 -05:00
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({
2017-10-02 00:12:22 -05:00
estado: values.estado,
2017-06-27 15:43:02 -05:00
municipio: values.municipio,
2017-10-02 00:12:22 -05:00
colonia: ''}, true)
2017-06-27 15:43:02 -05:00
$$('colonia').define('suggest', [])
if (webix.isArray(values.colonia)){
$$('colonia').define('suggest', values.colonia)
}else{
2017-10-02 00:12:22 -05:00
$$('form_partner').setValues({colonia: values.colonia}, true)
2017-06-27 15:43:02 -05:00
}
$$('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())
}
}
2017-10-02 00:12:22 -05:00
function opt_tipo_change(new_value, old_value){
$$("nombre").define("value", "")
$$("pais").define("readonly", true)
$$("pais").define("value", PAIS)
2017-10-06 00:10:27 -05:00
2017-10-02 00:12:22 -05:00
if (new_value == 1 || new_value == 2){
$$("rfc").define("value", "");
$$("rfc").define("readonly", false);
} else if (new_value == 3) {
$$("rfc").define("value", RFC_PUBLICO);
$$("nombre").define("value", PUBLICO);
$$("rfc").define("readonly", true);
} else if (new_value == 4) {
$$("rfc").define("value", RFC_EXTRANJERO);
$$("rfc").define("readonly", true);
$$("pais").define("readonly", false);
$$("pais").define("value", "");
}
$$("nombre").refresh();
$$("rfc").refresh();
$$("pais").refresh();
if (new_value == 3) {
$$("calle").focus();
} else {
$$("rfc").focus();
}
2017-10-06 00:10:27 -05:00
$$('lst_uso_cfdi_socio').define('suggest', [])
if (new_value == 1){
query = table_usocfdi.chain().find({fisica: true}).data()
}else if (new_value == 2){
query = table_usocfdi.chain().find({moral: true}).data()
}else{
query = [{id: 'P01', value: 'Por definir'}]
}
$$('lst_uso_cfdi_socio').getList().parse(query)
$$('lst_uso_cfdi_socio').refresh()
2017-10-02 00:12:22 -05:00
}
function is_client_change(new_value, old_value){
var value = Boolean(new_value)
if (value){
$$("cuenta_cliente").enable();
} else {
$$("cuenta_cliente").disable();
}
}
function is_supplier_change(new_value, old_value){
var value = Boolean(new_value)
if (value){
$$("cuenta_proveedor").enable();
} else {
$$("cuenta_proveedor").disable();
}
}
function rfc_lost_focus(prev_view){
//~ var form = this.getFormView()
//~ var values = form.getValues()
//~ if (values.rfc.trim() == ""){
//~ return
//~ }
//~ if (values.id == undefined){
//~ exclude = ''
//~ } else {
//~ exclude = {'id': values.id}
//~ }
//~ values = {
//~ 'table': 'partner',
//~ 'filter': {'rfc': values.rfc.trim().toUpperCase()},
//~ 'exclude': exclude,
//~ }
//~ webix.message(values)
//~ webix.ajax().get("/values/validate", values, {
//~ error:function(text, data, XmlHttpRequest){
//~ msg = "No se pudo validar el RFC"
//~ webix.message({ type:"error", text: msg });
//~ },
//~ success:function(text, data, XmlHttpRequest){
//~ var values = data.json();
//~ if (values.exists) {
//~ msg = "El RFC ya existe"
//~ webix.message({ type:"error", text: msg });
//~ }
//~ }
//~ })
}
function multi_partners_change(prevID, nextID){
webix.message(prevID)
webix.message(nextID)
}