From a9b2323ea0f572c98b45dbf415e38ad5bdb1e83b Mon Sep 17 00:00:00 2001 From: Matteo Date: Tue, 29 Oct 2024 16:53:49 +0100 Subject: [PATCH] feat: aggiunta plugin mandati sepa --- plugins/mandati_sepa/actions.php | 32 ++++++++++++++++++++++++++ plugins/mandati_sepa/edit.php | 39 ++++++++++++++++++++++++++++++++ plugins/mandati_sepa/init.php | 7 ++++++ update/2_6.sql | 19 ++++++++++++++++ 4 files changed, 97 insertions(+) create mode 100755 plugins/mandati_sepa/actions.php create mode 100755 plugins/mandati_sepa/edit.php create mode 100755 plugins/mandati_sepa/init.php diff --git a/plugins/mandati_sepa/actions.php b/plugins/mandati_sepa/actions.php new file mode 100755 index 000000000..0bcac9e1b --- /dev/null +++ b/plugins/mandati_sepa/actions.php @@ -0,0 +1,32 @@ + $id_record, + 'id_mandato' => post('id_mandato'), + 'data_firma_mandato' => post('data_firma_mandato'), + 'singola_disposizione' => post('singola_disposizione'), + ]; + + if (empty($mandato['id'])) { + $database->insert('co_mandati_sepa', $dati); + } else { + $database->update('co_mandati_sepa', $dati, ['id' => $mandato['id']]); + } + + flash()->info(tr('Mandato SEPA aggiornato!')); + + break; + + case 'delete': + if (empty($mandato['id'])) { + $database->delete('co_mandati_sepa', ['id' => $mandato['id']]); + } + + flash()->info(tr('Mandato SEPA eliminato!')); + + break; +} diff --git a/plugins/mandati_sepa/edit.php b/plugins/mandati_sepa/edit.php new file mode 100755 index 000000000..7430ca719 --- /dev/null +++ b/plugins/mandati_sepa/edit.php @@ -0,0 +1,39 @@ + + + + + + + +
+
+ {[ "type": "text", "label": "'.tr('ID Mandato').'", "name": "id_mandato", "required": 1, "value": "'.$mandato['id_mandato'].'" ]} +
+ +
+ {[ "type": "date", "label": "'.tr('Data firma mandato').'", "name": "data_firma_mandato", "required": 1, "value": "'.($mandato['data_firma_mandato'] ?: '2010-04-12').'", "help": "'.tr('Data di firma del mandato da parte della banca, ovvero di attivazione del servizio SEPA').'" ]} +
+ +
+ {[ "type": "checkbox", "label": "'.tr('Singola disposizione non ripetuta').'", "name": "singola_disposizione", "value": "'.$mandato['singola_disposizione'].'" ]} +
+
+ + +
+
+ + '.tr('Elimina').' + + + +
+
+'; diff --git a/plugins/mandati_sepa/init.php b/plugins/mandati_sepa/init.php new file mode 100755 index 000000000..ffa777618 --- /dev/null +++ b/plugins/mandati_sepa/init.php @@ -0,0 +1,7 @@ +fetchOne('SELECT * FROM co_mandati_sepa WHERE id_banca = '.prepare($id_record)); +} diff --git a/update/2_6.sql b/update/2_6.sql index 20361c5a0..08532dd30 100644 --- a/update/2_6.sql +++ b/update/2_6.sql @@ -63,3 +63,22 @@ INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES ('2', (SELECT `id` FROM `zz_views` WHERE `name` = 'id' AND `id_module` = @id_module), 'id'), ('1', (SELECT `id` FROM `zz_views` WHERE `name` = 'color_Colore' AND `id_module` = @id_module), 'color_Colore'), ('2', (SELECT `id` FROM `zz_views` WHERE `name` = 'color_Colore' AND `id_module` = @id_module), 'color_Color'); + +-- Mandati SEPA +CREATE TABLE IF NOT EXISTS `co_mandati_sepa` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_banca` int(11) NOT NULL, + `id_mandato` varchar(255) NOT NULL, + `data_firma_mandato` DATE NOT NULL, + PRIMARY KEY (`id`), + FOREIGN KEY (`id_banca`) REFERENCES `co_banche`(`id`) ON DELETE CASCADE +) ENGINE=InnoDB; + +ALTER TABLE `co_mandati_sepa` ADD `singola_disposizione` TINYINT(1) NOT NULL AFTER `data_firma_mandato`; + +-- Aggiunta del plugin +INSERT INTO `zz_plugins` (`id`, `name`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`) VALUES +(NULL, 'Mandati SEPA', (SELECT `id` FROM `zz_modules` WHERE `name`='Banche'), (SELECT `id` FROM `zz_modules` WHERE `name`='Banche'), 'tab', '', 1, 1, 0, '2.*', '', NULL, 'custom', 'mandati_sepa', ''); + +INSERT INTO `zz_plugins_lang` (`id`, `id_lang`, `id_record`, `title`) VALUES +(NULL, 1, (SELECT `id` FROM `zz_plugins` WHERE `name`='Mandati SEPA'), 'Mandati SEPA'); \ No newline at end of file