diff --git a/source/app/models/main.py b/source/app/models/main.py
index 4eb9a91..9751da9 100644
--- a/source/app/models/main.py
+++ b/source/app/models/main.py
@@ -3108,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)
diff --git a/source/static/js/controller/invoices.js b/source/static/js/controller/invoices.js
index 0d90077..18e7b38 100644
--- a/source/static/js/controller/invoices.js
+++ b/source/static/js/controller/invoices.js
@@ -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?
\
+ msg = ''
+ if(!row.uuid){
+ msg = 'La factura NO esta timbrada, asegurate de que efectivamente NO este timbrada.
'
+ }
+
+ msg += '¿Estás seguro de enviar a cancelar esta factura?
\
ESTA ACCIÓN NO SE PUEDE DESHACER'
webix.confirm({
title: 'Cancelar Factura',