diff --git a/source/app/models/main.py b/source/app/models/main.py
index b66197d..60ef522 100644
--- a/source/app/models/main.py
+++ b/source/app/models/main.py
@@ -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'])
diff --git a/source/static/js/controller/bancos.js b/source/static/js/controller/bancos.js
index 28cd425..5d0aeaa 100644
--- a/source/static/js/controller/bancos.js
+++ b/source/static/js/controller/bancos.js
@@ -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?
ASEGURATE QUE NO ESTE TIMBRADA
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')
diff --git a/source/static/js/ui/bancos.js b/source/static/js/ui/bancos.js
index 2f61cbb..94c0f60 100644
--- a/source/static/js/ui/bancos.js
+++ b/source/static/js/ui/bancos.js
@@ -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")',