Fix - Issue #183

This commit is contained in:
Mauricio Baeza 2018-02-12 16:01:46 -06:00
parent d6079a6a43
commit 535958f3c1
4 changed files with 78 additions and 2 deletions

View File

@ -293,9 +293,13 @@ class StorageEngine(object):
return main.Socios.get_(values)
def partner(self, values):
if 'opt' in values:
return main.Socios.opt(values)
id = int(values.pop('id', '0'))
if id:
return main.Socios.actualizar(values, id)
return main.Socios.add(values)
def get_products(self, values):

View File

@ -2462,6 +2462,21 @@ class Socios(BaseModel):
q = Socios.delete().where(Socios.id==id)
return bool(q.execute())
def _reset_saldo(self, id):
obj = Socios.get(Socios.id==id)
obj.saldo_cliente = 0.0
obj.save()
return {'ok': True}
@classmethod
def opt(cls, args):
opt = args.get('opt', '')
if opt == 'reset':
return cls._reset_saldo(cls, args['id'])
return {'ok': False}
class Contactos(BaseModel):
socio = ForeignKeyField(Socios)

View File

@ -9,6 +9,7 @@ var partners_controllers = {
$$('cmd_save_partner').attachEvent('onItemClick', cmd_save_partner_click);
$$('cmd_cancel_partner').attachEvent('onItemClick', cmd_cancel_partner_click);
$$('cmd_cancel_contact').attachEvent('onItemClick', cmd_cancel_contact_click);
$$('cmd_partner_zero').attachEvent('onItemClick', cmd_partner_zero_click);
$$('codigo_postal').attachEvent('onKeyPress', postal_code_key_press);
$$('codigo_postal').attachEvent('onTimedKeyPress', postal_code_key_up);
$$('colonia').attachEvent('onFocus', colonia_on_focus)
@ -18,6 +19,7 @@ var partners_controllers = {
$$("rfc").attachEvent( "onBlur", rfc_lost_focus)
$$('multi').attachEvent('onViewChange', multi_change)
$$('grid_partners').attachEvent('onItemDblClick', cmd_edit_partner_click)
$$('grid_partners').attachEvent('onSelectChange', grid_partners_on_select_change)
}
}
@ -317,13 +319,63 @@ function is_client_change(new_value, old_value){
function is_supplier_change(new_value, old_value){
var value = Boolean(new_value)
if (value){
$$("cuenta_proveedor").enable();
$$("cuenta_proveedor").enable()
} else {
$$("cuenta_proveedor").disable();
$$("cuenta_proveedor").disable()
}
}
function partner_reset_saldo(id){
webix.ajax().post('/partners', {opt: 'reset', id: id}, {
error:function(text, data, XmlHttpRequest){
msg = 'Ocurrio un error, consulta a soporte técnico';
msg_error(msg)
},
success:function(text, data, XmlHttpRequest){
var values = data.json();
if(values.ok){
msg = 'Saldo actualizado correctamente'
$$('grid_partners').updateItem(id, {saldo_cliente: 0.0})
msg_ok(msg)
}
}
})
}
function cmd_partner_zero_click(){
var g = $$('grid_partners')
var row = g.getSelectedItem()
var saldo = row.saldo_cliente.to_float()
if(saldo){
msg = '¿Estas seguro de poner en cero el saldo del cliente?<BR><BR>'
msg += 'ESTA ACCIÓN NO SE PUEDE DESHACER'
webix.confirm({
title: 'Saldo Cliente',
ok: 'Si',
cancel: 'No',
type: 'confirm-error',
text: msg,
callback:function(result){
if (result){
partner_reset_saldo(row.id)
}
}
})
}else{
$$('cmd_partner_zero').disable()
}
}
function grid_partners_on_select_change(){
$$('cmd_partner_zero').enable()
}
function rfc_lost_focus(prev_view){
//~ var form = this.getFormView()
//~ var values = form.getValues()
@ -364,3 +416,5 @@ function multi_partners_change(prevID, nextID){
//~ webix.message(prevID)
//~ webix.message(nextID)
}

View File

@ -7,6 +7,9 @@ var toolbar_partners = [
autowidth: true, icon: 'user'},
{view: 'button', id: 'cmd_delete_partner', label: 'Eliminar', type: 'iconButton',
autowidth: true, icon: 'user-times'},
{},
{view: 'button', id: 'cmd_partner_zero', label: 'Saldo 0', type: 'iconButton',
autowidth: true, icon: 'power-off', disabled: true},
]