From 9262a910d50662cc244453f1d29d6a0f72ce02ae Mon Sep 17 00:00:00 2001 From: Luca Date: Wed, 28 Mar 2018 17:04:10 +0200 Subject: [PATCH] Modulo per gestire le banche --- modules/banche/actions.php | 58 ++++++++++ modules/banche/add.php | 21 ++++ modules/banche/edit.php | 199 ++++++++++++++++++++++++++++++++++ modules/banche/init.php | 7 ++ modules/pagamenti/actions.php | 4 +- update/2_4.sql | 26 +++++ 6 files changed, 313 insertions(+), 2 deletions(-) create mode 100644 modules/banche/actions.php create mode 100644 modules/banche/add.php create mode 100644 modules/banche/edit.php create mode 100644 modules/banche/init.php diff --git a/modules/banche/actions.php b/modules/banche/actions.php new file mode 100644 index 000000000..43d2eefa6 --- /dev/null +++ b/modules/banche/actions.php @@ -0,0 +1,58 @@ + $nome, + 'filiale' => $post['filiale'], + 'IBAN' => $post['IBAN'], + 'BIC' => $post['BIC'], + 'idconto_vendite' => $post['idconto_vendite'], + 'idconto_acquisti' => $post['idconto_acquisti'], + 'note' => $post['note'], + ]; + + if (!empty($id_record)) { + $dbo->update('co_banche', $array, ['id_record' => $id_record]); + } + + $_SESSION['infos'][] = tr('Salvataggio completato!'); + } else { + $_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!'); + } + + break; + + case 'add': + $nome = filter('nome'); + + if (isset($nome)) { + $dbo->query('INSERT INTO `co_banche` (`nome`) VALUES ('.prepare($nome).')'); + $id_record = $dbo->lastInsertedID(); + + $_SESSION['infos'][] = tr('Aggiunta nuova _TYPE_', [ + '_TYPE_' => 'banca', + ]); + } else { + $_SESSION['errors'][] = tr('Ci sono stati alcuni errori durante il salvataggio!'); + } + + break; + + case 'delete': + if (!empty($id_record)) { + $dbo->query('DELETE FROM `co_banche` WHERE `id`='.prepare($id_record)); + $_SESSION['infos'][] = tr('_TYPE_ eliminata con successo!', [ + '_TYPE_' => 'Banca', + ]); + } + + break; +} diff --git a/modules/banche/add.php b/modules/banche/add.php new file mode 100644 index 000000000..3831f487a --- /dev/null +++ b/modules/banche/add.php @@ -0,0 +1,21 @@ +
+ + + +
+
+ {[ "type": "text", "label": "", "name": "descrizione", "value": "" ]} +
+
+ + +
+
+ +
+
+
diff --git a/modules/banche/edit.php b/modules/banche/edit.php new file mode 100644 index 000000000..102e55f72 --- /dev/null +++ b/modules/banche/edit.php @@ -0,0 +1,199 @@ +
+ + + + +
+
+

+
+ +
+
+
+ {[ "type": "text", "label": "", "name": "descrizione", "value": "$descrizione$" ]} +
+ +
+ {[ "type": "select", "label": "", "name": "idconto_vendite", "value": "$idconto_vendite$", "ajax-source": "conti" ]} +
+ +
+ {[ "type": "select", "label": "", "name": "idconto_acquisti", "value": "$idconto_acquisti$", "ajax-source": "conti" ]} +
+
+
+
+ +
+
+

+
+ +
+
+fetchArray('SELECT * FROM `co_pagamenti` WHERE descrizione='.prepare($records[0]['descrizione']).' ORDER BY `num_giorni` ASC'); +$cont = 1; +foreach ($results as $result) { + echo ' +
+
+

'.tr('Rata _NUMBER_', [ + '_NUMBER_' => $cont, + ]).'

+ '.tr('Elimina').' +
+
+ + +
+
+ {[ "type": "number", "label": "'.tr('Percentuale').'", "name": "percentuale[]", "value": "'.$result['prc'].'", "icon-after": "" ]} +
+ +
+ {[ "type": "select", "label": "'.tr('Scadenza').'", "name": "scadenza[]", "values": "list=\"1\":\"'.tr('Data fatturazione').'\",\"2\":\"'.tr('Data fatturazione fine mese').'\",\"3\":\"'.tr('Data fatturazione giorno fisso').'\",\"4\":\"'.tr('Data fatturazione fine mese (giorno fisso)').'\"", "value": "'; + + if ($result['giorno'] == 0) { + $select = 1; + } elseif ($result['giorno'] == -1) { + $select = 2; + } elseif ($result['giorno'] < -1) { + $select = 4; + } elseif ($result['giorno'] > 0) { + $select = 3; + } + echo $select; + echo '" ]} +
+
+ +
+
+ {[ "type": "select", "label": "'.tr('Giorno').'", "name": "giorno[]", "values": "list='.$values.'", "value": "'; + if ($result['giorno'] != 0 && $result['giorno'] != -1) { + echo ($result['giorno'] < -1) ? -$result['giorno'] - 1 : $result['giorno']; + } + echo '", "extra": "'; + if ($result['giorno'] == 0 || $result['giorno'] == -1) { + echo ' disabled'; + } + echo '" ]} +
+ +
+ {[ "type": "number", "label": "'.tr('Distanza in giorni').'", "name": "distanza[]", "decimals": "0", "value": "'.$result['num_giorni'].'" ]} +
+
+
+
'; + ++$cont; +} +?> +
+
+ + +
+
+
+ +
+ +
+
+

+
+
+

.

+
+
+ + + + + +
+
+

'.tr('Nuova rata').'

+
+
+ + +
+
+ {[ "type": "number", "label": "'.tr('Percentuale').'", "name": "percentuale[]", "icon-after": "" ]} +
+ +
+ {[ "type": "select", "label": "'.tr('Scadenza').'", "name": "scadenza[]", "values": "list=\"1\":\"'.tr('Data fatturazione').'\",\"2\":\"'.tr('Data fatturazione fine mese').'\",\"3\":\"'.tr('Data fatturazione giorno fisso').'\",\"4\":\"'.tr('Data fatturazione fine mese (giorno fisso)').'\"", "value": 1 ]} +
+
+ +
+
+ {[ "type": "select", "label": "'.tr('Giorno').'", "name": "giorno[]", "values": "list='.$values.'" ]} +
+ +
+ {[ "type": "number", "label": "'.tr('Distanza in giorni').'", "name": "distanza[]", "decimals": "0" ]} +
+
+
+
+'; + +?> + + diff --git a/modules/banche/init.php b/modules/banche/init.php new file mode 100644 index 000000000..b6c4376e3 --- /dev/null +++ b/modules/banche/init.php @@ -0,0 +1,7 @@ +fetchArray('SELECT * FROM `co_banche` WHERE id='.prepare($id_record)); +} diff --git a/modules/pagamenti/actions.php b/modules/pagamenti/actions.php index fee9376ea..ae830539e 100644 --- a/modules/pagamenti/actions.php +++ b/modules/pagamenti/actions.php @@ -65,8 +65,8 @@ switch (filter('op')) { break; case 'delete': - if (isset($id_record)) { - $dbo->query('DELETE FROM `co_pagamenti` WHERE `descrizione`='.prepare($records[0]['descrizione'])); + if (!empty($id_record)) { + $dbo->query('DELETE FROM `co_pagamenti` WHERE `id`='.prepare($id_record)); $_SESSION['infos'][] = tr('Tipologia di _TYPE_ eliminata con successo!', [ '_TYPE_' => 'pagamento', ]); diff --git a/update/2_4.sql b/update/2_4.sql index 79d109124..a7e4433aa 100644 --- a/update/2_4.sql +++ b/update/2_4.sql @@ -307,3 +307,29 @@ UPDATE `zz_group_module` SET `enabled` = '0' WHERE `zz_group_module`.`id` = 2; -- Disattivazione funzionalità in attesa di approfondire alcuni problemi di rallentamento e ottimizzazione performance UPDATE `zz_settings` SET `valore` = '0' WHERE `nome` = 'Attiva notifica di presenza utenti sul record'; + +-- Tabella co_banche +CREATE TABLE IF NOT EXISTS `co_banche` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `nome` varchar(255) NOT NULL, + `filiale` varchar(255) NOT NULL, + `iban` varchar(50) NOT NULL, + `id_pianodeiconti3` int(11) DEFAULT NULL, + `deleted` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ; + +-- Innesto modulo per gestione banche +INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Banche', 'Banche', 'banche', 'SELECT |select| FROM `co_banche` WHERE 1=1 AND deleted = 0 GROUP BY `nome` HAVING 2=2', '', 'fa fa-university', '2.4', '2.4', '1', (SELECT `id` FROM `zz_modules` m WHERE `name` = 'Tabelle'), '1', '1'); + +INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `enabled`, `summable`, `default`) VALUES +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'id', 'co_banche.id', 0, 0, 0, 0, '', '', 1, 0, 0), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'Nome', 'co_banche.nome', 0, 0, 0, 0, '', '', 1, 0, 0), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'Filiale', 'co_banche.filiale', 0, 0, 0, 0, '', '', 1, 0, 0), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche'), 'IBAN', 'co_banche.iban', 0, 0, 0, 0, '', '', 1, 0, 0); + +INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) VALUES +((SELECT `id` FROM `zz_groups` WHERE `nome` = 'Amministratori'), (SELECT `id` FROM `zz_views` WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'id')), +((SELECT `id` FROM `zz_groups` WHERE `nome` = 'Amministratori'), (SELECT `id` FROM `zz_views` WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'Nome')), +((SELECT `id` FROM `zz_groups` WHERE `nome` = 'Amministratori'), (SELECT `id` FROM `zz_views` WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'Filiale')), +((SELECT `id` FROM `zz_groups` WHERE `nome` = 'Amministratori'), (SELECT `id` FROM `zz_views` WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche') AND `name` = 'IBAN')); \ No newline at end of file