From bcdd6260acdea5c72de976d47c175966e3006006 Mon Sep 17 00:00:00 2001 From: Luca Date: Sat, 2 Feb 2019 10:40:11 +0100 Subject: [PATCH] Aggiunto modulo per gestire la seconda ritenuta (ENASARCO, ECC..) --- modules/fatture/edit.php | 4 +- modules/ritenute/add.php | 2 +- modules/ritenute/init.php | 2 +- modules/ritenute_contributi/actions.php | 61 +++++++++++++++++++ modules/ritenute_contributi/add.php | 31 ++++++++++ modules/ritenute_contributi/edit.php | 54 ++++++++++++++++ modules/ritenute_contributi/init.php | 7 +++ .../src/RitenutaContributi.php | 10 +++ update/2_4_6.sql | 12 ++++ 9 files changed, 179 insertions(+), 4 deletions(-) create mode 100644 modules/ritenute_contributi/actions.php create mode 100644 modules/ritenute_contributi/add.php create mode 100644 modules/ritenute_contributi/edit.php create mode 100644 modules/ritenute_contributi/init.php create mode 100644 modules/ritenute_contributi/src/RitenutaContributi.php diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index 520e8bf91..86e5350c7 100644 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -194,13 +194,13 @@ if (!empty($record['is_fiscale'])) { if (($n2 <= 0 && $record['stato'] == 'Emessa') || $differenza != 0) { ?> - ...

+ ...

- ... + ...
- {[ "type": "number", "label": "", "name": "indetraibile", "icon-after": "" ]} + {[ "type": "number", "label": "", "name": "percentuale_imponibile", "help": "", "icon-after": "" ]}
diff --git a/modules/ritenute/init.php b/modules/ritenute/init.php index 8ac6ac243..b2a106ed6 100644 --- a/modules/ritenute/init.php +++ b/modules/ritenute/init.php @@ -3,5 +3,5 @@ include_once __DIR__.'/../../core.php'; if (isset($id_record)) { - $record = $dbo->fetchOne('SELECT *, (SELECT COUNT(idritenutaacconto) FROM co_documenti WHERE co_documenti.idritenutaacconto = '.prepare($id_record).') AS doc_associati FROM `co_ritenutaacconto` WHERE id='.prepare($id_record)); + $record = $dbo->fetchOne('SELECT *, (SELECT COUNT(idritenutaacconto) FROM co_righe_documenti WHERE co_righe_documenti.idritenutaacconto = '.prepare($id_record).') AS doc_associati FROM `co_ritenutaacconto` WHERE id='.prepare($id_record)); } diff --git a/modules/ritenute_contributi/actions.php b/modules/ritenute_contributi/actions.php new file mode 100644 index 000000000..4ca850232 --- /dev/null +++ b/modules/ritenute_contributi/actions.php @@ -0,0 +1,61 @@ +fetchNum('SELECT * FROM `co_ritenuta_contributi` WHERE `descrizione`='.prepare($descrizione).' AND `id`!='.prepare($id_record)) == 0) { + $dbo->query('UPDATE `co_ritenuta_contributi` SET `descrizione`='.prepare($descrizione).', `percentuale`='.prepare($percentuale).', `percentuale_imponibile`='.prepare($percentuale_imponibile).' WHERE `id`='.prepare($id_record)); + flash()->info(tr('Salvataggio completato!')); + } else { + flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [ + '_TYPE_' => "ritenuta d'acconto", + ])); + } + } else { + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio!')); + } + + break; + + case 'add': + $descrizione = filter('descrizione'); + $percentuale = filter('percentuale'); + $percentuale_imponibile = filter('percentuale_imponibile'); + + if (isset($descrizione) && isset($percentuale) && isset($percentuale_imponibile)) { + if ($dbo->fetchNum('SELECT * FROM `co_ritenuta_contributi` WHERE `descrizione`='.prepare($descrizione)) == 0) { + $dbo->query('INSERT INTO `co_ritenuta_contributi` (`descrizione`, `percentuale`, `percentuale_imponibile`) VALUES ('.prepare($descrizione).', '.prepare($percentuale).', '.prepare($percentuale_imponibile).')'); + $id_record = $dbo->lastInsertedID(); + + flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [ + '_TYPE_' => "ritenuta d'acconto", + ])); + } else { + flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [ + '_TYPE_' => "ritenuta d'acconto", + ])); + } + } else { + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio!')); + } + + break; + + case 'delete': + if (isset($id_record)) { + $dbo->query('DELETE FROM `co_ritenuta_contributi` WHERE `id`='.prepare($id_record)); + + flash()->info(tr('Tipologia di _TYPE_ eliminata con successo!', [ + '_TYPE_' => "ritenuta d'acconto", + ])); + } + + break; +} diff --git a/modules/ritenute_contributi/add.php b/modules/ritenute_contributi/add.php new file mode 100644 index 000000000..004ab7644 --- /dev/null +++ b/modules/ritenute_contributi/add.php @@ -0,0 +1,31 @@ +
+ + + +
+
+ {[ "type": "text", "label": "", "name": "descrizione", "required": 1 ]} +
+
+ +
+
+ {[ "type": "number", "label": "", "name": "percentuale", "icon-after": "" ]} +
+ +
+ {[ "type": "number", "label": "", "name": "percentuale_imponibile", "help": "", "icon-after": "" ]} +
+
+ + +
+
+ +
+
+
diff --git a/modules/ritenute_contributi/edit.php b/modules/ritenute_contributi/edit.php new file mode 100644 index 000000000..b1522b703 --- /dev/null +++ b/modules/ritenute_contributi/edit.php @@ -0,0 +1,54 @@ + 0) { + echo ' +
'.tr('Non puoi eliminare questa ritenuta.').' '.tr('Ci sono _NUM_ documenti associati.', [ + '_NUM_' => $record['doc_associati'], +]).'
'; +} + +?> + +
+ + + + +
+
+

+
+ +
+
+
+ {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]} +
+
+ +
+
+ {[ "type": "number", "label": "", "name": "percentuale", "value": "$percentuale$", "icon-after": "" ]} +
+ +
+ {[ "type": "number", "label": "", "name": "percentuale_imponibile", "value": "$percentuale_imponibile$", "help": "", "icon-after": "" ]} +
+
+
+
+ +
+ + + '.tr('Elimina').' +'; +} \ No newline at end of file diff --git a/modules/ritenute_contributi/init.php b/modules/ritenute_contributi/init.php new file mode 100644 index 000000000..8f7ac13ac --- /dev/null +++ b/modules/ritenute_contributi/init.php @@ -0,0 +1,7 @@ +fetchOne('SELECT *, (SELECT COUNT(id_ritenuta_contributi) FROM co_documenti WHERE co_documenti.id_ritenuta_contributi = '.prepare($id_record).') AS doc_associati FROM `co_ritenuta_contributi` WHERE id='.prepare($id_record)); +} diff --git a/modules/ritenute_contributi/src/RitenutaContributi.php b/modules/ritenute_contributi/src/RitenutaContributi.php new file mode 100644 index 000000000..c6db0e8f6 --- /dev/null +++ b/modules/ritenute_contributi/src/RitenutaContributi.php @@ -0,0 +1,10 @@ +