feat: aggiunta plugin mandati sepa

This commit is contained in:
Matteo 2024-10-29 16:53:49 +01:00
parent af23ce12e4
commit a9b2323ea0
4 changed files with 97 additions and 0 deletions

View File

@ -0,0 +1,32 @@
<?php
include_once __DIR__.'/init.php';
switch (filter('op')) {
case 'mandato':
$dati = [
'id_banca' => $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;
}

39
plugins/mandati_sepa/edit.php Executable file
View File

@ -0,0 +1,39 @@
<?php
include_once __DIR__.'/init.php';
echo '
<form action="" method="post" role="form">
<input type="hidden" name="id_module" value="'.$id_module.'">
<input type="hidden" name="id_plugin" value="'.$id_plugin.'">
<input type="hidden" name="id_record" value="'.$id_record.'">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="mandato">
<div class="row">
<div class="col-md-4">
{[ "type": "text", "label": "'.tr('ID Mandato').'", "name": "id_mandato", "required": 1, "value": "'.$mandato['id_mandato'].'" ]}
</div>
<div class="col-md-4">
{[ "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').'" ]}
</div>
<div class="col-md-4">
{[ "type": "checkbox", "label": "'.tr('Singola disposizione non ripetuta').'", "name": "singola_disposizione", "value": "'.$mandato['singola_disposizione'].'" ]}
</div>
</div>
<!-- PULSANTI -->
<div class="row">
<div class="col-md-12">
<a class="btn btn-danger ask" data-backto="record-edit" data-op="delete" data-id_record="'.$mandato['id'].'" data-id_plugin="'.$id_plugin.'" data-id_parent="'.$id_parent.'">
<i class="fa fa-trash"></i> '.tr('Elimina').'
</a>
<button type="submit" class="btn btn-primary pull-right">
<i class="fa fa-save"></i> '.tr('Salva').'
</button>
</div>
</div>
</form>';

7
plugins/mandati_sepa/init.php Executable file
View File

@ -0,0 +1,7 @@
<?php
include_once __DIR__.'/../../core.php';
if (isset($id_record)) {
$mandato = $database->fetchOne('SELECT * FROM co_mandati_sepa WHERE id_banca = '.prepare($id_record));
}

View File

@ -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');