Merge branch 'develop'

Fix - Issue #174
This commit is contained in:
Mauricio Baeza 2018-02-12 17:44:46 -06:00
commit 3db6775f57
5 changed files with 93 additions and 9 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)
@ -3093,6 +3108,15 @@ class Facturas(BaseModel):
@classmethod
def cancel(cls, id):
obj = Facturas.get(Facturas.id==id)
if obj.uuid is None:
obj.estatus = 'Cancelada'
obj.cancelada = True
obj.fecha_cancelacion = util.now()
obj.save()
msg = 'Factura cancelada correctamente'
return {'ok': True, 'msg': msg, 'row': {'estatus': 'Cancelada'}}
if CANCEL_SIGNATURE:
return cls._cancel_signature(cls, id)
return cls._cancel_xml(cls, id)

View File

@ -1233,18 +1233,17 @@ function cmd_invoice_cancelar_click(){
return
}
if(!row.uuid){
msg_error('La factura no esta timbrada, solo es posible cancelar \
facturas timbradas')
return
}
if(row.estatus == 'Cancelada'){
msg_error('La factura ya esta cancelada')
return
}
msg = '¿Estás seguro de enviar a cancelar esta factura?<BR><BR> \
msg = ''
if(!row.uuid){
msg = 'La factura NO esta timbrada, asegurate de que efectivamente NO este timbrada.<BR><BR>'
}
msg += '¿Estás seguro de enviar a cancelar esta factura?<BR><BR> \
ESTA ACCIÓN NO SE PUEDE DESHACER'
webix.confirm({
title: 'Cancelar Factura',

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},
]