Eliminar factura de pago cuando no esta timbrada

This commit is contained in:
Mauricio Baeza 2018-09-23 22:36:16 -05:00
parent 6d3625caf7
commit 12d26e01f9
3 changed files with 75 additions and 0 deletions

View File

@ -5383,6 +5383,36 @@ class CfdiPagos(BaseModel):
opt = values.pop('opt')
return getattr(cls, '_{}'.format(opt))(cls, values)
def _delete(self, values):
id_mov = int(values['id_mov'])
filters = (
(CfdiPagos.movimiento==id_mov)
)
last = CfdiPagos.select().where(filters)
if not last:
msg = 'El depósito no tiene facturas de pago'
data = {'ok': False, 'msg': msg}
return data
if len(last) > 1:
msg = 'Hay más de una factura activa para este depósito'
data = {'ok': False, 'msg': msg}
return data
last = last[0]
if last.uuid:
msg = 'La factura esta timbrada, no se puede eliminar'
data = {'ok': False, 'msg': msg}
return data
q = CfdiPagos.delete().where(CfdiPagos.id==last.id)
q.execute()
msg = 'Factura de pago eliminada correctamente'
data = {'ok': True, 'msg': msg}
return data
def _cancel(self, values):
id_mov = int(values['id_mov'])

View File

@ -41,6 +41,7 @@ var bancos_controllers = {
$$('cmd_pay_stamp').attachEvent('onItemClick', cmd_pay_stamp_click)
$$('cmd_pay_cancel').attachEvent('onItemClick', cmd_pay_cancel_click)
$$('cmd_pay_delete').attachEvent('onItemClick', cmd_pay_delete_click)
$$('grid_cfdi_pay').attachEvent('onItemClick', grid_cfdi_pay_click)
$$('grid_cfdi_por_pagar').attachEvent('onItemDblClick', grid_cfdi_por_pagar_double_click)
$$('grid_cfdi_este_deposito').attachEvent('onItemDblClick', grid_cfdi_este_deposito_double_click)
@ -948,6 +949,48 @@ function cmd_pay_cancel_click(){
}
function cmd_pay_delete_click(){
var form = $$('form_bank_pay')
var values = form.getValues()
var data = {'opt': 'delete', 'id_mov': values.id_mov}
var grid = $$('grid_cfdi_pay')
if(grid.count() == 0){
msg_error('El depósito no tiene facturas de pago')
return
}
msg = '¿Estás seguro de eliminar esta factura?<BR><BR>ASEGURATE QUE NO ESTE TIMBRADA<BR><BR>ESTA ACCIÓN NO SE PUEDE DESHACER'
webix.confirm({
title: 'Eliminar Factura',
ok: 'Si',
cancel: 'No',
type: 'confirm-error',
text: msg,
callback:function(result){
if(result){
webix.ajax().post('/cfdipay', data, {
error:function(text, data, XmlHttpRequest){
msg = 'Ocurrio un error, consulta a soporte técnico'
msg_error(msg)
},
success:function(text, data, XmlHttpRequest){
values = data.json();
if(values.ok){
grid.remove(grid.getFirstId())
msg_ok(values.msg)
}else{
msg_error(values.msg)
}
}
})
}
}
})
}
function send_cfdi_email(row){
if(!row.uuid){
msg_error('La factura no esta timbrada')

View File

@ -270,6 +270,8 @@ var toolbar_bank_pay = [
{view: 'button', id: 'cmd_pay_stamp', label: 'Timbrar',
type: 'iconButton', autowidth: true, icon: 'ticket'},
{view: 'button', id: 'cmd_pay_cancel', label: 'Cancelar',
type: 'iconButton', autowidth: true, icon: 'minus'},
{view: 'button', id: 'cmd_pay_delete', label: 'Eliminar',
type: 'iconButton', autowidth: true, icon: 'ban'},
{},
{view: 'icon', click: '$$("multi_bancos").setValue("banco_home")',