diff --git a/modules/backups/actions.php b/modules/backups/actions.php index 1d7da22bd..71ee84711 100755 --- a/modules/backups/actions.php +++ b/modules/backups/actions.php @@ -109,6 +109,17 @@ if (filter('op') == 'restore') { $path = $backups[$number]; } - Backup::restore($path, is_file($path)); - $database->beginTransaction(); + try { + $result = Backup::restore($path, is_file($path)); + $database->beginTransaction(); + + if ($result) { + flash()->warning(tr('Ripristino eseguito correttamente!')); + } else { + flash()->error(tr('Errore durante il ripristino del backup!').'
'.$result); + } + } catch (Exception $e) { + flash()->error(tr('Errore durante il ripristino del backup!').' '.$e->getMessage()); + } + } diff --git a/src/API/App/v1/AllegatiInterventi.php b/src/API/App/v1/AllegatiInterventi.php index 1cc8db4cd..93c01305d 100644 --- a/src/API/App/v1/AllegatiInterventi.php +++ b/src/API/App/v1/AllegatiInterventi.php @@ -97,15 +97,14 @@ class AllegatiInterventi extends AppResource throw new InternalError(); } - $file = temp_file($data['nome']); - file_put_contents($file, base64_decode($content[1])); - + $file = base64_decode($content[1]); + // Salvataggio del file come allegato $upload = Upload::build($file, [ - 'id_module' => $module['id'], + 'id_module' => $module, 'id_record' => $data['id_intervento'], ], $data['nome'], $data['categoria']); - + // Chiusura e rimozione del file temporaneo delete($file); diff --git a/src/API/App/v1/CampiPersonalizzati.php b/src/API/App/v1/CampiPersonalizzati.php index e8da9953f..968e8bf5e 100644 --- a/src/API/App/v1/CampiPersonalizzati.php +++ b/src/API/App/v1/CampiPersonalizzati.php @@ -26,7 +26,7 @@ class CampiPersonalizzati extends AppResource { public function getCleanupData($last_sync_at) { - return $this->getDeleted('zz_fields', 'id', $last_sync_at); + return $this->getMissingIDs('zz_fields', 'id', $last_sync_at); } public function getModifiedRecords($last_sync_at) diff --git a/src/API/App/v1/CampiPersonalizzatiValori.php b/src/API/App/v1/CampiPersonalizzatiValori.php index bc63ca815..b1dc7c160 100644 --- a/src/API/App/v1/CampiPersonalizzatiValori.php +++ b/src/API/App/v1/CampiPersonalizzatiValori.php @@ -26,7 +26,7 @@ class CampiPersonalizzatiValori extends AppResource { public function getCleanupData($last_sync_at) { - return $this->getDeleted('zz_field_record', 'id', $last_sync_at); + return $this->getMissingIDs('zz_field_record', 'id', $last_sync_at); } public function getModifiedRecords($last_sync_at) diff --git a/src/API/App/v1/Impostazioni.php b/src/API/App/v1/Impostazioni.php index 0139e93ae..023b2cdb3 100644 --- a/src/API/App/v1/Impostazioni.php +++ b/src/API/App/v1/Impostazioni.php @@ -30,7 +30,7 @@ class Impostazioni extends AppResource public function getModifiedRecords($last_sync_at) { - $query = "SELECT `zz_settings`.`id`, `zz_settings`.`updated_at` FROM `zz_settings` WHERE `sezione` = 'Applicazione'"; + $query = "SELECT `zz_settings`.`id`, `zz_settings`.`updated_at` FROM `zz_settings` LEFT JOIN `zz_settings_lang` ON (`zz_settings`.`id` = `zz_settings_lang`.`id_record` AND `zz_settings_lang`.`id_lang` = ".prepare(\App::getLang()).") WHERE `sezione` = 'Applicazione'"; // Aggiunta delle impostazioni esterne alla sezione Applicazione $impostazioni_esterne = $this->getImpostazioniEsterne(); @@ -40,9 +40,8 @@ class Impostazioni extends AppResource $impostazioni[] = prepare($imp); } - $query .= ' OR `name` IN ('.implode(', ', $impostazioni).')'; + $query .= ' OR `title` IN ('.implode(', ', $impostazioni).')'; } - $query .= ')'; // Filtro per data if ($last_sync_at) { @@ -57,8 +56,8 @@ class Impostazioni extends AppResource public function retrieveRecord($id) { // Gestione della visualizzazione dei dettagli del record - $query = 'SELECT `id` AS id, - `zz_settings_lang`.`title`, + $query = 'SELECT `zz_settings`.`id` AS id, + `zz_settings_lang`.`title` AS nome, `valore` AS contenuto, `tipo` FROM diff --git a/src/API/App/v1/Interventi.php b/src/API/App/v1/Interventi.php index 4eee9a0b2..d71b7860d 100755 --- a/src/API/App/v1/Interventi.php +++ b/src/API/App/v1/Interventi.php @@ -333,6 +333,7 @@ class Interventi extends AppResource $record->descrizione = $data['descrizione']; $record->informazioniaggiuntive = $data['informazioni_aggiuntive']; $record->idsede_destinazione = $data['id_sede'] ?: 0; + $record->idpagamento = $data['id_pagamento'] ?: 0; // Salvataggio firma eventuale if (empty($record->firma_nome) && !empty($data['firma_nome'])) { diff --git a/src/API/App/v1/Pagamenti.php b/src/API/App/v1/Pagamenti.php index 084899082..ab78ce726 100644 --- a/src/API/App/v1/Pagamenti.php +++ b/src/API/App/v1/Pagamenti.php @@ -25,7 +25,7 @@ class Pagamenti extends AppResource { public function getCleanupData($last_sync_at) { - return $this->getDeleted('co_pagamenti', 'id', $last_sync_at); + return $this->getMissingIDs('co_pagamenti', 'id', $last_sync_at); } public function getModifiedRecords($last_sync_at) diff --git a/src/API/App/v1/Preventivi.php b/src/API/App/v1/Preventivi.php index dc3a0afaf..39b080b0a 100644 --- a/src/API/App/v1/Preventivi.php +++ b/src/API/App/v1/Preventivi.php @@ -57,6 +57,7 @@ class Preventivi extends AppResource implements RetrieveInterface INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `co_preventivi`.`idanagrafica` INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` = `an_tipianagrafiche`.`id` + INNER JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = ".\App::getLang().") WHERE `an_tipianagrafiche_lang`.`name` = 'Cliente' AND `co_statipreventivi`.`is_pianificabile` = 1 AND `an_anagrafiche`.`deleted_at` IS NULL";