. */ include_once __DIR__.'/../../core.php'; use Modules\DDT\Porto; switch (filter('op')) { case 'update': $descrizione = filter('descrizione'); $predefined = post('predefined'); if (isset($descrizione)) { $porto_new = Porto::where('id', '=', (new Porto())->getByField('title', $descrizione))->orWhere('name', $descrizione)->where('id', '!=', $id_record)->first(); if (empty($porto_new)) { $porto->setTranslation('title', $descrizione); if (!empty($predefined)) { $dbo->query('UPDATE `dt_porto` SET `predefined` = 0'); } if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { $porto->name = $descrizione; } $porto->predefined = $predefined; $porto->save(); flash()->info(tr('Salvataggio completato.')); } else { flash()->error(tr("E' già presente un porto con questo nome.")); } } else { flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } break; case 'add': $descrizione = filter('descrizione'); if (isset($descrizione)) { if (empty(Porto::where('id', '=', (new Porto())->getByField('title', $descrizione))->where('id', '!=', $id_record)->first())) { $porto = Porto::build(); if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) { $porto->name = $descrizione; } $porto->save(); $id_record = $dbo->lastInsertedID(); $porto->setTranslation('title', $descrizione); $porto->save(); if (isAjaxRequest()) { echo json_encode(['id' => $id_record, 'text' => $descrizione]); } flash()->info(tr('Aggiunta nuova porto _NAME_', [ '_NAME_' => $descrizione, ])); } else { flash()->error(tr("E' già presente un porto con questo nome.")); } } else { flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); } break; case 'delete': $documenti = $dbo->fetchNum('SELECT `id` FROM `dt_ddt` WHERE `idporto`='.prepare($id_record).' UNION SELECT `id` FROM `co_documenti` WHERE `idporto`='.prepare($id_record).' UNION SELECT `id` FROM `co_preventivi` WHERE `idporto`='.prepare($id_record)); if ((!empty($id_record)) && empty($documenti)) { $dbo->query('DELETE FROM `dt_porto` WHERE `id`='.prepare($id_record)); flash()->info(tr('Tipologia di _TYPE_ eliminata con successo!', [ '_TYPE_' => 'porto', ])); } else { flash()->error(tr('Sono presenti dei documenti collegati a questo porto.')); } break; }