You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/partitario/actions.php
+17-1Lines changed: 17 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -66,8 +66,20 @@
66
66
$numero = post('numero');
67
67
$descrizione = post('descrizione');
68
68
$dir = post('dir');
69
+
$conto_bloccato = post('conto_bloccato');
69
70
70
71
$lvl = post('lvl');
72
+
73
+
if ($conto_bloccato) {
74
+
if ($lvl == 2) {
75
+
$original_query = 'SELECT descrizione FROM co_pianodeiconti2 WHERE id='.prepare($idconto);
76
+
} else {
77
+
$original_query = 'SELECT descrizione FROM co_pianodeiconti3 WHERE id='.prepare($idconto);
78
+
}
79
+
$original = $dbo->fetchOne($original_query);
80
+
$descrizione = $original['descrizione'];
81
+
}
82
+
71
83
if ($lvl == 2) {
72
84
$duplicate_query = 'SELECT numero FROM co_pianodeiconti2 WHERE numero='.prepare($numero).' AND NOT id='.prepare($idconto).' AND idpianodeiconti1='.prepare($idpianodeiconti);
73
85
@@ -81,7 +93,11 @@
81
93
// Controllo che non sia stato usato un numero non valido del conto
82
94
if ($dbo->fetchNum($duplicate_query) == 0) {
83
95
if ($dbo->query($update_query)) {
84
-
flash()->info(tr('Descrizione conto modificata!'));
96
+
if ($conto_bloccato) {
97
+
flash()->info(tr('Conto speciale aggiornato! La descrizione non è stata modificata.'));
98
+
} else {
99
+
flash()->info(tr('Descrizione conto modificata!'));
100
+
}
85
101
}
86
102
} else {
87
103
flash()->error(tr('Il numero scelto è già esistente!'));
<form action="<?phpechobase_path(); ?>/editor.php?id_module=<?phpecho Module::where('name', 'Piano dei conti')->first()->id; ?>" method="post">
36
61
<input type="hidden" name="op" value="edit">
@@ -46,7 +71,12 @@
46
71
</div>
47
72
48
73
<div class="col-md-8">
74
+
<?phpif ($conto_bloccato): ?>
75
+
{[ "type": "text", "label": "<?phpechotr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": <?phpechojson_encode($info['descrizione']); ?>, "readonly": 1, "help": "<?phpechotr('Questo è un conto speciale utilizzato dal sistema. La descrizione non può essere modificata.'); ?>" ]}
$conto2 = database()->fetchOne('SELECT id FROM co_pianodeiconti2 WHERE descrizione = '.prepare($conto_livello2));
74
+
75
+
if (empty($conto2)) {
76
+
$conto1 = database()->fetchOne('SELECT id FROM co_pianodeiconti1 WHERE descrizione = "Patrimoniale"');
77
+
78
+
if (!empty($conto1)) {
79
+
$max_numero = database()->fetchOne('SELECT MAX(CAST(numero AS UNSIGNED)) AS max_numero FROM co_pianodeiconti2 WHERE idpianodeiconti1 = '.prepare($conto1['id']));
$conto3 = database()->fetchOne('SELECT id FROM co_pianodeiconti3 WHERE descrizione = '.prepare($sottoconto).' AND idpianodeiconti2 = '.prepare($conto2['id']));
89
+
90
+
if (empty($conto3)) {
91
+
$max_numero = database()->fetchOne('SELECT MAX(CAST(numero AS UNSIGNED)) AS max_numero FROM co_pianodeiconti3 WHERE idpianodeiconti2 = '.prepare($conto2['id']));
$conto3 = database()->fetchOne('SELECT id FROM co_pianodeiconti3 WHERE descrizione = '.prepare($conto_livello3));
102
+
103
+
if (empty($conto3)) {
104
+
$conto2 = database()->fetchOne('SELECT id FROM co_pianodeiconti2 WHERE idpianodeiconti1 = (SELECT id FROM co_pianodeiconti1 WHERE descrizione = "Patrimoniale") LIMIT 1');
105
+
106
+
if (!empty($conto2)) {
107
+
$max_numero = database()->fetchOne('SELECT MAX(CAST(numero AS UNSIGNED)) AS max_numero FROM co_pianodeiconti3 WHERE idpianodeiconti2 = '.prepare($conto2['id']));
0 commit comments