diff --git a/modules/pagamenti/actions.php b/modules/pagamenti/actions.php index 5dbd01d23..1c4d7b1ca 100755 --- a/modules/pagamenti/actions.php +++ b/modules/pagamenti/actions.php @@ -19,9 +19,12 @@ include_once __DIR__.'/../../core.php'; +use Modules\Pagamenti\Pagamento; + switch (filter('op')) { case 'update': $descrizione = filter('descrizione'); + $id_pagamento = (new Pagamento())->getByName($descrizione)->id_record; if (isset($descrizione)) { foreach (post('id') as $key => $id) { @@ -52,13 +55,17 @@ switch (filter('op')) { 'codice_modalita_pagamento_fe' => post('codice_modalita_pagamento_fe'), ]; - if (!empty($id)) { - $dbo->query('UPDATE `co_pagamenti_lang` SET `name` = '.$descrizione.' WHERE `id_record` = '.prepare($id).' AND `id_lang` = '.setting('Lingua').''); - $id_record = $dbo->lastInsertedID(); - $dbo->update('co_pagamenti', $array, ['id' => $id_record]); + if ($id_pagamento) { + flash()->error(tr('Esiste più un metodo di pagamento con questo nome!')); + break; } else { - $dbo->INSERT('co_pagamenti', $array); - $dbo->INSERT('co_pagamenti_lang', ['name' => $descrizione, 'id_record' => $id, 'id_lang' => setting('Lingua')]); + if (!empty($id)) { + $dbo->update('co_pagamenti_lang', ['name' => $descrizione], ['id' => $id, 'id_lang' => setting('Lingua')]); + $dbo->update('co_pagamenti', $array, ['id' => $id_record]); + } else { + $dbo->INSERT('co_pagamenti', $array); + $dbo->INSERT('co_pagamenti_lang', ['name' => $descrizione, 'id_record' => $id, 'id_lang' => setting('Lingua')]); + } } } flash()->info(tr('Salvataggio completato!')); @@ -73,15 +80,19 @@ switch (filter('op')) { $codice_modalita_pagamento_fe = filter('codice_modalita_pagamento_fe'); if (isset($descrizione)) { - $dbo->query('INSERT INTO `co_pagamenti` (`codice_modalita_pagamento_fe`, `prc` ) VALUES ('.prepare($codice_modalita_pagamento_fe).', 100 )'); - $id_record = $dbo->lastInsertedID(); - $dbo->query('INSERT INTO `co_pagamenti_lang` (`name`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(setting('Lingua')).')'); + $id_pagamento = (new Pagamento())->getByName($descrizione)->id_record; - flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [ - '_TYPE_' => 'pagamento', - ])); - } else { - flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio!')); + if (($id_pagamento)) { + flash()->error(tr('Esiste già un metodo di pagamento con questo nome!')); + } else { + $dbo->query('INSERT INTO `co_pagamenti` (`codice_modalita_pagamento_fe`, `prc` ) VALUES ('.prepare($codice_modalita_pagamento_fe).', 100 )'); + $id_record = $dbo->lastInsertedID(); + $dbo->query('INSERT INTO `co_pagamenti_lang` (`name`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(setting('Lingua')).')'); + + flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [ + '_TYPE_' => 'pagamento', + ])); + } } break; diff --git a/update/2_4_55.sql b/update/2_4_55.sql index 165c41a3d..7e2886e44 100644 --- a/update/2_4_55.sql +++ b/update/2_4_55.sql @@ -302,7 +302,7 @@ FROM WHERE 1=1 GROUP BY - `co_pagamenti`.`id` + `co_pagamenti_lang`.`name` HAVING 2=2" WHERE `name` = 'Pagamenti'; UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_pagamenti_lang`.`name`' WHERE `zz_modules`.`name` = 'Pagamenti' AND `zz_views`.`name` = 'descrizione';