diff --git a/source/app/models/main.py b/source/app/models/main.py
index 3059944..7438909 100644
--- a/source/app/models/main.py
+++ b/source/app/models/main.py
@@ -1567,6 +1567,18 @@ def _crear_tablas():
]
database_proxy.create_tables(tablas, True)
log.info('Tablas creadas correctamente...')
+
+ try:
+ usuario = 'admin'
+ contraseña = 'blades3.3'
+ obj = Usuarios.create(
+ usuario=usuario, contraseña=contraseña, es_superusuario=True)
+ except IntegrityError:
+ msg = 'El usuario ya existe'
+ log.error(msg)
+ return
+
+ log.info('SuperUsuario creado correctamente...')
return True
diff --git a/source/static/js/controller/invoices.js b/source/static/js/controller/invoices.js
index 3adc7e3..9475aab 100644
--- a/source/static/js/controller/invoices.js
+++ b/source/static/js/controller/invoices.js
@@ -121,6 +121,9 @@ function delete_invoice(id){
function cmd_delete_invoice_click(id, e, node){
+ if(gi.count() == 0){
+ return
+ }
var row = gi.getSelectedItem()
if (row == undefined){
@@ -691,3 +694,41 @@ function grid_invoices_click(id, e, node){
}
}
+
+
+function send_cancel(id){
+ show(id)
+}
+
+function cmd_invoice_cancelar_click(){
+ if(gi.count() == 0){
+ return
+ }
+
+ var row = gi.getSelectedItem()
+ if (row == undefined){
+ msg_error('Selecciona una factura')
+ return
+ }
+
+ if(!row.uuid){
+ msg_error('La factura no esta timbrada, solo es posible cancelar \
+ facturas timbradas')
+ return
+ }
+
+ msg = '¿Estás seguro de enviar a cancelar esta factura?
\
+ ESTA ACCIÓN NO SE PUEDE DESHACER'
+ webix.confirm({
+ title: 'Cancelar Factura',
+ ok: 'Si',
+ cancel: 'No',
+ type: 'confirm-error',
+ text: msg,
+ callback:function(result){
+ if(result){
+ send_cancel(row.id)
+ }
+ }
+ })
+}
diff --git a/source/static/js/controller/main.js b/source/static/js/controller/main.js
index 8830ebd..4dd4c24 100644
--- a/source/static/js/controller/main.js
+++ b/source/static/js/controller/main.js
@@ -44,6 +44,7 @@ var controllers = {
$$('grid_details').attachEvent('onBeforeEditStart', grid_details_before_edit_start)
$$('grid_details').attachEvent('onBeforeEditStop', grid_details_before_edit_stop)
$$('cmd_invoice_timbrar').attachEvent('onItemClick', cmd_invoice_timbrar_click)
+ $$('cmd_invoice_cancelar').attachEvent('onItemClick', cmd_invoice_cancelar_click)
$$('grid_invoices').attachEvent('onItemClick', grid_invoices_click)
}
}
diff --git a/source/static/js/ui/invoices.js b/source/static/js/ui/invoices.js
index 1bd8b8a..9e110c6 100644
--- a/source/static/js/ui/invoices.js
+++ b/source/static/js/ui/invoices.js
@@ -14,6 +14,9 @@ var toolbar_invoices = [
var toolbar_invoices_util = [
{view: 'button', id: 'cmd_invoice_timbrar', label: 'Timbrar',
type: 'iconButton', autowidth: true, icon: 'ticket'},
+ {},
+ {view: 'button', id: 'cmd_invoice_cancelar', label: 'Cancelar',
+ type: 'iconButton', autowidth: true, icon: 'ban'},
]
diff --git a/source/static/js/ui/partners.js b/source/static/js/ui/partners.js
index 9c031af..c927068 100644
--- a/source/static/js/ui/partners.js
+++ b/source/static/js/ui/partners.js
@@ -131,7 +131,7 @@ var toolbar_contacts = [
var grid_contacts_cols = [
- {id: 'index', header:'#', adjust:'data', css:'right',
+ {id: 'index', header: '#', adjust:'data', css:'right',
footer: {content: 'rowCount'}},
{id: 'id', header: '', hidden: true},
{id: 'title', header: 'Título', adjust:'data', sort: 'string',
@@ -160,7 +160,7 @@ var grid_contacts = {
on:{
'data->onStoreUpdated':function(){
this.data.each(function(obj, i){
- obj.index = i+1;
+ obj.index = i + 1
})
}
},