From e6f46bc915acfcb45dfb95b07ab2f7a9790909a3 Mon Sep 17 00:00:00 2001 From: Kilian Saffran Date: Thu, 7 Mar 2019 08:15:15 +0100 Subject: [PATCH] accounting and creche check tables --- .../modules/accounting/js/accounting.js | 10 ++++++++++ .../modules/accounting/js/accountingchild.js | 19 ++++++++----------- .../accounting/js/accountingopeninvoice.js | 8 ++++++++ app_v3/chrome/content/web/js/creche.js | 8 ++++++++ 4 files changed, 34 insertions(+), 11 deletions(-) diff --git a/app_v3/chrome/content/modules/accounting/js/accounting.js b/app_v3/chrome/content/modules/accounting/js/accounting.js index 788d60f..b96bdf0 100644 --- a/app_v3/chrome/content/modules/accounting/js/accounting.js +++ b/app_v3/chrome/content/modules/accounting/js/accounting.js @@ -22,7 +22,9 @@ var aax = ['mon','tue','wed','thu','fri','sat']; var amonth = ['','Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Aôut','Septembre','Octobre','Novembre','Décembre']; function initdata(){ curcfg.loadconfig(apppref.getpreference("support.database.currentdb.num")); + check_accountingtable(); load_helpers(); + var configdata = apppref.getpreference("pageconfig.accounting"); if (configdata != '') { @@ -421,3 +423,11 @@ function openmonthlypdf(){ var ff = system.openFile(mpdffile); } +function check_accountingtable(){ + var cols = appdb.dbquery("SELECT type, name,tbl_name,sql FROM sqlite_master where tbl_name='accounting';"); + if (cols.sqldata[0].sql.indexOf(" uuid TEXT") == -1){ + appdb.dbexec("ALTER TABLE accounting add column uuid TEXT;"); + } + appdb.dbexec("UPDATE accounting set uuid= hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-' || hex(randomblob(2)) || '-' || hex(randomblob(2)) || '-' || hex(randomblob(6)) where uuid is null;"); +} + diff --git a/app_v3/chrome/content/modules/accounting/js/accountingchild.js b/app_v3/chrome/content/modules/accounting/js/accountingchild.js index 641702b..f097502 100644 --- a/app_v3/chrome/content/modules/accounting/js/accountingchild.js +++ b/app_v3/chrome/content/modules/accounting/js/accountingchild.js @@ -11,6 +11,7 @@ var delacc = {}; function initdata(){ curcfg.loadconfig(apppref.getpreference("support.database.currentdb.num")); + check_accountingtable(); load_helpers(); var configdata = apppref.getpreference("pageconfig.accountingchild"); if (configdata != '') { @@ -337,14 +338,10 @@ function onhidecolumn(coltohide) { //dump("Hide column " + coltohide + "\n"); } -// function check_accountingtable(){ -// var cols = appdb.dbquery("SELECT type, name,tbl_name,sql FROM sqlite_master where tbl_name='accounting';"); -// //jsdump(JSON.stringify(cols)); -// if (cols.sqldata[0].sql.indexOf("nocheckservice") == -1){ -// //jsdump("Install missing column! ALTER TABLE accounting add column nocheckservice integer"); -// appdb.dbexec("ALTER TABLE accounting add column nocheckservice integer;"); -// } -// // else { -// // jsdump("missing column found!"); -// // } -// } +function check_accountingtable(){ + var cols = appdb.dbquery("SELECT type, name,tbl_name,sql FROM sqlite_master where tbl_name='accounting';"); + if (cols.sqldata[0].sql.indexOf(" uuid TEXT") == -1){ + appdb.dbexec("ALTER TABLE accounting add column uuid TEXT;"); + } + appdb.dbexec("UPDATE accounting set uuid= hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-' || hex(randomblob(2)) || '-' || hex(randomblob(2)) || '-' || hex(randomblob(6)) where uuid is null;"); +} diff --git a/app_v3/chrome/content/modules/accounting/js/accountingopeninvoice.js b/app_v3/chrome/content/modules/accounting/js/accountingopeninvoice.js index c5070e7..f476348 100644 --- a/app_v3/chrome/content/modules/accounting/js/accountingopeninvoice.js +++ b/app_v3/chrome/content/modules/accounting/js/accountingopeninvoice.js @@ -10,6 +10,7 @@ var importpath = null; function initdata(){ curcfg.loadconfig(apppref.getpreference("support.database.currentdb.num")); + check_accountingtable(); load_helpers(); var configdata = apppref.getpreference("pageconfig.accountingopeninvoice"); @@ -203,3 +204,10 @@ function openfile(fi){ var ff = system.openFile(ddir + system.sep() + 'imports' + system.sep() + crecheuuid +system.sep() + fi); } +function check_accountingtable(){ + var cols = appdb.dbquery("SELECT type, name,tbl_name,sql FROM sqlite_master where tbl_name='accounting';"); + if (cols.sqldata[0].sql.indexOf(" uuid TEXT") == -1){ + appdb.dbexec("ALTER TABLE accounting add column uuid TEXT;"); + } + appdb.dbexec("UPDATE accounting set uuid= hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-' || hex(randomblob(2)) || '-' || hex(randomblob(2)) || '-' || hex(randomblob(6)) where uuid is null;"); +} diff --git a/app_v3/chrome/content/web/js/creche.js b/app_v3/chrome/content/web/js/creche.js index 7fe0e30..fdaebe6 100644 --- a/app_v3/chrome/content/web/js/creche.js +++ b/app_v3/chrome/content/web/js/creche.js @@ -10,6 +10,7 @@ var weekdays = ['mon','tue','wed','thu','fri','sat']; function initdata() { load_helpers(); + check_crechetable(); var sql = "SELECT uuid,crechename, adress, city, country, zip,maxchilds,minage,maxage,stafflist,idcheckservice FROM creche LIMIT 1;"; var crdata = appdb.dbquery(sql); set_infoheader(""); @@ -508,3 +509,10 @@ for (var i in inssql){ } } } + +function check_crechetable(){ + var cols = appdb.dbquery("SELECT type, name,tbl_name,sql FROM sqlite_master where tbl_name='creche';"); + if (cols.sqldata[0].sql.indexOf("idcheckservice") == -1){ + appdb.dbexec("ALTER TABLE accounting add column idcheckservice TEXT;"); + } +} \ No newline at end of file -- 2.39.5