Aggiunta tabella zz_modules_lang

This commit is contained in:
Pek5892 2024-03-05 16:01:45 +01:00
parent 6318f722bd
commit 72171f24b9
204 changed files with 1204 additions and 748 deletions

View File

@ -10,7 +10,7 @@ Le problematiche saranno raggruppate per release e le relative correzioni (se ap
##### Soluzione
Eseguire a database le seguenti query di allineamento:
- UPDATE `zz_modules` SET `icon` = 'fa fa-exchange' WHERE `zz_modules`.`name` = 'Causali movimenti';
- UPDATE `zz_modules` SET `icon` = 'fa fa-exchange' WHERE `id` = (SELECT `id_record` FROM `zz_modules_lang` WHERE `name` = 'Causali movimenti');
- ALTER TABLE `zz_groups` ADD `id_module_start` INT NULL AFTER `editable`;
oppure aggiornare alla **v.2.4.55** di OpenSTAManager.

View File

@ -27,6 +27,7 @@ use Modules\Checklists\Checklist;
use Modules\Emails\Template;
use Notifications\EmailNotification;
use Util\Zip;
use Models\Module;
if (empty($structure) || empty($structure['enabled'])) {
exit(tr('Accesso negato'));
@ -41,7 +42,7 @@ if (filter('op') == 'aggiungi-allegato' || filter('op') == 'rimuovi-allegato') {
// Controllo sui permessi di scrittura per il modulo
if (Modules::getPermission($id_module) != 'rw') {
flash()->error(tr('Non hai permessi di scrittura per il modulo _MODULE_', [
'_MODULE_' => '"'.Modules::get($id_module)['name'].'"',
'_MODULE_' => '"'.Module::find($id_module)->name.'"',
]));
}
@ -73,7 +74,7 @@ if (filter('op') == 'aggiungi-allegato' || filter('op') == 'rimuovi-allegato') {
$upload = Uploads::upload($_FILES['upload'], [
'name' => filter('nome_allegato'),
'category' => filter('categoria'),
'id_module' => Modules::get('Gestione documentale')['id'],
'id_module' => (new Module())->getByName('Gestione documentale')->id_record,
'id_record' => $id_record,
]);

View File

@ -51,7 +51,7 @@ echo '
</a>
</li>';
$plugins = $dbo->fetchArray('SELECT `zz_plugins`.`id`,`title` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = '.setting('Lingua').') WHERE `idmodule_to`='.prepare($id_module)." AND `position`='tab_main' AND `enabled` = 1");
$plugins = $dbo->fetchArray('SELECT `zz_plugins`.`id`,`title` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.setting('Lingua').') WHERE `idmodule_to`='.prepare($id_module)." AND `position`='tab_main' AND `enabled` = 1");
// Tab dei plugin
foreach ($plugins as $plugin) {

View File

@ -20,6 +20,7 @@
include_once __DIR__.'/core.php';
use Carbon\Carbon;
use Models\Module;
// Disabilitazione dei campi
$read_only = $structure->permission == 'r';
@ -172,7 +173,7 @@ if (empty($record) || !$has_access) {
{( "name": "button", "type": "email", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'", "id_record": "'.$id_record.'" )}';
if (Modules::get('Account SMS')) {
if (Module::find((new Module())->getByName('Account SMS')->id_record)) {
echo '
{( "name": "button", "type": "sms", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'", "id_record": "'.$id_record.'" )}';
}
@ -333,7 +334,7 @@ if (empty($record) || !$has_access) {
echo '
<div id="tab_info" class="tab-pane">';
$operations = $dbo->fetchArray('SELECT `zz_operations`.*, `zz_users`.`username` FROM `zz_operations` JOIN `zz_users` ON `zz_operations`.`id_utente` = `zz_users`.`id` WHERE id_module = '.prepare($id_module).' AND id_record = '.prepare($id_record).' ORDER BY `created_at` DESC LIMIT 200');
$operations = $dbo->fetchArray('SELECT `zz_operations`.*, `zz_users`.`username` FROM `zz_operations` LEFT JOIN `zz_users` ON `zz_operations`.`id_utente` = `zz_users`.`id` WHERE id_module = '.prepare($id_module).' AND id_record = '.prepare($id_record).' ORDER BY `created_at` DESC LIMIT 200');
if (!empty($operations)) {
echo '

View File

@ -18,9 +18,10 @@
*/
include_once __DIR__.'/../core.php';
use Models\Module;
// Compatibilità per controller ed editor
$structure = Modules::get($id_module);
$structure = Module::find($id_module);
echo '
<p>'.tr('Trascina le colonne per ordinare la struttura della tabella principale, seleziona e deseleziona le colonne per renderle visibili o meno').'.</p>

View File

@ -22,6 +22,7 @@ use Modules\Fatture\Stato as StatoFattura;
use Modules\Ordini\Stato as StatoOrdine;
use Modules\DDT\Stato;
use Plugins\ListinoFornitori\DettaglioFornitore;
use Models\Module;
// Inizializzazione
$documento = $options['documento'];
@ -32,22 +33,22 @@ if (empty($documento)) {
// Informazioni utili
$dir = $documento->direzione;
$original_module = Modules::get($documento->module);
$original_module = Module::find((new Module())->getByName($documento->module)->id_record);
$name = !empty($documento_finale) ? $documento_finale->module : $options['module'];
$final_module = Modules::get($name);
$id_segment = $_SESSION['module_'.$final_module['id']]['id_segment'];
$final_module = Module::find((new Module())->getByName($name)->id_record);
$id_segment = $_SESSION['module_'.$final_module->id]['id_segment'];
// IVA predefinita
$id_iva = $id_iva ?: setting('Iva predefinita');
$righe_totali = $documento->getRighe();
if ($final_module['name'] == 'Interventi') {
if ($final_module->name == 'Interventi') {
$righe = $righe_totali->where('is_descrizione', '=', 0)
->where('qta_rimanente', '>', 0);
$righe_evase = $righe_totali->where('is_descrizione', '=', 0)
->where('qta_rimanente', '=', 0);
} elseif ($final_module['name'] == 'Ordini fornitore') {
} elseif ($final_module->name == 'Ordini fornitore') {
$righe = $righe_totali;
$righe_evase = collect();
} else {
@ -62,7 +63,7 @@ if ($righe->isEmpty()) {
return;
}
$link = !empty($documento_finale) ? base_path().'/editor.php?id_module='.$final_module['id'].'&id_record='.$documento_finale->id : base_path().'/controller.php?id_module='.$final_module['id'];
$link = !empty($documento_finale) ? base_path().'/editor.php?id_module='.$final_module->id.'&id_record='.$documento_finale->id : base_path().'/controller.php?id_module='.$final_module->id;
echo '
<form action="'.$link.'" method="post">
@ -91,12 +92,12 @@ if (!empty($options['create_document'])) {
</div>';
// Opzioni aggiuntive per le Fatture
if (in_array($final_module['name'], ['Fatture di vendita', 'Fatture di acquisto'])) {
if (in_array($final_module->name, ['Fatture di vendita', 'Fatture di acquisto'])) {
$stato_predefinito = (new StatoFattura())->getByName('Bozza')->id_record;
if (!empty($options['reversed'])) {
$idtipodocumento = database()->fetchOne('SELECT `co_tipidocumento`.`id` FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `name` = "Nota di credito" AND `dir` = \''.$dir.'\'')['id'];
} elseif (in_array($original_module['name'], ['Ddt di vendita', 'Ddt di acquisto'])) {
} elseif (in_array($original_module->name, ['Ddt di vendita', 'Ddt di acquisto'])) {
$idtipodocumento = database()->fetchOne('SELECT `co_tipidocumento`.`id` FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `name` = '.($dir == 'uscita' ? 'Fattura differita di acquisto' : 'Fattura differita di vendita').' AND `dir` = \''.$dir.'\'')['id'];
} else {
$idtipodocumento = database()->fetchOne('SELECT `co_tipidocumento`.`id` FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `dir` = \''.$dir.'\' AND `predefined` = 1')['id'];
@ -117,7 +118,7 @@ if (!empty($options['create_document'])) {
}
// Opzioni aggiuntive per gli Interventi
elseif ($final_module['name'] == 'Interventi') {
elseif ($final_module->name == 'Interventi') {
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato_intervento", "required": 1, "values": "query=SELECT `in_statiintervento`.`id`, `in_statiintervento_lang`.`name` as `descrizione`, `colore` AS _bgcolor_ FROM `in_statiintervento` LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento`.`id` = `in_statiintervento_lang`.`id_record` AND `in_statiintervento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `deleted_at` IS NULL AND `is_completato` = 0 ORDER BY `name`" ]}
@ -129,7 +130,7 @@ if (!empty($options['create_document'])) {
}
// Opzioni aggiuntive per i Contratti
elseif ($final_module['name'] == 'Contratti') {
elseif ($final_module->name == 'Contratti') {
$stato_predefinito = (new StatoContratto())->getByName('Bozza')->id_record;
echo '
@ -139,7 +140,7 @@ if (!empty($options['create_document'])) {
}
// Opzioni aggiuntive per i DDT
elseif (in_array($final_module['name'], ['Ddt di vendita', 'Ddt di acquisto'])) {
elseif (in_array($final_module->name, ['Ddt di vendita', 'Ddt di acquisto'])) {
$stato_predefinito = (new Stato())->getByName('Bozza')->id_record;
echo '
@ -148,12 +149,12 @@ if (!empty($options['create_document'])) {
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Causale trasporto').'", "name": "id_causale_trasporto", "required": 1, "ajax-source": "causali", "icon-after": "add|'.Modules::get('Causali')['id'].'", "help": "'.tr('Definisce la causale del trasporto').'" ]}
{[ "type": "select", "label": "'.tr('Causale trasporto').'", "name": "id_causale_trasporto", "required": 1, "ajax-source": "causali", "icon-after": "add|'.(new Module())->getByname('Causali')->id_record.'", "help": "'.tr('Definisce la causale del trasporto').'" ]}
</div>';
}
// Opzioni aggiuntive per gli Ordini
elseif (in_array($final_module['name'], ['Ordini cliente', 'Ordini fornitore'])) {
elseif (in_array($final_module->name, ['Ordini cliente', 'Ordini fornitore'])) {
$stato_predefinito = (new StatoOrdine())->getByName('Bozza')->id_record;
echo '
@ -169,13 +170,13 @@ if (!empty($options['create_document'])) {
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.$tipo_anagrafica.'", "name": "idanagrafica", "required": 1, "ajax-source": "'.$ajax.'", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|tipoanagrafica='.$tipo_anagrafica.'" ]}
{[ "type": "select", "label": "'.$tipo_anagrafica.'", "name": "idanagrafica", "required": 1, "ajax-source": "'.$ajax.'", "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|tipoanagrafica='.$tipo_anagrafica.'" ]}
</div>';
}
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $final_module['id'], 'is_sezionale' => 1]).', "value": "'.$database->selectOne('co_tipidocumento', 'id_segment', ['id' => $idtipodocumento])['id_segment'].'" ]}
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $final_module->id, 'is_sezionale' => 1]).', "value": "'.$database->selectOne('co_tipidocumento', 'id_segment', ['id' => $idtipodocumento])['id_segment'].'" ]}
</div>
</div>
</div>
@ -183,7 +184,7 @@ if (!empty($options['create_document'])) {
}
// Conto, rivalsa INPS, ritenuta d'acconto e ritenuta previdenziale
if (in_array($final_module['name'], ['Fatture di vendita', 'Fatture di acquisto']) && !in_array($original_module['name'], ['Fatture di vendita', 'Fatture di acquisto'])) {
if (in_array($final_module->name, ['Fatture di vendita', 'Fatture di acquisto']) && !in_array($original_module->name, ['Fatture di vendita', 'Fatture di acquisto'])) {
$id_rivalsa_inps = setting('Cassa previdenziale predefinita');
if ($dir == 'uscita') {
$id_ritenuta_acconto = $documento->anagrafica->id_ritenuta_acconto_acquisti;
@ -293,14 +294,14 @@ echo '
<tbody id="righe_documento_importato">';
foreach ($righe as $i => $riga) {
if ($final_module['name'] == 'Ordini fornitore') {
if ($final_module->name == 'Ordini fornitore') {
$qta_rimanente = $riga['qta'];
} else {
$qta_rimanente = $riga['qta_rimanente'];
}
$attr = 'checked="checked"';
if ($original_module['name'] == 'Preventivi') {
if ($original_module->name == 'Preventivi') {
if (empty($riga['confermato']) && $riga['is_descrizione'] == 0) {
$attr = '';
}

View File

@ -18,6 +18,7 @@
*/
use Modules\Articoli\Articolo;
use Models\Module;
$articolo = Articolo::find($result['idarticolo']);
$width = $options['dir'] == 'uscita' && $articolo->fattore_um_secondaria ? 3 : 4;
@ -44,7 +45,7 @@ echo '
// Unità di misura
echo '
<div class="col-md-'.$width.'">
{[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.Modules::get('Unità di misura')['id'].'", "name": "um", "value": "'.$result['um'].'", "ajax-source": "misure" ]}
{[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.(new Module())->getByName('Unità di misura')->id_record.'", "name": "um", "value": "'.$result['um'].'", "ajax-source": "misure" ]}
</div>';
// Unità di misura

View File

@ -20,6 +20,7 @@
include_once __DIR__.'/../../core.php';
use Modules\Anagrafiche\Tipo;
use Models\Module;
if (Update::isUpdateAvailable() || !$dbo->isInstalled()) {
return;
@ -69,7 +70,7 @@ if (post('action') == 'init') {
// Azienda predefinita
if (!$has_azienda) {
Filter::set('post', 'op', 'add');
$id_module = Modules::get('Anagrafiche')['id'];
$id_module = (new Module())->getByName('Anagrafiche')->id_record;
include base_dir().'/modules/anagrafiche/actions.php';
// Logo stampe

View File

@ -18,14 +18,16 @@
*/
use HTMLBuilder\HTMLBuilder;
use Models\Module;
use Models\Plugin;
include_once __DIR__.'/../core.php';
// Compatibilità per controller ed editor
if (!empty($id_plugin)) {
$structure = Plugins::get($id_plugin);
$structure = Plugin::find($id_plugin);
} else {
$structure = Modules::get($id_module);
$structure = Module::find($id_module);
}
if (!empty($id_plugin)) {

View File

@ -18,6 +18,7 @@
*/
use Util\FileSystem;
use Models\Module;
include_once __DIR__.'/../core.php';
@ -236,7 +237,7 @@ if (Auth::check()) {
{ name: "tools", items : [ "Maximize", "ShowBlocks" ] },
{ name: "about", items: [ "About" ] }
],
order_manager_id: "'.($dbo->isInstalled() ? Modules::get('Stato dei servizi')['id'] : '').'",
order_manager_id: "'.($dbo->isInstalled() ? (new Module())->getByName('Stato dei servizi')->id_record : '').'",
dataload_page_buffer: '.setting('Lunghezza in pagine del buffer Datatables').',
tempo_attesa_ricerche: '.setting('Tempo di attesa ricerche in secondi').',
restrict_summables_to_selected: '.setting('Totali delle tabelle ristretti alla selezione').',

View File

@ -18,6 +18,7 @@
*/
use Modules\Emails\Template;
use Models\Module;
include_once __DIR__.'/core.php';
@ -163,7 +164,7 @@ if ($smtp['pec'] == 1 && $module['name'] == 'Fatture di vendita') {
echo '
<div class="col-md-6">
{[ "type": "select", "multiple": "1", "label": "'.tr('Allegati').'", "name": "uploads[]", "value": "'.implode(',', $uploads).'", "help": "'.tr('Allegati del documento o caricati nell\'anagrafica dell\'azienda.').'", "values": "query=SELECT id, name AS text FROM zz_files WHERE id_module = '.prepare($id_module).' AND id_record = '.prepare($id_record).' UNION SELECT id, CONCAT(name, \' (Azienda)\') AS text FROM zz_files WHERE id_module = '.prepare(Modules::get('Anagrafiche')['id']).' AND id_record = (SELECT valore FROM zz_settings WHERE nome = \'Azienda predefinita\')", "link": "allegato" ]}
{[ "type": "select", "multiple": "1", "label": "'.tr('Allegati').'", "name": "uploads[]", "value": "'.implode(',', $uploads).'", "help": "'.tr('Allegati del documento o caricati nell\'anagrafica dell\'azienda.').'", "values": "query=SELECT `id`, `name` AS text FROM `zz_files` WHERE `id_module` = '.prepare($id_module).' AND `id_record` = '.prepare($id_record).' UNION SELECT `id`, CONCAT(`name`, \' (Azienda)\') AS text FROM `zz_files` WHERE `id_module` = '.(new Module())->getByName('Anagrafiche')->id_record.' AND `id_record` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = \'Azienda predefinita\')", "link": "allegato" ]}
</div>
</div>';

View File

@ -103,8 +103,8 @@ if (!function_exists('customDatabase')) {
function customDatabase()
{
$database = database();
$modules = $database->fetchArray("SELECT name, CONCAT('modules/', `directory`) AS directory FROM `zz_modules` WHERE `options2` != ''");
$plugins = $database->fetchArray("SELECT `name`, CONCAT('plugins/', `directory`) AS directory FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = ".setting('Lingua').") WHERE `options2` != ''");
$modules = $database->fetchArray("SELECT `name`, CONCAT('modules/', `directory`) AS directory FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = ".setting('Lingua').") WHERE `options2` != ''");
$plugins = $database->fetchArray("SELECT `name`, CONCAT('plugins/', `directory`) AS directory FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ".setting('Lingua').") WHERE `options2` != ''");
$results = array_merge($modules, $plugins);

View File

@ -38,7 +38,7 @@ class ColonneDuplicateViste extends Controllo
$duplicati = database()->fetchArray('SELECT `id_module`, `name` FROM `zz_views` GROUP BY `id_module`, `name` HAVING COUNT(`name`) > 1');
foreach ($duplicati as $colonna) {
$modulo = Module::pool($colonna['id_module']);
$modulo = Module::find($colonna['id_module']);
$this->addResult([
'id' => $colonna['name'],

View File

@ -35,10 +35,10 @@ class PluginDuplicati extends Controllo
public function check()
{
$duplicati = database()->fetchArray('SELECT `idmodule_to`, `name` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = '.prepare(setting('Lingua')).') GROUP BY `idmodule_to`, `name` HAVING COUNT(`name`) > 1');
$duplicati = database()->fetchArray('SELECT `idmodule_to`, `name` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(setting('Lingua')).') GROUP BY `idmodule_to`, `name` HAVING COUNT(`name`) > 1');
foreach ($duplicati as $plugin) {
$modulo = Module::pool($plugin['idmodule_to']);
$modulo = Module::find($plugin['idmodule_to']);
$this->addResult([
'id' => $plugin->name,

View File

@ -21,6 +21,7 @@ namespace Modules\Aggiornamenti;
use GuzzleHttp\Client;
use Hooks\CachedManager;
use Models\Module;
/**
* Hook dedicato all'individuazione di nuove versioni del gestionale, pubblicate sulla repository ufficiale di GitHub.
@ -46,7 +47,7 @@ class UpdateHook extends CachedManager
$update = null;
}
$module = \Modules::get('Aggiornamenti');
$module = Module::find((new Module())->getByName('Aggiornamenti')->id_record);
$link = base_path().'/controller.php?id_module='.$module->id;
$message = tr("E' disponibile la versione _VERSION_ del gestionale", [

View File

@ -20,6 +20,8 @@
include_once __DIR__.'/../../core.php';
use Util\Zip;
use Models\Module;
use Models\Plugin;
if (!setting('Attiva aggiornamenti')) {
exit(tr('Accesso negato'));
@ -66,8 +68,8 @@ if (file_exists($extraction_dir.'/VERSION')) {
$directory = 'modules';
$table = 'zz_modules';
$installed = Modules::get($info['name']);
$insert['parent'] = Modules::get($info['parent'])['id'];
$installed = Module::find((new Module())->getByName($info['name'])->id_record);
$insert['parent'] = (new Module())->getByName($info['parent'])->id_record;
$insert['icon'] = $info['icon'];
}
@ -114,9 +116,9 @@ if (file_exists($extraction_dir.'/VERSION')) {
$directory = 'plugins';
$table = 'zz_plugins';
$installed = Plugins::get($info['name']);
$insert['idmodule_from'] = Modules::get($info['module_from'])['id'];
$insert['idmodule_to'] = Modules::get($info['module_to'])['id'];
$installed = Plugin::find((new Plugin())->getByName($info['name'])->id_record);
$insert['idmodule_from'] = (new Module())->getByName($info['module_from'])->id_record;
$insert['idmodule_to'] = (new Module())->getByName($info['module_to'])->id_record;
$insert['position'] = $info['position'];
}
@ -126,7 +128,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
$table = 'zz_prints';
$installed = Prints::getPrints()[$info['name']];
$insert['id_module'] = Modules::get($info['module'])['id'];
$insert['id_module'] = (new Module())->getByName($info['module'])->id_record;
$insert['is_record'] = $info['is_record'];
$insert['filename'] = $info['filename'];
$insert['icon'] = $info['icon'];

View File

@ -18,12 +18,13 @@
*/
include_once __DIR__.'/../../../core.php';
use Models\Module;
/*
Anagrafiche
*/
$link_id = Modules::get('Anagrafiche')['id'];
$link_id = (new Module())->getByName('Anagrafiche')->id_record;
$fields = [
'Codice' => 'codice',

View File

@ -17,6 +17,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
use Models\Module;
if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_anagrafica)) {
echo '
<div class="btn-group">
@ -29,45 +31,45 @@ if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_ana
// Aggiunta utente per i tecnici
if (in_array($id_tecnico, $tipi_anagrafica)) {
echo '
<li><a data-toggle="modal" data-title="'.tr('Aggiungi utente').'" data-href="modules/utenti/user.php?id_module='.Modules::get('Utenti e permessi')['id'].'&id_record='.$dbo->fetchOne('SELECT id FROM zz_groups WHERE nome=\'Tecnici\'')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-user"></i>'.tr('Nuovo utente').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi utente').'" data-href="modules/utenti/user.php?id_module='.(new Module())->getByName('Utenti e permessi')->id_record.'&id_record='.$dbo->fetchOne('SELECT id FROM zz_groups WHERE nome=\'Tecnici\'')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-user"></i>'.tr('Nuovo utente').'
</a></li>';
}
if (in_array($id_cliente, $tipi_anagrafica)) {
echo '
<li><a data-toggle="modal" data-title="'.tr('Aggiungi attività').'" data-href="add.php?id_module='.Modules::get('Interventi')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-wrench"></i>'.tr('Nuova attività').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi attività').'" data-href="add.php?id_module='.(new Module())->getByName('Interventi')->id_record.'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-wrench"></i>'.tr('Nuova attività').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi preventivo').'" data-href="add.php?id_module='.Modules::get('Preventivi')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file-text"></i>'.tr('Nuovo preventivo').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi preventivo').'" data-href="add.php?id_module='.(new Module())->getByName('Preventivi')->id_record.'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file-text"></i>'.tr('Nuovo preventivo').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi contratto').'" data-href="add.php?id_module='.Modules::get('Contratti')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file-text-o"></i>'.tr('Nuovo contratto').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi contratto').'" data-href="add.php?id_module='.(new Module())->getByName('Contratti')->id_record.'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file-text-o"></i>'.tr('Nuovo contratto').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi ordine cliente').'" data-href="add.php?id_module='.Modules::get('Ordini cliente')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file-o"></i>'.tr('Nuovo ordine cliente').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi ordine cliente').'" data-href="add.php?id_module='.(new Module())->getByName('Ordini cliente')->id_record.'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file-o"></i>'.tr('Nuovo ordine cliente').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi ddt uscita').'" data-href="add.php?id_module='.Modules::get('Ddt di vendita')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-truck"></i>'.tr('Nuovo ddt in uscita').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi ddt uscita').'" data-href="add.php?id_module='.(new Module())->getByName('Ddt di vendita')->id_record.'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-truck"></i>'.tr('Nuovo ddt in uscita').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi fattura di vendita').'" data-href="add.php?id_module='.Modules::get('Fatture di vendita')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file"></i>'.tr('Nuova fattura di vendita').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi fattura di vendita').'" data-href="add.php?id_module='.(new Module())->getByName('Fatture di vendita')->id_record.'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file"></i>'.tr('Nuova fattura di vendita').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi registrazione contabile').'" data-href="add.php?id_module='.Modules::get('Prima nota')['id'].'&id_anagrafica='.$record['idanagrafica'].'"><i class="fa fa-euro"></i>'.tr('Nuova registrazione contabile (cliente)').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi registrazione contabile').'" data-href="add.php?id_module='.(new Module())->getByName('Prima nota')->id_record.'&id_anagrafica='.$record['idanagrafica'].'"><i class="fa fa-euro"></i>'.tr('Nuova registrazione contabile (cliente)').'
</a></li>';
}
if (in_array($id_fornitore, $tipi_anagrafica)) {
echo '<li><a data-toggle="modal" data-title="'.tr('Aggiungi ordine fornitore').'" data-href="add.php?id_module='.Modules::get('Ordini fornitore')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file-o fa-flip-horizontal"></i>'.tr('Nuovo ordine fornitore').'
echo '<li><a data-toggle="modal" data-title="'.tr('Aggiungi ordine fornitore').'" data-href="add.php?id_module='.(new Module())->getByName('Ordini fornitore')->id_record.'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file-o fa-flip-horizontal"></i>'.tr('Nuovo ordine fornitore').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi ddt entrata').'" data-href="add.php?id_module='.Modules::get('Ddt di acquisto')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-truck fa-flip-horizontal"></i>'.tr('Nuovo ddt in entrata').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi ddt entrata').'" data-href="add.php?id_module='.(new Module())->getByName('Ddt di acquisto')->id_record.'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-truck fa-flip-horizontal"></i>'.tr('Nuovo ddt in entrata').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi fattura di acquisto').'" data-href="add.php?id_module='.Modules::get('Fatture di acquisto')['id'].'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file fa-flip-horizontal"></i>'.tr('Nuova fattura di acquisto').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi fattura di acquisto').'" data-href="add.php?id_module='.(new Module())->getByName('Fatture di acquisto')->id_record.'&idanagrafica='.$record['idanagrafica'].'"><i class="fa fa-file fa-flip-horizontal"></i>'.tr('Nuova fattura di acquisto').'
</a></li>
<li><a data-toggle="modal" data-title="'.tr('Aggiungi registrazione contabile').'" data-href="add.php?id_module='.Modules::get('Prima nota')['id'].'&id_anagrafica='.$record['idanagrafica'].'"><i class="fa fa-euro"></i>'.tr('Nuova registrazione contabile (fornitore)').'
<li><a data-toggle="modal" data-title="'.tr('Aggiungi registrazione contabile').'" data-href="add.php?id_module='.(new Module())->getByName('Prima nota')->id_record.'&id_anagrafica='.$record['idanagrafica'].'"><i class="fa fa-euro"></i>'.tr('Nuova registrazione contabile (fornitore)').'
</a></li>';
}

View File

@ -20,6 +20,7 @@
use Carbon\Carbon;
use Modules\Anagrafiche\Anagrafica;
use Modules\Banche\Banca;
use Models\Module;
include_once __DIR__.'/../../core.php';
@ -30,7 +31,7 @@ $is_agente = in_array($id_agente, $tipi_anagrafica);
$is_azienda = in_array($id_azienda, $tipi_anagrafica);
if (!$is_cliente && !$is_fornitore && !$is_azienda && $is_tecnico) {
$ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name`='Sedi' OR `name`='Referenti' OR `name`='Dichiarazioni d\'intento'");
$ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name`='Sedi' OR `name`='Referenti' OR `name`='Dichiarazioni d\'intento'");
foreach ($ignore as $plugin) {
echo '
@ -41,7 +42,7 @@ if (!$is_cliente && !$is_fornitore && !$is_azienda && $is_tecnico) {
}
if (!$is_cliente) {
$ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name` IN ('Impianti del cliente','Contratti del cliente','Ddt del cliente')");
$ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name` IN ('Impianti del cliente','Contratti del cliente','Ddt del cliente')");
foreach ($ignore as $plugin) {
echo '
@ -223,7 +224,7 @@ if (in_array($id_azienda, $tipi_anagrafica)) {
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY descrizione ASC", "value": "$idzona$", "placeholder": "<?php echo tr('Nessuna zona'); ?>", "icon-after": "add|<?php echo Modules::get('Zone')['id']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Zona'); ?>", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY descrizione ASC", "value": "$idzona$", "placeholder": "<?php echo tr('Nessuna zona'); ?>", "icon-after": "add|<?php echo (new Module())->getByName('Zone')->id_record; ?>" ]}
</div>
<div class="col-md-4">
@ -452,7 +453,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
</div>
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Relazione').'", "name": "idrelazione", "ajax-source": "relazioni", "value": "$idrelazione$", "icon-after": "add|'.Modules::get('Relazioni')['id'].'" ]}
{[ "type": "select", "label": "'.tr('Relazione').'", "name": "idrelazione", "ajax-source": "relazioni", "value": "$idrelazione$", "icon-after": "add|'.(new Module())->getByName('Relazioni')->id_record.'" ]}
</div>
<div class="col-md-9">
@ -468,18 +469,18 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
$banca_predefinita = $banche->first(function ($item) {
return !empty($item['predefined']);
});
$modulo_banche = Modules::get('Banche');
$modulo_banche = (new Module())->getByName('Banche')->id_record;
if (!$banche->isEmpty()) {
echo '
<div class="row">
<div class="col-md-6">
<a href="'.base_path().'/editor.php?id_module='.$modulo_banche['id'].'&id_record='.$banca_predefinita->id.'">
<a href="'.base_path().'/editor.php?id_module='.$modulo_banche.'&id_record='.$banca_predefinita->id.'">
'.tr("Visualizza la banca predefinita per l'Anagrafica").' <i class="fa fa-external-link"></i>
</a>
</div>
<div class="col-md-6">
<a href="'.base_path().'/controller.php?id_module='.$modulo_banche['id'].'&search_Anagrafica='.rawurlencode($anagrafica['ragione_sociale']).'">
<a href="'.base_path().'/controller.php?id_module='.$modulo_banche.'&search_Anagrafica='.rawurlencode($anagrafica['ragione_sociale']).'">
'.tr("Visualizza le banche disponibili per l'Anagrafica").' <i class="fa fa-external-link"></i>
</a>
</div>
@ -497,7 +498,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
<div class="tab-pane '.(!$is_cliente ? 'hide' : 'active').'" id="cliente">
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Provenienza cliente').'", "name": "id_provenienza", "ajax-source": "provenienze", "value": "$id_provenienza$", "icon-after": "add|'.Modules::get('Provenienze')['id'].'" ]}
{[ "type": "select", "label": "'.tr('Provenienza cliente').'", "name": "id_provenienza", "ajax-source": "provenienze", "value": "$id_provenienza$", "icon-after": "add|'.(new Module())->getByName('Provenienze')->id_record.'" ]}
</div>
<div class="col-md-6">
@ -687,7 +688,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
<div class="row">
<div class="col-md-3">
{[ "type": "select", "label": "<?php echo tr('Settore merceologico'); ?>", "name": "id_settore", "ajax-source": "settori", "value": "$id_settore$", "icon-after": "add|<?php echo Modules::get('Settori')['id']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Settore merceologico'); ?>", "name": "id_settore", "ajax-source": "settori", "value": "$id_settore$", "icon-after": "add|<?php echo (new Module())->getByName('Settori')->id_record; ?>" ]}
</div>
<div class="col-md-3">

View File

@ -26,7 +26,7 @@ $id_record = filter('id_record');
$dir = filter('dir');
$nome_stampa = filter('nome_stampa');
$id_print = $dbo->fetchOne('SELECT id FROM zz_prints WHERE name='.prepare($nome_stampa))['id'];
$id_module = Module::pool('Stampe contabili')->id;
$id_module = (new Module())->getByName('Stampe contabili')->id_record;
$year = (new Carbon($_SESSION['period_end']))->format('Y');

View File

@ -19,6 +19,7 @@
use Models\Upload;
use Modules\Anagrafiche\Anagrafica;
use Models\Module;
include_once __DIR__.'/../../../core.php';
@ -59,53 +60,53 @@ if (empty($_GET['visualizza_allegati'])) {
}
// Interventi dell'anagrafica
if ($user->is_admin || in_array(Modules::get('Interventi')['id'], $permessi)) {
$interventi = $dbo->fetcharray('SELECT '.prepare(Modules::get('Interventi')['id'])." AS id_module, id AS id_record, CONCAT('Intervento num. ',codice,' del ',DATE_FORMAT(data_richiesta,'%d/%m/%Y')) AS descrizione FROM in_interventi WHERE idanagrafica=".prepare($id_record));
if ($user->is_admin || in_array((new Module())->getByName('Interventi')->id_record, $permessi)) {
$interventi = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Interventi')->id_record)." AS id_module, `id` AS id_record, CONCAT('Intervento num. ',codice,' del ',DATE_FORMAT(`data_richiesta`,'%d/%m/%Y')) AS descrizione FROM `in_interventi` WHERE `idanagrafica`=".prepare($id_record));
$documenti = array_merge($documenti, $interventi);
}
// Preventivi dell'anagrafica
if ($user->is_admin || in_array(Modules::get('Preventivi')['id'], $permessi)) {
$preventivi = $dbo->fetcharray('SELECT '.prepare(Modules::get('Preventivi')['id'])." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_preventivi WHERE idanagrafica=".prepare($id_record));
if ($user->is_admin || in_array((new Module())->getByName('Preventivi')->id_record, $permessi)) {
$preventivi = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Preventivi')->id_record)." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_preventivi WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $preventivi);
}
// Contratti dell'anagrafica
if ($user->is_admin || in_array(Modules::get('Contratti')['id'], $permessi)) {
$contratti = $dbo->fetcharray('SELECT '.prepare(Modules::get('Contratti')['id'])." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_contratti WHERE idanagrafica=".prepare($id_record));
if ($user->is_admin || in_array((new Module())->getByName('Contratti')->id_record, $permessi)) {
$contratti = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Contratti')->id_record)." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_contratti WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $contratti);
}
// DDT dell'anagrafica
if ($user->is_admin || in_array(Modules::get('Ddt di vendita')['id'], $permessi)) {
$ddt_vendita = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ddt di vendita')['id'])." AS id_module, id AS id_record, CONCAT('Ddt di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record));
if ($user->is_admin || in_array((new Module())->getByName('Ddt di vendita')->id_record, $permessi)) {
$ddt_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Ddt di vendita')->id_record)." AS id_module, id AS id_record, CONCAT('Ddt di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $ddt_vendita);
}
if ($user->is_admin || in_array(Modules::get('Ddt di acquisto')['id'], $permessi)) {
$ddt_acquisto = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ddt di acquisto')['id'])." AS id_module, id AS id_record, CONCAT('Ddt di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record));
if ($user->is_admin || in_array((new Module())->getByName('Ddt di acquisto')->id_record, $permessi)) {
$ddt_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Ddt di acquisto')->id_record)." AS id_module, id AS id_record, CONCAT('Ddt di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $ddt_acquisto);
}
// Fatture dell'anagrafica
if ($user->is_admin || in_array(Modules::get('Fatture di vendita')['id'], $permessi)) {
$fatture_vendita = $dbo->fetcharray('SELECT '.prepare(Modules::get('Fatture di vendita')['id'])." AS id_module, id AS id_record, CONCAT('Fattura di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record));
if ($user->is_admin || in_array((new Module())->getByName('Fatture di vendita')->id_record, $permessi)) {
$fatture_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Fatture di vendita')->id_record)." AS id_module, id AS id_record, CONCAT('Fattura di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $fatture_vendita);
}
if ($user->is_admin || in_array(Modules::get('Fatture di acquisto')['id'], $permessi)) {
$fatture_acquisto = $dbo->fetcharray('SELECT '.prepare(Modules::get('Fatture di acquisto')['id'])." AS id_module, id AS id_record, CONCAT('Fattura di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record));
if ($user->is_admin || in_array((new Module())->getByName('Fatture di acquisto')->id_record, $permessi)) {
$fatture_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Fatture di acquisto')->id_record)." AS id_module, id AS id_record, CONCAT('Fattura di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $fatture_acquisto);
}
// Ordini dell'anagrafica
if ($user->is_admin || in_array(Modules::get('Ordini cliente')['id'], $permessi)) {
$ordini_vendita = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ordini cliente')['id'])." AS id_module, id AS id_record, CONCAT('Ordine cliente num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record));
if ($user->is_admin || in_array((new Module())->getByName('Ordini cliente')->id_record, $permessi)) {
$ordini_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Ordini cliente')->id_record)." AS id_module, id AS id_record, CONCAT('Ordine cliente num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $ordini_vendita);
}
if ($user->is_admin || in_array(Modules::get('Ordini fornitore')['id'], $permessi)) {
$ordini_acquisto = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ordini fornitore')['id'])." AS id_module, id AS id_record, CONCAT('Ordine fornitore num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record));
if ($user->is_admin || in_array((new Module())->getByName('Ordini fornitore')->id_record, $permessi)) {
$ordini_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Ordini fornitore')->id_record)." AS id_module, id AS id_record, CONCAT('Ordine fornitore num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $ordini_acquisto);
}
@ -152,7 +153,7 @@ if (empty($_GET['visualizza_allegati'])) {
<i class="fa fa-external-link"></i> '.$file->name.'
</a>
</td>
<td>'.Modules::link(Modules::get($allegato['id_module'])['name'], $file->id_record, $documento['descrizione']).'</td>
<td>'.Modules::link(Module::find($allegato['id_module']->name), $file->id_record, $documento['descrizione']).'</td>
<td class="text-center">'.Translator::dateToLocale($file->created_at).'</td>
</tr>';
}

View File

@ -20,6 +20,7 @@
include_once __DIR__.'/../../core.php';
use Modules\Iva\Aliquota;
use Models\Module;
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
$iva_predefinita = setting('Iva predefinita');
@ -45,11 +46,11 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Categoria'); ?>", "name": "categoria", "required": 0, "ajax-source": "categorie", "icon-after": "add|<?php echo Modules::get('Categorie articoli')['id']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Categoria'); ?>", "name": "categoria", "required": 0, "ajax-source": "categorie", "icon-after": "add|<?php echo (new Module())->GetByName('Categorie articoli')->id_record; ?>" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Sottocategoria'); ?>", "name": "subcategoria", "id": "subcategoria_add", "ajax-source": "sottocategorie", "icon-after": "add|<?php echo Modules::get('Categorie articoli')['id']; ?>||hide" ]}
{[ "type": "select", "label": "<?php echo tr('Sottocategoria'); ?>", "name": "subcategoria", "id": "subcategoria_add", "ajax-source": "sottocategorie", "icon-after": "add|<?php echo (new Module())->GetByName('Categorie articoli')->id_record; ?>||hide" ]}
</div>
</div>
@ -103,7 +104,7 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
<div class="row">
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Unità di misura'); ?>", "name": "um", "value": "", "ajax-source": "misure", "icon-after": "add|<?php echo Modules::get('Unità di misura')['id']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Unità di misura'); ?>", "name": "um", "value": "", "ajax-source": "misure", "icon-after": "add|<?php echo (new Module())->GetByName('Unità di misura articoli')->id_record; ?>" ]}
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('U.m. secondaria'); ?>", "name": "um_secondaria", "value": "", "ajax-source": "misure", "help": "<?php echo tr("Unità di misura da utilizzare nelle stampe di Ordini fornitori in relazione all'articolo"); ?>" ]}

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../../core.php';
use Models\Module;
$idarticolo = get('idarticolo');
$limit = get('limit');
@ -75,7 +76,7 @@ switch ($resource) {
for ($i = 0; $i < sizeof($documenti); ++$i) {
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
$link_id = (new Module())->GetByName($documenti[$i]['modulo'])->id_record;
echo "<tr><td class='first_cell text-left'><a href='".base_path().'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
$ids[] = '"'.$documenti[$i]['id'].'"';
@ -136,7 +137,7 @@ switch ($resource) {
for ($i = 0; $i < sizeof($documenti); ++$i) {
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
$link_id = (new Module())->GetByName($documenti[$i]['modulo'])->id_record;
echo "<tr><td class='first_cell text-left'><a href='".base_path().'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].' n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
$ids[] = '"'.$documenti[$i]['id'].'"';
@ -196,7 +197,7 @@ switch ($resource) {
for ($i = 0; $i < sizeof($documenti); ++$i) {
($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento'];
$link_id = Modules::get($documenti[$i]['modulo'])['id'];
$link_id = (new Module())->GetByName($documenti[$i]['modulo'])->id_record;
echo "<tr><td class='first_cell text-left'><a href='".base_path().'/editor.php?id_module='.$link_id.'&id_record='.$documenti[$i]['id']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">".$documenti[$i]['tipo'].' n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." </a></td>\n";
echo "<td class='table_cell text-right'>".moneyFormat($documenti[$i]['costo_unitario'])."</td></tr>\n";
$ids[] = '"'.$documenti[$i]['id'].'"';

View File

@ -18,9 +18,9 @@
*/
include_once __DIR__.'/../../../core.php';
use Models\Module;
$link_id = Modules::get('Articoli')['id'];
$link_id = (new Module())->GetByName('Articoli')->id_record;
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
$show_prezzi = Auth::user()['gruppo'] != 'Tecnici' || (Auth::user()['gruppo'] == 'Tecnici' && setting('Mostra i prezzi al tecnico'));

View File

@ -26,13 +26,12 @@ use Modules\Preventivi\Components\Articolo as ArticoloPreventivo;
use Modules\Preventivi\Preventivo;
use Modules\TipiIntervento\Tipo as TipoSessione;
use Plugins\ListinoClienti\DettaglioPrezzo;
use Models\Module;
include_once __DIR__.'/../../core.php';
$module_preventivi = 'Preventivi';
// Segmenti
$id_preventivi = Modules::get($module_preventivi)['id'];
$id_preventivi =(new Module())->GetByName('Preventivi')->id_record;
$id_segment = $_SESSION['module_'.$id_preventivi]['id_segment'];
switch (post('op')) {
@ -218,7 +217,7 @@ switch (post('op')) {
}
$database->commitTransaction();
redirect(base_path().'/editor.php?id_module='.Modules::get('Preventivi')['id'].'&id_record='.$id_preventivo);
redirect(base_path().'/editor.php?id_module='.$id_preventivi.'&id_record='.$id_preventivo);
exit;
case 'export-csv':

View File

@ -20,6 +20,7 @@
include_once __DIR__.'/../../core.php';
use Modules\Iva\Aliquota;
use Models\Module;
?><form action="" method="post" id="edit-form" enctype="multipart/form-data">
<input type="hidden" name="backto" value="record-edit">
@ -52,11 +53,11 @@ use Modules\Iva\Aliquota;
<div class="col-md-6">
<?php echo (!empty($record['id_categoria'])) ?
Modules::link('Categorie articoli', $record['id_categoria'], null, null, 'class="pull-right"') : ''; ?>
{[ "type": "select", "label": "<?php echo tr('Categoria'); ?>", "name": "categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|<?php echo Modules::get('Categorie articoli')['id']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Categoria'); ?>", "name": "categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|<?php echo (new Module())->GetByName('Categorie articoli')->id_record; ?>" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Sottocategoria'); ?>", "name": "subcategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie", "select-options": <?php echo json_encode(['id_categoria' => $record['id_categoria']]); ?>, "icon-after": "add|<?php echo Modules::get('Categorie articoli')['id']; ?>|id_original=<?php echo $record['id_categoria']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Sottocategoria'); ?>", "name": "subcategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie", "select-options": <?php echo json_encode(['id_categoria' => $record['id_categoria']]); ?>, "icon-after": "add|<?php echo (new Module())->GetByName('Categorie articoli')->id_record; ?>|id_original=<?php echo $record['id_categoria']; ?>" ]}
</div>
</div>
</div>
@ -85,7 +86,7 @@ use Modules\Iva\Aliquota;
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Unità di misura'); ?>", "name": "um", "value": "$um$", "ajax-source": "misure", "icon-after": "add|<?php echo Modules::get('Unità di misura')['id']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Unità di misura'); ?>", "name": "um", "value": "$um$", "ajax-source": "misure", "icon-after": "add|<?php echo (new Module())->GetByName('Unità di misura')->id_record; ?>" ]}
</div>
</div>

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../../core.php';
use Models\Module;
$impegnato = 0;
$ordinato = 0;
@ -90,7 +91,7 @@ if (!empty($ordini)) {
<tbody>';
$modulo = Modules::get('Ordini cliente');
$id_modulo = (new Module())->GetByName('Ordini cliente')->id_record;
foreach ($ordini as $documento) {
$numero = !empty($documento['numero_esterno']) ? $documento['numero_esterno'] : $documento['numero'];
$qta = $documento['qta_impegnata'];
@ -99,7 +100,7 @@ if (!empty($ordini)) {
<tr>
<td>
<small>
'.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [
'.Modules::link($id_modulo, $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [
'_NUM_' => $numero,
'_DATE_' => dateFormat($documento['data']),
])).'
@ -158,7 +159,7 @@ if (!empty($ordini)) {
<tbody>';
$modulo = Modules::get('Ordini fornitore');
$id_modulo = (new Module())->GetByName('Ordini fornitore')->id_record;
foreach ($ordini as $documento) {
$numero = !empty($documento['numero_esterno']) ? $documento['numero_esterno'] : $documento['numero'];
$qta = $documento['qta_ordinata'];
@ -167,7 +168,7 @@ if (!empty($ordini)) {
<tr>
<td>
<small>
'.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [
'.Modules::link($id_modulo, $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [
'_NUM_' => $numero,
'_DATE_' => dateFormat($documento['data']),
])).'

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../../core.php';
use Models\Module;
$record['abilita_serial'] = ($record['serial'] > 0) ? 1 : $record['abilita_serial'];
if (empty($record['abilita_serial'])) {
@ -151,7 +152,7 @@ if (empty(get('modal'))) {
foreach ($acquisti as $acquisto) {
// Acquistato su fatture
if (!empty($acquisto['id_riga_documento'])) {
$module_id = Modules::get('Fatture di acquisto')['id'];
$module_id = (new Module())->GetByName('Fatture di acquisto')->id_record;
// Ricerca vendite su fatture
$query = 'SELECT *, `co_tipidocumento_lang`.`name` AS tipo_documento, `co_tipidocumento`.`dir`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_documenti`.`data` FROM `co_righe_documenti` INNER JOIN `co_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id` INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `co_righe_documenti`.`id`='.prepare($acquisto['id_riga_documento']);
@ -162,7 +163,7 @@ if (empty(get('modal'))) {
// Acquistato su ddt
elseif (!empty($acquisto['id_riga_ddt'])) {
$module_id = Modules::get('Ddt di acquisto')['id'];
$module_id = (new Module())->GetByName('Ddt di acquisto')->id_record;
$query = 'SELECT
*,
@ -185,7 +186,7 @@ if (empty(get('modal'))) {
// Inserito su ordini
elseif (!empty($acquisto['id_riga_ordine'])) {
$module_id = Modules::get('Ordini cliente')['id'];
$module_id = (new Module())->GetByName('Ordini cliente')->id_record;
// Ricerca inserimenti su ordini
$query = 'SELECT
@ -261,7 +262,7 @@ if (empty(get('modal'))) {
foreach ($vendite as $vendita) {
// Venduto su fatture
if (!empty($vendita['id_riga_documento'])) {
$module_id = Modules::get('Fatture di vendita')['id'];
$module_id = (new Module())->GetByName('Fatture di vendita')->id_record;
// Ricerca vendite su fatture
$query = 'SELECT *, `co_tipidocumento_lang`.`name` AS tipo_documento, `co_tipidocumento`.`dir`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`,`co_documenti`.`data` FROM `co_righe_documenti` INNER JOIN `co_documenti` ON `co_righe_documenti`.`iddocumento`=`co_documenti`.`id` INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id`=`co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `co_righe_documenti`.`id`='.prepare($vendita['id_riga_documento']);
@ -272,7 +273,7 @@ if (empty(get('modal'))) {
// Venduto su ddt
elseif (!empty($vendita['id_riga_ddt'])) {
$module_id = Modules::get('Ddt di vendita')['id'];
$module_id = (new Module())->GetByName('Ddt di vendita')->id_record;
$query = 'SELECT
*,
@ -295,7 +296,7 @@ if (empty(get('modal'))) {
// Inserito su ordini
elseif (!empty($vendita['id_riga_ordine'])) {
$module_id = Modules::get('Ordini cliente')['id'];
$module_id = (new Module())->GetByName('Ordini cliente')->id_record;
// Ricerca inserimenti su ordini
$query = 'SELECT
@ -319,7 +320,7 @@ if (empty(get('modal'))) {
// Inserito su intervento
elseif (!empty($vendita['id_riga_intervento'])) {
$module_id = Modules::get('Interventi')['id'];
$module_id = (new Module())->GetByName('Interventi')->id_record;
// Ricerca inserimenti su interventi
$query = 'SELECT in_righe_interventi.*, in_interventi.codice, ( SELECT orario_inizio FROM in_interventi_tecnici WHERE idintervento=in_righe_interventi.idintervento LIMIT 0,1 ) AS data FROM in_righe_interventi JOIN in_interventi ON in_interventi.id = in_righe_interventi.idintervento WHERE in_righe_interventi.id='.prepare($vendita['id_riga_intervento']);
@ -332,7 +333,7 @@ if (empty(get('modal'))) {
// Inserito su contratto
elseif (!empty($vendita['id_riga_contratto'])) {
$module_id = Modules::get('Contratti')['id'];
$module_id = (new Module())->GetByName('Contratti')->id_record;
// Ricerca vendite su contratti
$query = 'SELECT *, "Contratto" AS tipo_documento, ( SELECT data_bozza FROM co_contratti WHERE id=idcontratto ) AS data, ( SELECT numero FROM co_contratti WHERE id=idcontratto ) AS numero FROM co_righe_contratti WHERE co_righe_contratti.id='.prepare($vendita['id_riga_contratto']);
@ -343,7 +344,7 @@ if (empty(get('modal'))) {
// Inserito su vendita banco
elseif (!empty($vendita['id_riga_venditabanco'])) {
$module_id = Modules::get('Vendita al banco')['id'];
$module_id = (new Module())->GetByName('Vendita al banco')->id_record;
// Ricerca vendite su contratti
$query = 'SELECT *, "Vendita al banco" AS tipo_documento, ( SELECT data FROM vb_venditabanco WHERE id=idvendita ) AS data, ( SELECT numero FROM vb_venditabanco WHERE id=idvendita ) AS numero FROM vb_righe_venditabanco WHERE vb_righe_venditabanco.id='.prepare($vendita['id_riga_venditabanco']);

View File

@ -20,6 +20,7 @@
include_once __DIR__.'/../../../core.php';
use Modules\Anagrafiche\Anagrafica;
use Models\Module;
echo '
<div class="panel panel-primary">
@ -48,7 +49,7 @@ echo '
<div class="pull-right">';
echo '
<a class="btn btn-warning btn-xs" onclick="openModal(\''.tr('Movimenta articolo').'\', \''.base_path().'/modules/articoli/modals/add_movimento.php?id_module='.Modules::get('Movimenti')['id'].'&id_articolo='.$id_record.'\');">
<a class="btn btn-warning btn-xs" onclick="openModal(\''.tr('Movimenta articolo').'\', \''.base_path().'/modules/articoli/modals/add_movimento.php?id_module='.(new Module())->GetByName('Movimenti')->id_record.'&id_articolo='.$id_record.'\');">
<i class="fa fa-truck"></i>
'.tr('Movimenta articolo').'
</a>';
@ -68,7 +69,7 @@ if (empty($_GET['movimentazione_completa'])) {
}
echo '
<a class="btn btn-warning btn-xs" href="'.base_path().'/controller.php?id_module='.Modules::get('Movimenti')->id.'&search_Articolo='.($articolo->codice.' - '.$articolo->name).'">
<a class="btn btn-warning btn-xs" href="'.base_path().'/controller.php?id_module='.(new Module())->GetByName('Movimenti')->id_record.'&search_Articolo='.($articolo->codice.' - '.$articolo->name).'">
<i class="fa fa-external-link"></i>
'.tr('Visualizza dettagli').'
</a>';

View File

@ -28,6 +28,7 @@ use Modules\Interventi\Components\Articolo as ArticoloIntervento;
use Modules\Iva\Aliquota;
use Plugins\ListinoFornitori\DettaglioFornitore;
use Traits\RecordTrait;
use Models\Module;
class Articolo extends Model
{
@ -202,7 +203,7 @@ class Articolo extends Model
return null;
}
$module = \Modules::get($this->module);
$module = Module::find((new Module())->getByName($this->module)->id_record);
$fileinfo = \Uploads::fileInfo($this->immagine);
$directory = '/'.$module->upload_directory.'/';

View File

@ -30,6 +30,7 @@ use Modules\Articoli\Categoria;
use Modules\Iva\Aliquota;
use Plugins\ListinoClienti\DettaglioPrezzo;
use Plugins\ListinoFornitori\DettaglioFornitore;
use Models\Module;
/**
* Struttura per la gestione delle operazioni di importazione (da CSV) degli Articoli.
@ -366,7 +367,7 @@ class CSV extends CSVImporter
if (!empty($file_content)) {
if ($record['import_immagine'] == 2 || $record['import_immagine'] == 4) {
\Uploads::deleteLinked([
'id_module' => \Modules::get('Articoli')['id'],
'id_module' => (new Module())->getByName('Articoli')->id_record,
'id_record' => $articolo->id,
]);
@ -383,7 +384,7 @@ class CSV extends CSVImporter
'name' => 'Immagine',
'category' => 'Immagini',
'original_name' => $name,
'id_module' => \Modules::get('Articoli')['id'],
'id_module' => (new Module())->getByName('Articoli')->id_record,
'id_record' => $articolo->id,
], [
'thumbnails' => true,

View File

@ -22,7 +22,7 @@ include_once __DIR__.'/../../../core.php';
// Trovo id_print della stampa
if(!empty(setting('Magazzino cespiti'))){
$id_print = $dbo->fetchOne('SELECT zz_prints.id FROM zz_prints INNER JOIN zz_modules ON zz_prints.id_module=zz_modules.id WHERE zz_modules.name="Articoli" AND zz_prints.name="Inventario cespiti"')['id'];
$id_print = $dbo->fetchOne('SELECT `zz_prints`.`id` FROM `zz_prints` INNER JOIN `zz_modules` ON `zz_prints`.`id_module`=`zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.setting('Lingua').') WHERE `zz_modules_lang`.`name`="Articoli" AND `zz_prints`.`name`="Inventario cespiti"')['id'];
echo '
<form action="'.base_path().'/pdfgen.php?id_print='.$id_print.'" method="post" target="_blank">

View File

@ -20,7 +20,7 @@
include_once __DIR__.'/../../../core.php';
// Trovo id_print della stampa
$id_print = $dbo->fetchOne('SELECT `zz_prints`.`id` FROM `zz_prints` INNER JOIN `zz_modules` ON `zz_prints`.`id_module`=`zz_modules`.`id` WHERE `zz_modules`.`name`="Articoli" AND `zz_prints`.`name`="Inventario magazzino"')['id'];
$id_print = $dbo->fetchOne('SELECT `zz_prints`.`id` FROM `zz_prints` INNER JOIN `zz_modules` ON `zz_prints`.`id_module`=`zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.setting('Lingua').') WHERE `zz_modules_lang`.`name`="Articoli" AND `zz_prints`.`name`="Inventario magazzino"')['id'];
echo '
<form action="'.base_path().'/pdfgen.php?id_print='.$id_print.'" method="post" target="_blank">

View File

@ -1,6 +1,7 @@
<?php
include_once __DIR__.'/../../core.php';
use Models\Module;
$idautomezzo = get('idautomezzo');
$idarticolo = get('idarticolo');
@ -16,7 +17,7 @@ if (!empty($idarticolo) && !empty($idautomezzo)) {
Form di inserimento riga documento
*/
echo '
<form id="link_form" action="'.$rootdir.'/editor.php?id_module='.Modules::get('Automezzi')['id'].'&id_record='.$idautomezzo.'" method="post">
<form id="link_form" action="'.$rootdir.'/editor.php?id_module='.(new Module())->getByName('Automezzi')->id_record.'&id_record='.$idautomezzo.'" method="post">
<input type="hidden" name="op" value="'.$op.'">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="id_record" value="'.$idautomezzo.'">';

View File

@ -1,12 +1,13 @@
<?php
include_once __DIR__.'/../../core.php';
use Models\Module;
$id_record = get('idautomezzo');
// Form di inserimento responsabili automezzo
echo '
<form action="'.$rootdir.'/editor.php?id_module='.Modules::get('Automezzi')['id'].'&id_record='.$id_record.'" method="post">
<form action="'.$rootdir.'/editor.php?id_module='.(new Module())->getByName('Automezzi')->id_record.'&id_record='.$id_record.'" method="post">
<input type="hidden" name="op" value="addtech">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="id_record" value="'.$id_record.'">

View File

@ -1,8 +1,9 @@
<?php
include_once __DIR__.'/../../../core.php';
use Models\Module;
$link_id = Modules::get('Automezzi')['id'];
$link_id = (new Module())->getByName('Automezzi')->id_record;
$fields = [
'Nome' => 'nome',

View File

@ -1,6 +1,8 @@
<?php
include_once __DIR__.'/../../core.php';
use Models\Module;
unset($_SESSION['superselect']['idautomezzo']);
?><form action="" method="post" id="edit-form">
@ -50,7 +52,7 @@ unset($_SESSION['superselect']['idautomezzo']);
<div class="panel-body">
<div class="row">
<div class="col-md-12" >
<form action="<?php echo $rootdir; ?>/editor.php?id_module=<?php echo Modules::get('Automezzi')['id']; ?>&id_record=<?php echo $id_record; ?>" id="updatetech-form" method="post" role="form">
<form action="<?php echo $rootdir; ?>/editor.php?id_module=<?php echo (new Module())->getByName('Automezzi')->id_record; ?>&id_record=<?php echo $id_record; ?>" id="updatetech-form" method="post" role="form">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
<input type="hidden" name="op" value="">

View File

@ -20,8 +20,9 @@
include_once __DIR__.'/../../core.php';
use Modules\Checklists\Check;
use Models\Module;
$modulo_impianti = Modules::get('Impianti');
$modulo_impianti = (new Module())->getByName('Impianti')->id_record;
switch (filter('op')) {
case 'update':

View File

@ -19,6 +19,8 @@
include_once __DIR__.'/../../core.php';
use Models\Module;
?><form action="" method="post" id="edit-form">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="update">
@ -73,7 +75,7 @@ include_once __DIR__.'/../../core.php';
<th width="20%"><?php echo tr('Opzioni'); ?></th>
</tr>
<?php include base_dir().'/modules/'.Modules::get($id_module)['directory'].'/row-list.php'; ?>
<?php include base_dir().'/modules/'.Module::find($id_module)->directory.'/row-list.php'; ?>
</table>
</div>
</div>

View File

@ -30,11 +30,11 @@ echo '
</div>
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT id, title AS descrizione FROM zz_modules WHERE enabled = 1", "value": "'.$record['id_module'].'", "disabled": "'.!empty($record['id_plugin']).'" ]}
{[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT `zz_modules`.`id`, `title` AS descrizione FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_module'].'", "disabled": "'.!empty($record['id_plugin']).'" ]}
</div>
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `title` AS descrizione FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_plugin'].'", "disabled": "'.!empty($record['id_module']).'" ]}
{[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `title` AS descrizione FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_plugin'].'", "disabled": "'.!empty($record['id_module']).'" ]}
</div>
</div>

View File

@ -37,11 +37,11 @@ echo '
</div>
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT id, title AS descrizione FROM zz_modules WHERE enabled = 1", "value": "'.$record['id_module'].'", "disabled": "'.!empty($record['id_plugin']).'" ]}
{[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT `zz_modules`.`id`, `title` AS descrizione FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_module'].'", "disabled": "'.!empty($record['id_plugin']).'" ]}
</div>
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `title` AS descrizione, `zz_modules`.`name` AS optgroup FROM zz_plugins INNER JOIN `zz_modules` ON (`zz_plugins`.`id_module_to` = `zz_modules`.`id`) LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_plugin'].'", "disabled": "'.!empty($record['id_module']).'" ]}
{[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `zz_plugins_lang`.`title` AS descrizione, `zz_modules_lang`.`name` AS optgroup FROM zz_plugins INNER JOIN `zz_modules` ON `zz_plugins`.`id_module_to` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_plugin'].'", "disabled": "'.!empty($record['id_module']).'" ]}
</div>
</div>
</div>

View File

@ -20,8 +20,9 @@
include_once __DIR__.'/../../core.php';
use Modules\Checklists\Checklist;
use Models\Module;
$checklist_module = Modules::get('Checklists');
$checklist_module = (new Module())->getByName('Checklists')->id_record;
if (isset($id_record)) {
$record = Checklist::find($id_record);

View File

@ -1,6 +1,7 @@
<?php
include_once __DIR__.'/../../core.php';
use Models\Module;
echo '
<form action="" method="post" id="add-form">
@ -21,7 +22,7 @@ echo '
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.Modules::get('Categorie articoli')['id'].'" ]}
{[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.(new Module())->getByName('Categorie articoli')->id_record.'" ]}
</div>
<div class="col-md-6">

View File

@ -32,7 +32,7 @@ if (!empty($record['id_categoria'])) {
'.Modules::link('Categorie articoli', $record['id_categoria'], null, null, 'class="pull-right"');
}
echo '
{[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.Modules::get('Categorie articoli')['id'].'" ]}
{[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.(new Module())->getByName('Categorie articoli')->id_record.'" ]}
</div>
<div class="col-md-6">

View File

@ -30,6 +30,7 @@ use Modules\Contratti\Contratto;
use Modules\Contratti\Stato;
use Modules\Iva\Aliquota;
use Plugins\PianificazioneInterventi\Promemoria;
use Models\Plugin;
switch (post('op')) {
case 'add':
@ -451,7 +452,7 @@ switch (post('op')) {
foreach ($allegati as $allegato) {
$allegato->copia([
'id_module' => $id_module,
'id_plugin' => Plugins::get('Pianificazione interventi')['id'],
'id_plugin' => (new Plugin())->getByName('Pianificazione interventi')->id_record,
'id_record' => $id_promemoria,
]);
}

View File

@ -19,6 +19,7 @@
include_once __DIR__.'/../../core.php';
use Modules\Contratti\Stato;
use Models\Module;
$id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
@ -40,7 +41,7 @@ echo '
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Cliente').'", "name": "idanagrafica", "required": 1, "value": "'.$id_anagrafica.'", "ajax-source": "clienti", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|tipoanagrafica=Cliente&readonly_tipo=1", "readonly": "'.((empty(get('idanagrafica'))) ? 0 : 1).'" ]}
{[ "type": "select", "label": "'.tr('Cliente').'", "name": "idanagrafica", "required": 1, "value": "'.$id_anagrafica.'", "ajax-source": "clienti", "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|tipoanagrafica=Cliente&readonly_tipo=1", "readonly": "'.((empty(get('idanagrafica'))) ? 0 : 1).'" ]}
</div>
</div>

View File

@ -27,11 +27,11 @@ use Modules\Fatture\Fattura;
use Modules\Fatture\Stato;
use Modules\Fatture\Tipo;
use Plugins\PianificazioneInterventi\Promemoria;
$module_fatture = 'Fatture di vendita';
use Models\Module;
use Models\Plugin;
// Segmenti
$id_fatture = Modules::get($module_fatture)['id'];
$id_fatture = (new Module())->getByName('Fatture di vendita')->id_record;
if (!isset($_SESSION['module_'.$id_fatture]['id_segment'])) {
$segments = Modules::getSegments($id_fatture);
$_SESSION['module_'.$id_fatture]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null;
@ -216,7 +216,7 @@ switch (post('op')) {
foreach ($allegati as $allegato) {
$allegato->copia([
'id_module' => $id_module,
'id_plugin' => Plugins::get('Pianificazione interventi')['id'],
'id_plugin' => (new Plugin())->getByName('Pianificazione interventi')->id_record,
'id_record' => $id_promemoria,
]);
}

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
$block_edit = $record['is_completato'];
@ -112,7 +113,7 @@ echo '
</div>
<div class="col-md-6">
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Impianti'); ?>", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$idimpianti$", "icon-after": "add|<?php echo Modules::get('Impianti')['id']; ?>|<?php echo 'id_anagrafica='.$record['idanagrafica']; ?>||<?php echo (empty($block_edit)) ? '' : 'disabled'; ?>" ]}
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Impianti'); ?>", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$idimpianti$", "icon-after": "add|<?php echo (new Module())->getByName('Impianti')->id_record; ?>|<?php echo 'id_anagrafica='.$record['idanagrafica']; ?>||<?php echo (empty($block_edit)) ? '' : 'disabled'; ?>" ]}
</div>
<div class="col-md-3">
@ -346,7 +347,7 @@ if (!$block_edit) {
</div>
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": {"permetti_movimento_a_zero": 1}, "icon-after": "add|'.Modules::get('Articoli')['id'].'" ]}
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": {"permetti_movimento_a_zero": 1}, "icon-after": "add|'.(new Module())->getByName('Articoli')->id_record.'" ]}
</div>
<div class="col-md-3" style="margin-top: 25px">

View File

@ -25,11 +25,11 @@ include_once __DIR__.'/../../core.php';
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Modulo'); ?>", "name": "module_id", "values": "query=SELECT id, name as text FROM zz_modules WHERE enabled = 1" ]}
{[ "type": "select", "label": "<?php echo tr('Modulo'); ?>", "name": "module_id", "values": "query=SELECT `zz_modules`.`id`, `name` as text FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = <?php echo prepare(setting('Lingua')); ?>) WHERE `enabled` = 1" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Plugin'); ?>", "name": "plugin_id", "values": "query=SELECT `zz_plugins`.`id`, `name` as text FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = <?php echo prepare(setting('Lingua')); ?>) WHERE `enabled` = 1" ]}
{[ "type": "select", "label": "<?php echo tr('Plugin'); ?>", "name": "plugin_id", "values": "query=SELECT `zz_plugins`.`id`, `name` as text FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = <?php echo prepare(setting('Lingua')); ?>) WHERE `enabled` = 1" ]}
</div>
</div>

View File

@ -27,11 +27,11 @@ include_once __DIR__.'/../../core.php';
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Modulo'); ?>", "name": "module_id", "values": "query=SELECT id, name as text FROM zz_modules WHERE enabled = 1", "value": "<?php echo $record['id_module']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Modulo'); ?>", "name": "module_id", "values": "query=SELECT `zz_modules`.`id`, `name` as text FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = <?php echo prepare(setting('Lingua')); ?>) WHERE `enabled` = 1", "value": "<?php echo $record['id_module']; ?>" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Plugin'); ?>", "name": "plugin_id", "values": "query=SELECT `zz_plugins`.`id`, `name` as text FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = <?php echo prepare(setting('Lingua')); ?>) WHERE `enabled` = 1", "value": "<?php echo $record['id_plugin']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Plugin'); ?>", "name": "plugin_id", "values": "query=SELECT `zz_plugins`.`id`, `name` as text FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = <?php echo prepare(setting('Lingua')); ?>) WHERE `enabled` = 1", "value": "<?php echo $record['id_plugin']; ?>" ]}
</div>
</div>

View File

@ -20,7 +20,7 @@
include_once __DIR__.'/../../core.php';
if (isset($id_record)) {
$records = $dbo->fetchArray('SELECT * FROM zz_fields WHERE id='.prepare($id_record));
$records = $dbo->fetchArray('SELECT * FROM `zz_fields` WHERE `id`='.prepare($id_record));
}
// TODO: prevedere un utilizzo pratico del campo options

View File

@ -18,10 +18,11 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
$modulo_interventi = Modules::get('Interventi');
$modulo_preventivi = Modules::get('Preventivi');
$modulo_eventi = Modules::get('Eventi');
$modulo_interventi = Module::find((new Module())->getByName('Interventi')->id_record);
$modulo_preventivi = Module::find((new Module())->getByName('Preventivi')->id_record);
$modulo_eventi = Module::find((new Module())->getByName('Eventi')->id_record);
if (!isset($user['idanagrafica'])) {
$user['idanagrafica'] = '';

View File

@ -18,6 +18,7 @@
*/
use Carbon\Carbon;
use Models\Module;
include_once __DIR__.'/../../core.php';
@ -387,7 +388,7 @@ foreach ($days as $key => $day) {
}
}
$modulo_interventi = Modules::get('Interventi');
$modulo_interventi =Module::find((new Module())->getByName('Interventi')->id_record);
echo '
<script type="text/javascript">

View File

@ -51,7 +51,7 @@ if ($notes->count() < 1) {
$moduli = $notes->groupBy('id_module')->sortBy('notification_date');
foreach ($moduli as $module_id => $note) {
$modulo = Module::pool($module_id);
$modulo = Module::find($module_id);
echo '
<h4>'.($modulo->title == 'Anagrafiche' ? 'Note' : $modulo->title).'</h4>
@ -69,29 +69,29 @@ foreach ($moduli as $module_id => $note) {
$documento = '';
if ($modulo->title == 'Attività') {
$documento = $dbo->fetchOne("SELECT `in_interventi`.`codice` AS numero, `ragione_sociale` FROM `zz_notes` INNER JOIN `in_interventi` ON (`in_interventi`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id` FROM `zz_modules` WHERE `title` = 'Attività')) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `in_interventi`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `in_interventi`.`codice` AS numero, `ragione_sociale` FROM `zz_notes` INNER JOIN `in_interventi` ON (`in_interventi`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Attività' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `in_interventi`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Fatture di vendita') {
$documento = $dbo->fetchOne("SELECT numero_esterno AS numero, ragione_sociale FROM zz_notes INNER JOIN co_documenti ON (co_documenti.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Fatture di vendita')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_documenti.idanagrafica WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `numero_esterno` AS numero, `ragione_sociale` FROM `zz_notes` INNER JOIN `co_documenti` ON (`co_documenti`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Fatture di vendita' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `co_documenti`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Fatture di acquisto') {
$documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN co_documenti ON (co_documenti.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Fatture di acquisto')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_documenti.idanagrafica WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `numero`, `ragione_sociale` FROM `zz_notes` INNER JOIN `co_documenti` ON (`co_documenti`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Fatture di acquisto' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `co_documenti`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Preventivi') {
$documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN co_preventivi ON (co_preventivi.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Preventivi')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_preventivi.idanagrafica WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `numero`, `ragione_sociale` FROM `zz_notes` INNER JOIN `co_preventivi` ON (`co_preventivi`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Preventivi' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `co_preventivi`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Contratti') {
$documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN co_contratti ON (co_contratti.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Contratti')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_contratti.idanagrafica WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `numero`, `ragione_sociale` FROM `zz_notes` INNER JOIN `co_contratti` ON (`co_contratti`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Contratti' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `co_contratti`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Ordini cliente') {
$documento = $dbo->fetchOne("SELECT numero_esterno as numero, ragione_sociale FROM zz_notes INNER JOIN or_ordini ON (or_ordini.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Ordini cliente')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = or_ordini.idanagrafica WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `numero_esterno` as numero, `ragione_sociale` FROM `zz_notes` INNER JOIN `or_ordini` ON (`or_ordini`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Ordini cliente' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `or_ordini`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Ordini fornitore') {
$documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN or_ordini ON (or_ordini.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Ordini fornitore')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = or_ordini.idanagrafica WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `numero`, `ragione_sociale` FROM `zz_notes` INNER JOIN `or_ordini` ON (`or_ordini`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Ordini fornitore' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `or_ordini`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Ddt in uscita') {
$documento = $dbo->fetchOne("SELECT numero_esterno as numero, ragione_sociale FROM zz_notes INNER JOIN dt_ddt ON (dt_ddt.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Ddt in uscita')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = dt_ddt.idanagrafica WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `numero_esterno` as numero, `ragione_sociale` FROM `zz_notes` INNER JOIN `dt_ddt` ON (`dt_ddt`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_lang` FROM `zz_modules_lang` WHERE `title` = 'Ddt in uscita' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `dt_ddt`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Ddt in entrata') {
$documento = $dbo->fetchOne("SELECT numero, ragione_sociale FROM zz_notes INNER JOIN dt_ddt ON (dt_ddt.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Ddt in uscita')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = dt_ddt.idanagrafica WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `numero`, `ragione_sociale` FROM `zz_notes` INNER JOIN `dt_ddt` ON (`dt_ddt`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Ddt in uscita' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `dt_ddt`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Articoli') {
$documento = $dbo->fetchOne("SELECT `codice` AS numero FROM `zz_notes` INNER JOIN `mg_articoli` ON (`mg_articoli`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id` FROM `zz_modules` WHERE `title` = 'Articoli')) WHERE `zz_notes`.`id` = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `codice` AS numero FROM `zz_notes` INNER JOIN `mg_articoli` ON (`mg_articoli`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Articoli' AND `id_lang` = ".prepare(setting('Lingua')).")) WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Impianti') {
$documento = $dbo->fetchOne("SELECT matricola AS numero, ragione_sociale FROM zz_notes INNER JOIN my_impianti ON (my_impianti.id = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Impianti')) INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = my_impianti.idanagrafica WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT `matricola` AS numero, `ragione_sociale` FROM `zz_notes` INNER JOIN `my_impianti` ON (`my_impianti`.`id` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Impianti' AND `id_lang` = ".prepare(setting('Lingua')).")) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `my_impianti`.`idanagrafica` WHERE `zz_notes`.`id` = ".$nota->id);
} elseif ($modulo->title == 'Anagrafiche') {
$documento = $dbo->fetchOne("SELECT ' ' AS numero, ragione_sociale FROM zz_notes INNER JOIN an_anagrafiche ON (an_anagrafiche.idanagrafica = zz_notes.id_record AND zz_notes.id_module=(SELECT id FROM zz_modules WHERE title = 'Anagrafiche')) WHERE zz_notes.id = ".$nota->id);
$documento = $dbo->fetchOne("SELECT ' ' AS numero, `ragione_sociale` FROM `zz_notes` INNER JOIN `an_anagrafiche` ON (`an_anagrafiche`.`idanagrafica` = `zz_notes`.`id_record` AND `zz_notes`.`id_module`=(SELECT `id_record` FROM `zz_modules_lang` WHERE `title` = 'Anagrafiche' AND `id_lang` = ".prepare(setting('Lingua')).")) WHERE `zz_notes`.`id` = ".$nota->id);
} else {
$documento['numero'] = ' ';
}

View File

@ -33,9 +33,9 @@ use Modules\DDT\Tipo;
use Modules\Iva\Aliquota;
use Modules\Pagamenti\Pagamento;
$module = Modules::get($id_module);
$module = Module::find($id_module);
if ($module['name'] == 'Ddt di vendita') {
if ($module->name == 'Ddt di vendita') {
$dir = 'entrata';
} else {
$dir = 'uscita';
@ -521,7 +521,7 @@ switch (filter('op')) {
$ddt->save();
$id_record = $copia->id;
$id_module = $ddt->direzione == 'entrata' ? Module::pool('Ddt di acquisto')->id : Module::pool('Ddt di vendita')->id;
$id_module = $ddt->direzione == 'entrata' ? (new Module())->getByName('Ddt di acquisto')->id_record : (new Module())->getByName('Ddt di vendita')->id_record;
break;

View File

@ -20,10 +20,11 @@
include_once __DIR__.'/../../core.php';
use Modules\DDT\Tipo;
use Models\Module;
$module = Modules::get($id_module);
$module = Module::find($id_module);
if ($module['name'] == 'Ddt di vendita') {
if ($module->name == 'Ddt di vendita') {
$dir = 'entrata';
$id_tipoddt = (new Tipo())->getByName('Ddt in uscita')->id_record;
@ -55,7 +56,7 @@ $id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo $label; ?>", "name": "idanagrafica", "id": "idanagrafica_add", "required": 1, "value": "<?php echo $id_anagrafica; ?>", "ajax-source": "clienti_fornitori", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=<?php echo $tipo_anagrafica; ?>" ]}
{[ "type": "select", "label": "<?php echo $label; ?>", "name": "idanagrafica", "id": "idanagrafica_add", "required": 1, "value": "<?php echo $id_anagrafica; ?>", "ajax-source": "clienti_fornitori", "icon-after": "add|<?php echo (new Module())->getByName('Anagrafiche')->id_record; ?>|tipoanagrafica=<?php echo $tipo_anagrafica; ?>" ]}
</div>
<!-- il campo idtipoddt può essere anche rimosso -->
@ -66,7 +67,7 @@ $id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Causale trasporto'); ?>", "name": "idcausalet", "required": 1, "value": "<?php echo $id_causalet; ?>", "ajax-source": "causali", "icon-after": "add|<?php echo Modules::get('Causali')['id']; ?>|||" ]}
{[ "type": "select", "label": "<?php echo tr('Causale trasporto'); ?>", "name": "idcausalet", "required": 1, "value": "<?php echo $id_causalet; ?>", "ajax-source": "causali", "icon-after": "add|<?php echo (new Module())->getByName('Causali')->id_record; ?>|||" ]}
</div>
<div class="col-md-6">

View File

@ -24,6 +24,7 @@ use Modules\DDT\DDT;
use Modules\Fatture\Fattura;
use Modules\Fatture\Stato;
use Modules\Fatture\Tipo;
use Models\Module;
if ($module['name'] == 'Ddt di vendita') {
$dir = 'entrata';
@ -34,7 +35,7 @@ if ($module['name'] == 'Ddt di vendita') {
}
// Segmenti
$id_fatture = Modules::get($module_fatture)['id'];
$id_fatture = (new Module())->getByName($module_fatture)->id_record;
if (!isset($_SESSION['module_'.$id_fatture]['id_segment'])) {
$segments = Modules::getSegments($id_fatture);
$_SESSION['module_'.$id_fatture]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null;

View File

@ -21,7 +21,7 @@ use Models\Module;
include_once __DIR__.'/../../core.php';
$id_module_collegamento = $ddt->direzione == 'entrata' ? Module::pool('Ddt di acquisto')->id : Module::pool('Ddt di vendita')->id;
$id_module_collegamento = $ddt->direzione == 'entrata' ? (new Module())->getByName('Ddt di acquisto')->id_record : (new Module())->getByName('Ddt di vendita')->id_record;
// Informazioni sui movimenti interni
if (!empty($ddt->id_ddt_trasporto_interno)) {

View File

@ -21,13 +21,14 @@ include_once __DIR__.'/../../core.php';
use Modules\DDT\DDT;
use Modules\Fatture\Fattura;
use Models\Module;
$documento = DDT::find($id_record);
$tipo_documento_finale = Fattura::class;
$module = Modules::get($id_module);
$module = Module::find($id_module);
if ($module['name'] == 'Ddt di vendita') {
if ($module->name == 'Ddt di vendita') {
$final_module = 'Fatture di vendita';
$dir = 'entrata';
} else {

View File

@ -19,14 +19,16 @@
use Modules\Anagrafiche\Anagrafica;
use Modules\Anagrafiche\Sede;
use Models\Module;
use Models\Plugin;
include_once __DIR__.'/../../core.php';
$block_edit = $record['flag_completato'];
$module = Modules::get($id_module);
$module = Module::find($id_module);
if ($module['name'] == 'Ddt di acquisto') {
if ($module->name == 'Ddt di acquisto') {
$dir = 'uscita';
} else {
$dir = 'entrata';
@ -166,8 +168,8 @@ echo '
// Conteggio numero articoli ddt in uscita
$articolo = $dbo->fetchArray('SELECT `mg_articoli`.`id` FROM ((`mg_articoli` INNER JOIN `dt_righe_ddt` ON `mg_articoli`.`id`=`dt_righe_ddt`.`idarticolo`) INNER JOIN `dt_ddt` ON `dt_ddt`.`id`=`dt_righe_ddt`.`idddt`) WHERE `dt_ddt`.`id`='.prepare($id_record));
$id_modulo_anagrafiche = Modules::get('Anagrafiche')['id'];
$id_plugin_sedi = Plugins::get('Sedi')['id'];
$id_modulo_anagrafiche = (new Module())->getByName('Anagrafiche')->id_record;
$id_plugin_sedi = (new Plugin())->getByName('Sedi')->id_record;
if ($dir == 'entrata') {
echo '
<div class="col-md-6">
@ -347,7 +349,7 @@ echo '
<div class="panel-body">
<div class="row">
<div class="col-md-3">
{[ "type": "select", "label": "<?php echo tr('Aspetto beni'); ?>", "name": "idaspettobeni", "value": "$idaspettobeni$", "ajax-source": "aspetto-beni", "icon-after": "add|<?php echo Modules::get('Aspetto beni')['id']; ?>|||<?php echo $block_edit ? 'disabled' : ''; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Aspetto beni'); ?>", "name": "idaspettobeni", "value": "$idaspettobeni$", "ajax-source": "aspetto-beni", "icon-after": "add|<?php echo (new Module())->getByName('Aspetto beni')->id_record;; ?>|||<?php echo $block_edit ? 'disabled' : ''; ?>" ]}
</div>
<div class="col-md-3">
@ -356,7 +358,7 @@ echo '
echo Modules::link('Causali', $record['idcausalet'], null, null, 'class="pull-right"');
}
?>
{[ "type": "select", "label": "<?php echo tr('Causale trasporto'); ?>", "name": "idcausalet", "required": 1, "value": "$idcausalet$", "ajax-source": "causali", "icon-after": "add|<?php echo Modules::get('Causali')['id']; ?>|||<?php echo $block_edit ? 'disabled' : ''; ?>", "help": "<?php echo tr('Definisce la causale del trasporto'); ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Causale trasporto'); ?>", "name": "idcausalet", "required": 1, "value": "$idcausalet$", "ajax-source": "causali", "icon-after": "add|<?php echo(new Module())->getByName('Causali')->id_record;; ?>|||<?php echo $block_edit ? 'disabled' : ''; ?>", "help": "<?php echo tr('Definisce la causale del trasporto'); ?>" ]}
</div>
<div class="col-md-3">
@ -386,7 +388,7 @@ $esterno = $dbo->selectOne('dt_spedizione', 'esterno', [
'id' => $record['idspedizione'],
])['esterno'];
?>
{[ "type": "select", "label": "<?php echo tr('Vettore'); ?>", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "disabled": <?php echo empty($esterno) || (!empty($esterno) && !empty($record['idvettore'])) ? 1 : 0; ?>, "required": <?php echo !empty($esterno) ?: 0; ?>, "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=Vettore&readonly_tipo=1|btn_idvettore|<?php echo ($esterno and (intval(!$record['flag_completato']) || empty($record['idvettore']))) ? '' : 'disabled'; ?>", "class": "<?php echo empty($record['idvettore']) ? 'unblockable' : ''; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Vettore'); ?>", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "disabled": <?php echo empty($esterno) || (!empty($esterno) && !empty($record['idvettore'])) ? 1 : 0; ?>, "required": <?php echo !empty($esterno) ?: 0; ?>, "icon-after": "add|<?php echo (new Module())->getByName('Anagrafiche')->id_record;; ?>|tipoanagrafica=Vettore&readonly_tipo=1|btn_idvettore|<?php echo ($esterno and (intval(!$record['flag_completato']) || empty($record['idvettore']))) ? '' : 'disabled'; ?>", "class": "<?php echo empty($record['idvettore']) ? 'unblockable' : ''; ?>" ]}
</div>
<div class="col-md-3">
@ -573,7 +575,7 @@ if (!$block_edit) {
</div>
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": {"permetti_movimento_a_zero": '.($dir == 'entrata' ? 0 : 1).', "idsede_partenza": '.intval($ddt->idsede_partenza).', "idsede_destinazione": '.intval($ddt->idsede_destinazione).', "idanagrafica": '.$ddt->idanagrafica.', "dir": "'.$dir.'", "idagente": '.$ddt->idagente.'}, "icon-after": "add|'.Modules::get('Articoli')['id'].'" ]}
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": {"permetti_movimento_a_zero": '.($dir == 'entrata' ? 0 : 1).', "idsede_partenza": '.intval($ddt->idsede_partenza).', "idsede_destinazione": '.intval($ddt->idsede_destinazione).', "idanagrafica": '.$ddt->idanagrafica.', "dir": "'.$dir.'", "idagente": '.$ddt->idagente.'}, "icon-after": "add|'.(new Module())->getByName('Articoli')->id_record.'" ]}
</div>
<div class="col-md-3" style="margin-top: 25px">

View File

@ -32,7 +32,7 @@ include_once __DIR__.'/../../core.php';
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Modulo del template'); ?>", "name": "module", "required": 1 , "values": "query=SELECT id, title AS descrizione FROM zz_modules WHERE enabled = 1" ]}
{[ "type": "select", "label": "<?php echo tr('Modulo del template'); ?>", "name": "module", "required": 1 , "values": "query=SELECT `zz_modules`.`id`, `title` AS descrizione FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = <?php echo prepare(setting('Lingua')); ?>) WHERE `enabled` = 1" ]}
</div>
<div class="col-md-6">

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
if (!$record['predefined']) {
$attr = '';
@ -44,7 +45,7 @@ if (!$record['predefined']) {
</div>
<div class="col-md-4">
{[ "type": "span", "label": "<?php echo tr('Modulo del template'); ?>", "name": "module", "values": "query=SELECT `id`, `title` AS descrizione FROM `zz_modules` WHERE `enabled` = 1", "value": "<?php echo Modules::get($record['id_module'])['title']; ?>" ]}
{[ "type": "span", "label": "<?php echo tr('Modulo del template'); ?>", "name": "module", "values": "query=SELECT `zz_modules`.`id`, `title` AS descrizione FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = <?php echo prepare(setting('Lingua')); ?>) WHERE `enabled` = 1", "value": "<?php echo Module::find($record['id_module'])->title; ?>" ]}
</div>
</div>
@ -136,7 +137,7 @@ echo '
<?php
// Variabili utilizzabili
$module = Modules::get($record['id_module']);
$module = Module::find($record['id_module']);
$variables = $module->getPlaceholders($id_record);
echo '

View File

@ -33,10 +33,11 @@ use Modules\Fatture\Tipo;
use Modules\Iva\Aliquota;
use Plugins\ExportFE\Interaction;
use Util\XML;
use Models\Module;
$module = Modules::get($id_module);
$module = Module::find($id_module);
$op = post('op');
if ($module['name'] == 'Fatture di vendita') {
if ($module->name == 'Fatture di vendita') {
$dir = 'entrata';
} else {
$dir = 'uscita';
@ -928,7 +929,7 @@ switch ($op) {
$fattura->id_autofattura = $autofattura->id;
$fattura->save();
$id_module = Modules::get('Fatture di vendita')['id'];
$id_module = (new Module())->getByName('Fatture di vendita')->id_record;
$id_record = $autofattura->id;
break;

View File

@ -18,10 +18,11 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
$module = Modules::get($id_module);
$module = Module::find($id_module);
if ($module['name'] == 'Fatture di vendita') {
if ($module->name == 'Fatture di vendita') {
$dir = 'entrata';
$tipo_anagrafica = tr('Cliente');
} else {
@ -64,7 +65,7 @@ $idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "id": "idanagrafica_add", "required": 1, "ajax-source": "<?php echo $module['name'] == 'Fatture di vendita' ? 'clienti' : 'fornitori'; ?>", "value": "<?php echo $id_anagrafica; ?>", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=<?php echo $tipo_anagrafica; ?>" ]}
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "id": "idanagrafica_add", "required": 1, "ajax-source": "<?php echo $module->name == 'Fatture di vendita' ? 'clienti' : 'fornitori'; ?>", "value": "<?php echo $id_anagrafica; ?>", "icon-after": "add|<?php echo (new Module())->getByName('Anagrafiche')->id_record; ?>|tipoanagrafica=<?php echo $tipo_anagrafica; ?>" ]}
</div>
</div>

View File

@ -20,9 +20,10 @@
include_once __DIR__.'/../../core.php';
use Modules\Fatture\Fattura;
use Models\Module;
$module = Modules::get($id_module);
$module_interventi = Modules::get('Interventi');
$module = Module::find($id_module);
$module_interventi = (new Module())->getByName('Interventi')->id_record;
if ($module['name'] == 'Fatture di vendita') {
$dir = 'entrata';

View File

@ -20,10 +20,11 @@
include_once __DIR__.'/../../core.php';
use Modules\DDT\DDT;
use Models\Module;
use Models\Plugin;
$module = Modules::get($id_module);
$module_articoli = Modules::get('Articoli');
$plugin_serial = Plugins::get('Serial');
$module = Module::find((new Module())->getByName($id_module)->id_record);
$id_module_articoli = (new Module())->getByName('Articoli')->id_record;
// Controllo sulla direzione monetaria
$uscite = [
@ -32,7 +33,7 @@ $uscite = [
'Ordini fornitore',
];
if (in_array($module['name'], $uscite)) {
if (in_array($module->name, $uscite)) {
$dir = 'uscita';
} else {
$dir = 'entrata';
@ -66,17 +67,17 @@ $data = [
];
// Individuazione delle tabelle interessate
if (in_array($module['name'], ['Fatture di vendita', 'Fatture di acquisto'])) {
if (in_array($module->name, ['Fatture di vendita', 'Fatture di acquisto'])) {
$modulo = 'fat';
} elseif (in_array($module['name'], ['Ddt di vendita', 'Ddt di acquisto'])) {
} elseif (in_array($module->name, ['Ddt di vendita', 'Ddt di acquisto'])) {
$modulo = 'ddt';
$ddt = DDT::find($id_record);
$is_rientrabile = $database->fetchOne('SELECT * FROM `dt_causalet` WHERE `id` = '.prepare($ddt->idcausalet))['is_rientrabile'];
} elseif (in_array($module['name'], ['Ordini cliente', 'Ordini fornitore'])) {
} elseif (in_array($module->name, ['Ordini cliente', 'Ordini fornitore'])) {
$modulo = 'ord';
} elseif ($module['name'] == 'Interventi') {
} elseif ($module->name == 'Interventi') {
$modulo = 'int';
} elseif ($module['name'] == 'Contratti') {
} elseif ($module->name == 'Contratti') {
$modulo = 'con';
} else {
$modulo = 'veb';
@ -195,7 +196,8 @@ if ($dir == 'entrata') {
</div>';
}
$module_fatture = Modules::get('Fatture di acquisto')['id'];
$module_fatture = (new Module())->getByName('Fatture di acquisto')->id_record;
echo '
<br>
<div class="alert alert-warning text-center has_serial hidden">
@ -248,7 +250,7 @@ if ($dir == 'entrata') {
type: "POST",
dataType: "json",
data: {
id_module: "'.$module_articoli->id.'",
id_module: "'.$id_module_articoli.'",
id_record: "'.$rs[0]['idarticolo'].'",
serial_start: input("serial_start").get(),
serial_end: input("serial_end").get(),
@ -273,7 +275,7 @@ echo '
<!-- PULSANTI -->
<div class="row">
<div class="col-md-2">
<button type="button" class="btn btn-info '.($dir == 'uscita' ? 'hidden' : '').'" data-toggle="modal" data-title="'.tr('Aggiungi serial').'" data-href="'.base_path().'/modules/articoli/plugins/articoli.lotti.php?id_module='.$module_articoli->id.'&id_record='.$rs[0]['idarticolo'].'&modal=1"><i class="fa fa-magic"></i> '.tr('Crea').'</button>
<button type="button" class="btn btn-info '.($dir == 'uscita' ? 'hidden' : '').'" data-toggle="modal" data-title="'.tr('Aggiungi serial').'" data-href="'.base_path().'/modules/articoli/plugins/articoli.lotti.php?id_module='.$id_module_articoli.'&id_record='.$rs[0]['idarticolo'].'&modal=1"><i class="fa fa-magic"></i> '.tr('Crea').'</button>
</div>
<div class="col-md-10 text-right">

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../../core.php';
use Models\Module;
$fields = [
'Numero' => 'numero',
@ -49,7 +50,7 @@ foreach ($rs as $r) {
$result = [];
$module = ($r['dir'] == 'uscita') ? 'Fatture di acquisto' : 'Fatture di vendita';
$link_id = Modules::get($module)['id'];
$link_id = (new Module())->getByName($module)->id_record;
$numero = empty($r['numero_esterno']) ? $r['numero'] : $r['numero_esterno'];

View File

@ -29,6 +29,8 @@ use Plugins\ExportFE\FatturaElettronica;
use Plugins\ExportFE\Interaction;
use Plugins\ReceiptFE\Ricevuta;
use Util\Zip;
use Models\Module;
$anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita'));
$stato_emessa = (new Stato())->getByName('Emessa')->id_record;
@ -85,7 +87,7 @@ switch (post('op')) {
delete($file);
}
$module = Modules::get($id_module);
$module = Module::find($id_module);
if ($module['name'] == 'Fatture di vendita') {
$print_name = 'Fattura elettronica di vendita';
@ -748,7 +750,7 @@ $operations['registrazione-contabile'] = [
'title' => tr('Registrazione contabile'),
'type' => 'modal',
'origine' => 'fatture',
'url' => base_path().'/add.php?id_module='.Modules::get('Prima nota')['id'],
'url' => base_path().'/add.php?id_module='.(new Module())->getByName('Prima nota')->id_record,
],
];

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
if ($module->name == 'Fatture di vendita') {
$attributi_visibili = $record['dati_aggiuntivi_fe'] != null || $record['stato'] == 'Bozza';
@ -68,7 +69,7 @@ if (empty($record['is_fiscale'])) {
</button>';
}
$modulo_prima_nota = Modules::get('Prima nota');
$modulo_prima_nota = (new Module())->getByName('Prima nota')->id_record;
$totale_scadenze = $dbo->fetchOne('SELECT SUM(da_pagare - pagato) AS differenza, SUM(da_pagare) AS da_pagare FROM co_scadenziario WHERE iddocumento = '.prepare($id_record));
if (!empty($record['is_fiscale'])) {
$differenza = isset($totale_scadenze) ? $totale_scadenze['differenza'] : 0;
@ -86,7 +87,7 @@ if (!empty($record['is_fiscale'])) {
}
echo '
<a class="btn btn-primary '.(!empty($modulo_prima_nota) && !empty($registrazione_insoluto) ? '' : 'disabled').'" data-href="'.base_path().'/add.php?id_module='.$modulo_prima_nota['id'].'&id_documenti='.$id_record.'&single=1&is_insoluto=1" data-title="'.tr('Registra insoluto').'">
<a class="btn btn-primary '.(!empty($modulo_prima_nota) && !empty($registrazione_insoluto) ? '' : 'disabled').'" data-href="'.base_path().'/add.php?id_module='.$modulo_prima_nota.'&id_documenti='.$id_record.'&single=1&is_insoluto=1" data-title="'.tr('Registra insoluto').'">
<i class="fa fa-ban fa-inverse"></i> '.tr('Registra insoluto').'
</a>';
@ -103,7 +104,7 @@ if (!empty($record['is_fiscale'])) {
}
echo '
<a class="btn btn-primary '.(!empty($modulo_prima_nota) && !empty($registrazione_contabile) ? '' : 'disabled').'" data-href="'.base_path().'/add.php?id_module='.$modulo_prima_nota['id'].'&id_documenti='.$id_record.'&single=1" data-title="'.tr('Registra contabile').'">
<a class="btn btn-primary '.(!empty($modulo_prima_nota) && !empty($registrazione_contabile) ? '' : 'disabled').'" data-href="'.base_path().'/add.php?id_module='.$modulo_prima_nota.'&id_documenti='.$id_record.'&single=1" data-title="'.tr('Registra contabile').'">
<i class="fa fa-euro"></i> '.tr('Registra contabile').'
</a>';

View File

@ -18,8 +18,9 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
$id_module_fatture_vendita = Modules::get('Fatture di vendita')['id'];
$id_module_fatture_vendita = (new Module())->getByName('Fatture di vendita')->id_record;
$id_segment = setting('Sezionale per autofatture di vendita');
echo '

View File

@ -24,6 +24,8 @@ use Modules\Fatture\Gestori\Bollo;
use Modules\Interventi\Intervento;
use Modules\Iva\Aliquota;
use Plugins\ExportFE\Interaction;
use Models\Module;
use Models\Plugin;
include_once __DIR__.'/../../core.php';
@ -264,7 +266,7 @@ $query = 'SELECT *, `colore` AS _bgcolor_, `co_statidocumento_lang`.`name` as de
if (empty($record['is_fiscale'])) {
$query .= " WHERE `name` = 'Bozza'";
$plugin = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name`='Fatturazione Elettronica' AND `idmodule_to` = ".prepare($id_module));
$plugin = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name`='Fatturazione Elettronica' AND `idmodule_to` = ".prepare($id_module));
echo '<script>$("#link-tab_'.$plugin[0]['id'].'").addClass("disabled");</script>';
}
// Forzo il passaggio della fattura da Bozza ad Emessa per il corretto calcolo del numero.
@ -339,8 +341,9 @@ echo '
if (!empty($record['idreferente'])) {
echo Plugins::link('Referenti', $record['idanagrafica'], null, null, 'class="pull-right"');
}
$id_modulo_anagrafiche = (new Module())->getByName('Anagrafiche')->id_record;
echo '
{[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.$record['idsede_destinazione'].'}, "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$record['idanagrafica'].'||'.(intval($block_edit) ? 'disabled' : '').'" ]}
{[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.$record['idsede_destinazione'].'}, "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.(new Plugin())->getByName('Referenti')->id_record.'&id_parent='.$record['idanagrafica'].'||'.(intval($block_edit) ? 'disabled' : '').'" ]}
</div>';
echo '
@ -348,8 +351,7 @@ echo '
<div class="row">';
// Conteggio numero articoli fatture
$articolo = $dbo->fetchArray('SELECT `mg_articoli`.`id` FROM ((`mg_articoli` INNER JOIN `co_righe_documenti` ON `mg_articoli`.`id`=`co_righe_documenti`.`idarticolo`) INNER JOIN `co_documenti` ON `co_documenti`.`id`=`co_righe_documenti`.`iddocumento`) WHERE `co_documenti`.`id`='.prepare($id_record));
$id_modulo_anagrafiche = Modules::get('Anagrafiche')['id'];
$id_plugin_sedi = Plugins::get('Sedi')['id'];
$id_plugin_sedi = (new Plugin())->getByName('Sedi')->id_record;
if ($dir == 'entrata') {
echo '
<div class="col-md-3">
@ -391,19 +393,19 @@ if ($dir == 'entrata') {
<?php if ($record['id_banca_azienda'] != 0) {
echo Modules::link('Banche', $record['id_banca_azienda'], null, null, 'class="pull-right"');
}
$id_module_banche = (new Module())->getByName('Banche')->id_record;
if ($dir == 'entrata') {
echo '
{[ "type": "select", "label": "'.tr('Banca accredito').'", "name": "id_banca_azienda", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "$id_banca_azienda$", "icon-after": "add|'.Modules::get('Banche')['id'].'|id_anagrafica='.$anagrafica_azienda->id.'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}
{[ "type": "select", "label": "'.tr('Banca accredito').'", "name": "id_banca_azienda", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "$id_banca_azienda$", "icon-after": "add|'.$id_module_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}
</div>
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Banca addebito').'", "name": "id_banca_controparte", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $record['idanagrafica']]).', "value": "$id_banca_controparte$", "icon-after": "add|'.Modules::get('Banche')['id'].'|idanagrafica='.$record['idanagrafica'].'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}';
{[ "type": "select", "label": "'.tr('Banca addebito').'", "name": "id_banca_controparte", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $record['idanagrafica']]).', "value": "$id_banca_controparte$", "icon-after": "add|'.$id_module_banche.'|idanagrafica='.$record['idanagrafica'].'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}';
} else {
echo '
{[ "type": "select", "label": "'.tr('Banca accredito').'", "name": "id_banca_controparte", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $record['idanagrafica']]).', "value": "$id_banca_controparte$", "icon-after": "add|'.Modules::get('Banche')['id'].'|idanagrafica='.$record['idanagrafica'].'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}
{[ "type": "select", "label": "'.tr('Banca accredito').'", "name": "id_banca_controparte", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $record['idanagrafica']]).', "value": "$id_banca_controparte$", "icon-after": "add|'.$id_module_banche.'|idanagrafica='.$record['idanagrafica'].'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}
</div>
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Banca addebito').'", "name": "id_banca_azienda", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "$id_banca_azienda$", "icon-after": "add|'.Modules::get('Banche')['id'].'|id_anagrafica='.$anagrafica_azienda->id.'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}';
{[ "type": "select", "label": "'.tr('Banca addebito').'", "name": "id_banca_azienda", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "$id_banca_azienda$", "icon-after": "add|'.$id_module_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}';
}
?>
</div>
@ -515,7 +517,7 @@ if ($dir == 'entrata') {
}
echo '
{[ "type": "select", "label": "'.tr("Dichiarazione d'intento").'", "name": "id_dichiarazione_intento", "help": "'.tr('Elenco delle dichiarazioni d\'intento definite all\'interno dell\'anagrafica del cliente').'.", "ajax-source": "dichiarazioni_intento", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "data": "'.$record['data'].'"},"value": "$id_dichiarazione_intento$", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Dichiarazioni d\'Intento')['id'].'&id_parent='.$record['idanagrafica'].'", "extra": "'.((intval($block_edit)) ? 'disabled' : '').'" ]}
{[ "type": "select", "label": "'.tr("Dichiarazione d'intento").'", "name": "id_dichiarazione_intento", "help": "'.tr('Elenco delle dichiarazioni d\'intento definite all\'interno dell\'anagrafica del cliente').'.", "ajax-source": "dichiarazioni_intento", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "data": "'.$record['data'].'"},"value": "$id_dichiarazione_intento$", "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.(new Plugin())->getByName('Dichiarazioni d\'intento')->id_record.'&id_parent='.$record['idanagrafica'].'", "extra": "'.((intval($block_edit)) ? 'disabled' : '').'" ]}
</div>';
}
echo '
@ -564,11 +566,11 @@ if ($record['descrizione_tipo'] == 'Fattura accompagnatoria di vendita') {
<div class="box-body">
<div class="row">
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Aspetto beni').'", "name": "idaspettobeni", "placeholder": "", "ajax-source": "aspetto-beni", "value": "$idaspettobeni$", "icon-after": "add|'.Modules::get('Aspetto beni')['id'].'||'.(($record['stato'] != 'Bozza') ? 'disabled' : '').'" ]}
{[ "type": "select", "label": "'.tr('Aspetto beni').'", "name": "idaspettobeni", "placeholder": "", "ajax-source": "aspetto-beni", "value": "$idaspettobeni$", "icon-after": "add|'.(new Module())->getByName('Aspetto beni')->id_record.'||'.(($record['stato'] != 'Bozza') ? 'disabled' : '').'" ]}
</div>
<div class="col-md-3">
{[ "type": "select", "label": "'.tr('Causale trasporto').'", "name": "idcausalet", "placeholder": "", "ajax-source": "causali", "value": "$idcausalet$", "icon-after": "add|'.Modules::get('Causali')['id'].'||'.(($record['stato'] != 'Bozza') ? 'disabled' : '').'" ]}
{[ "type": "select", "label": "'.tr('Causale trasporto').'", "name": "idcausalet", "placeholder": "", "ajax-source": "causali", "value": "$idcausalet$", "icon-after": "add|'.(new Module())->getByName('Causali')->id_record.'||'.(($record['stato'] != 'Bozza') ? 'disabled' : '').'" ]}
</div>
<div class="col-md-3">
@ -593,7 +595,7 @@ if ($record['descrizione_tipo'] == 'Fattura accompagnatoria di vendita') {
'id' => $record['idspedizione'],
])['esterno']; ?>
{[ "type": "select", "label": "<?php echo tr('Vettore'); ?>", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "disabled": <?php echo empty($esterno) || (!empty($esterno) && !empty($record['idvettore'])) ? 1 : 0; ?>, "required": <?php echo !empty($esterno) ?: 0; ?>, "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=Vettore&readonly_tipo=1|btn_idvettore|<?php echo ($esterno and (intval(!$record['flag_completato']) || empty($record['idvettore']))) ? '' : 'disabled'; ?>", "class": "<?php echo empty($record['idvettore']) ? 'unblockable' : ''; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Vettore'); ?>", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "disabled": <?php echo empty($esterno) || (!empty($esterno) && !empty($record['idvettore'])) ? 1 : 0; ?>, "required": <?php echo !empty($esterno) ?: 0; ?>, "icon-after": "add|<?php echo $id_modulo_anagrafiche ?>|tipoanagrafica=Vettore&readonly_tipo=1|btn_idvettore|<?php echo ($esterno and (intval(!$record['flag_completato']) || empty($record['idvettore']))) ? '' : 'disabled'; ?>", "class": "<?php echo empty($record['idvettore']) ? 'unblockable' : ''; ?>" ]}
</div>
<script>
@ -837,7 +839,7 @@ if (!$block_edit) {
</div>
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": {"permetti_movimento_a_zero": '.($dir == 'entrata' ? 0 : 1).', "idsede_partenza": '.intval($fattura->idsede_partenza).', "idsede_destinazione": '.intval($fattura->idsede_destinazione).', "idanagrafica": '.$fattura->idanagrafica.', "dir": "'.$dir.'", "idagente": '.$fattura->idagente.'}, "icon-after": "add|'.Modules::get('Articoli')['id'].'" ]}
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": {"permetti_movimento_a_zero": '.($dir == 'entrata' ? 0 : 1).', "idsede_partenza": '.intval($fattura->idsede_partenza).', "idsede_destinazione": '.intval($fattura->idsede_destinazione).', "idanagrafica": '.$fattura->idanagrafica.', "dir": "'.$dir.'", "idagente": '.$fattura->idagente.'}, "icon-after": "add|'.(new Module())->getByName('Articoli')->id_record.'" ]}
</div>
<div class="col-md-3" style="margin-top: 25px">

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
?><form action="" method="post" id="add-form">
<input type="hidden" name="op" value="add">
@ -30,7 +31,7 @@ include_once __DIR__.'/../../core.php';
</div>
<div class='row'>
<div class="col-md-6">
{[ "type": "select", "label": "Categoria", "name": "idcategoria", "required": 1, "ajax-source": "categorie_documenti" , "value": "", "extra": "", "icon-after": "add|<?php echo Modules::get('Categorie documenti')['id']; ?>" ]}
{[ "type": "select", "label": "Categoria", "name": "idcategoria", "required": 1, "ajax-source": "categorie_documenti" , "value": "", "extra": "", "icon-after": "add|<?php echo (new Module())->getByName('Categorie documenti')->id_record; ?>" ]}
</div>
<div class="col-md-6">

View File

@ -20,6 +20,6 @@
include_once __DIR__.'/../../core.php';
if (isset($id_record)) {
$id_module = Modules::get('Articoli')['id'];
$id_module = (new Module())->getByName('Articoli')->id_record;
redirect(base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record);
}

View File

@ -20,11 +20,12 @@
include_once __DIR__.'/../../core.php';
use Modules\Checklists\Check;
use Models\Module;
$op = post('op');
$upload_dir = base_dir().'/files/'.Modules::get('Impianti')['directory'];
$modulo_categorie_impianti = Modules::get('Categorie impianti');
$upload_dir = base_dir().'/files/'.Module::find((new Module())->getByName('Anagrafiche')->id_record)->directory;
$id_modulo_categorie_impianti = (new Module())->getByName('Categorie impianti')->id_record;
switch ($op) {
// Aggiorno informazioni di base impianto
@ -117,7 +118,7 @@ switch ($op) {
$id_record = $dbo->lastInsertedID();
$checks_categoria = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($modulo_categorie_impianti['id']).' AND id_record = '.prepare($id_categoria));
$checks_categoria = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($id_modulo_categorie_impianti).' AND id_record = '.prepare($id_categoria));
foreach ($checks_categoria as $check_categoria) {
$id_parent_new = null;
if ($check_categoria['id_parent']) {
@ -189,7 +190,7 @@ switch ($op) {
'id_record' => $id_record,
]);
$checks_categoria = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($modulo_categorie_impianti['id']).' AND id_record = '.prepare(post('id_categoria')));
$checks_categoria = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($id_modulo_categorie_impianti).' AND id_record = '.prepare(post('id_categoria')));
foreach ($checks_categoria as $check_categoria) {
$id_parent_new = null;
if ($check_categoria['id_parent']) {

View File

@ -18,9 +18,11 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
$id_anagrafica = filter('id_anagrafica');
$id_modulo_anagrafiche = (new Module())->getByName('Anagrafiche')->id_record;
$id_modulo_categorie_impianti = (new Module())->getByName('Categorie impianti')->id_record;
?><form action="" method="post" id="add-form">
<input type="hidden" name="op" value="add">
<input type="hidden" name="backto" value="record-edit">
@ -37,24 +39,24 @@ $id_anagrafica = filter('id_anagrafica');
<div class="row">
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "id": "idanagrafica_impianto", "required": 1, "value": "<?php echo $id_anagrafica; ?>", "ajax-source": "clienti", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=Cliente&readonly_tipo=1||<?php echo !empty($id_anagrafica) ? 'disabled' : ''; ?>", "readonly": "<?php echo !empty($id_anagrafica) ? 1 : 0; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "id": "idanagrafica_impianto", "required": 1, "value": "<?php echo $id_anagrafica; ?>", "ajax-source": "clienti", "icon-after": "add|<?php echo $id_modulo_anagrafiche; ?>|tipoanagrafica=Cliente&readonly_tipo=1||<?php echo !empty($id_anagrafica) ? 'disabled' : ''; ?>", "readonly": "<?php echo !empty($id_anagrafica) ? 1 : 0; ?>" ]}
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede", "value": "$idsede$", "ajax-source": "sedi", "select-options": <?php echo json_encode(['idanagrafica' => $id_anagrafica]); ?>, "placeholder": "Sede legale" ]}
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Tecnico predefinito'); ?>", "name": "idtecnico", "ajax-source": "tecnici", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=Tecnico&readonly_tipo=1" ]}
{[ "type": "select", "label": "<?php echo tr('Tecnico predefinito'); ?>", "name": "idtecnico", "ajax-source": "tecnici", "icon-after": "add|<?php echo $id_modulo_anagrafiche; ?>|tipoanagrafica=Tecnico&readonly_tipo=1" ]}
</div>
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Categoria'); ?>", "name": "id_categoria", "required": 0, "ajax-source": "categorie_imp", "icon-after": "add|<?php echo Modules::get('Categorie impianti')['id']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Categoria'); ?>", "name": "id_categoria", "required": 0, "ajax-source": "categorie_imp", "icon-after": "add|<?php echo $id_modulo_categorie_impianti; ?>" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Sottocategoria'); ?>", "name": "id_sottocategoria", "id": "sottocategoria_add", "ajax-source": "sottocategorie_imp", "icon-after": "add|<?php echo Modules::get('Categorie impianti')['id']; ?>||hide" ]}
{[ "type": "select", "label": "<?php echo tr('Sottocategoria'); ?>", "name": "id_sottocategoria", "id": "sottocategoria_add", "ajax-source": "sottocategorie_imp", "icon-after": "add|<?php echo $id_modulo_categorie_impianti; ?>||hide" ]}
</div>
</div>

View File

@ -18,8 +18,9 @@
*/
include_once __DIR__.'/../../../core.php';
use Models\Module;
$link_id = Modules::get('Impianti')['id'];
$link_id = (new Module())->getByName('Impianti')->id_record;
$fields = [
'Matricola' => 'matricola',

View File

@ -18,6 +18,9 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
$id_modulo_categorie_impianti = (new Module())->getByName('Categorie Impianti')->id_record;
$img = null;
if (!empty($record['immagine'])) {
@ -70,11 +73,11 @@ if (!empty($record['immagine'])) {
<div class="col-md-6">
<?php echo (!empty($record['id_categoria'])) ?
Modules::link('Categorie impianti', $record['id_categoria'], null, null, 'class="pull-right"') : ''; ?>
{[ "type": "select", "label": "<?php echo tr('Categoria'); ?>", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie_imp", "icon-after": "add|<?php echo Modules::get('Categorie impianti')['id']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Categoria'); ?>", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie_imp", "icon-after": "add|<?php echo $id_modulo_categorie_impianti; ?>" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Sottocategoria'); ?>", "name": "id_sottocategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie_imp", "select-options": <?php echo json_encode(['id_categoria' => $record['id_categoria']]); ?>, "icon-after": "add|<?php echo Modules::get('Categorie impianti')['id']; ?>|id_original=<?php echo $record['id_categoria']; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Sottocategoria'); ?>", "name": "id_sottocategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie_imp", "select-options": <?php echo json_encode(['id_categoria' => $record['id_categoria']]); ?>, "icon-after": "add|<?php echo $id_modulo_categorie_impianti; ?>|id_original=<?php echo $record['id_categoria']; ?>" ]}
</div>
</div>
</div>

View File

@ -20,10 +20,11 @@
include_once __DIR__.'/../../../core.php';
use Modules\Checklists\Check;
use Models\Module;
$matricole = (array) post('matricole');
$modulo_impianti = Modules::get('Impianti');
$checklist_module = Modules::get('Checklists');
$id_modulo_impianti = (new Module())->getByName('Impianti')->id_record;
$modulo_checklist = Module::find((new Module())->getByName('Checklists')->id_record);
// Salvo gli impianti selezionati
if (filter('op') == 'link_impianti') {
@ -37,7 +38,7 @@ if (filter('op') == 'link_impianti') {
Check::deleteLinked([
'id_module' => $id_module,
'id_record' => $id_record,
'id_module_from' => $modulo_impianti['id'],
'id_module_from' => $id_modulo_impianti,
'id_record_from' => $matricola,
]);
@ -54,14 +55,14 @@ if (filter('op') == 'link_impianti') {
if (!in_array($matricola, $matricole_old)) {
$dbo->query('INSERT INTO my_impianti_interventi(idimpianto, idintervento) VALUES('.prepare($matricola).', '.prepare($id_record).')');
$checks_impianti = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($modulo_impianti['id']).' AND id_record = '.prepare($matricola));
$checks_impianti = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($id_modulo_impianti).' AND id_record = '.prepare($matricola));
foreach ($checks_impianti as $check_impianto) {
$id_parent_new = null;
if ($check_impianto['id_parent']) {
$parent = $dbo->selectOne('zz_checks', '*', ['id' => $check_impianto['id_parent']]);
$id_parent_new = $dbo->selectOne('zz_checks', '*', ['content' => $parent['content'], 'id_module' => $id_module, 'id_record' => $id_record])['id'];
}
$check = Check::build($user, $structure, $id_record, $check_impianto['content'], $id_parent_new, $check_impianto['is_titolo'], $check_impianto['order'], $modulo_impianti['id'], $matricola);
$check = Check::build($user, $structure, $id_record, $check_impianto['content'], $id_parent_new, $check_impianto['is_titolo'], $check_impianto['order'], $id_modulo_impianti, $matricola);
$check->id_module = $id_module;
$check->id_plugin = $id_plugin;
$check->note = $check_impianto['note'];
@ -111,7 +112,7 @@ echo '
<input type="hidden" name="backto" value="record-edit">
<div class="row">
<div class="col-md-12">
{[ "type": "select", "name": "matricole[]", "label": "'.tr('Impianti').'", "multiple": 1, "value": "'.implode(',', $impianti).'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.($record['idsede_destinazione'] ?: '""').'}, "extra": "'.$readonly.'", "icon-after": "add|'.$modulo_impianti['id'].'|id_anagrafica='.$record['idanagrafica'].'" ]}
{[ "type": "select", "name": "matricole[]", "label": "'.tr('Impianti').'", "multiple": 1, "value": "'.implode(',', $impianti).'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.($record['idsede_destinazione'] ?: '""').'}, "extra": "'.$readonly.'", "icon-after": "add|'.$id_modulo_impianti.'|id_anagrafica='.$record['idanagrafica'].'" ]}
</div>
</div>
<div class="row">
@ -143,7 +144,7 @@ if (!empty($impianti)) {
$impianti_collegati = $dbo->fetchArray('SELECT * FROM my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto = my_impianti.id WHERE idintervento = '.prepare($id_record));
foreach ($impianti_collegati as $impianto) {
$checks = Check::where('id_module_from', $modulo_impianti['id'])->where('id_record_from', $impianto['id'])->where('id_module', $id_module)->where('id_record', $id_record)->where('id_parent', null)->get();
$checks = Check::where('id_module_from', $id_modulo_impianti)->where('id_record_from', $impianto['id'])->where('id_module', $id_module)->where('id_record', $id_record)->where('id_parent', null)->get();
$type = 'muted';
$class = 'disabled';
@ -251,7 +252,7 @@ for(i=0; i<sortable_table; i++){
let order = $(this).find(".sonof_"+sonof+"[data-id]").toArray().map(a => $(a).data("id"))
$.post("'.$checklist_module->fileurl('ajax.php').'", {
$.post("'.$modulo_checklist->fileurl('ajax.php').'", {
op: "update_position",
order: order.join(","),
});
@ -264,7 +265,7 @@ $("textarea[name=\'note_checklist\']").keyup(function() {
});
function saveNota(id) {
$.post("'.$checklist_module->fileurl('ajax.php').'", {
$.post("'.$modulo_checklist->fileurl('ajax.php').'", {
op: "save_note",
note: $("#note_" + id).val(),
id: id
@ -277,7 +278,7 @@ function saveNota(id) {
$(".check-impianto .checkbox").click(function(){
if($(this).is(":checked")){
$.post("'.$checklist_module->fileurl('ajax.php').'", {
$.post("'.$modulo_checklist->fileurl('ajax.php').'", {
op: "save_checkbox",
id: $(this).attr("data-id"),
},function(result){
@ -297,7 +298,7 @@ $(".check-impianto .checkbox").click(function(){
'_DATE_' => dateFormat(date('Y-m-d')).' '.date('H:i'),
]).'");
}else{
$.post("'.$checklist_module->fileurl('ajax.php').'", {
$.post("'.$modulo_checklist->fileurl('ajax.php').'", {
op: "remove_checkbox",
id: $(this).attr("data-id"),
},function(result){
@ -318,7 +319,7 @@ $(".check-impianto .checkbox").click(function(){
function delete_check(id){
if(confirm("Eliminare questa checklist?")){
$.post("'.$checklist_module->fileurl('ajax.php').'", {
$.post("'.$modulo_checklist->fileurl('ajax.php').'", {
op: "delete_check",
id: id,
}, function(){
@ -328,7 +329,7 @@ function delete_check(id){
}
function edit_check(id){
launch_modal("Modifica checklist", "'.$checklist_module->fileurl('components/edit-check.php').'?id_record="+id, 1);
launch_modal("Modifica checklist", "'.$modulo_checklist->fileurl('components/edit-check.php').'?id_record="+id, 1);
}
</script>';

View File

@ -25,6 +25,7 @@ use Modules\Anagrafiche\Anagrafica;
use Modules\Anagrafiche\Sede;
use Modules\Impianti\Categoria;
use Modules\Impianti\Impianto;
use Models\Module;
/**
* Struttura per la gestione delle operazioni di importazione (da CSV) degli Impianti.
@ -163,7 +164,7 @@ class CSV extends CSVImporter
if (!empty($file_content)) {
if ($record['import_immagine'] == 2 || $record['import_immagine'] == 4) {
\Uploads::deleteLinked([
'id_module' => \Modules::get('Impianti')['id'],
'id_module' => Module::find('Impianti')->id,
'id_record' => $impianto->id,
]);
@ -180,7 +181,7 @@ class CSV extends CSVImporter
'name' => 'Immagine',
'category' => 'Immagini',
'original_name' => $name,
'id_module' => \Modules::get('Impianti')['id'],
'id_module' => Module::find('Impianti')->id,
'id_record' => $impianto->id,
], [
'thumbnails' => true,

View File

@ -18,10 +18,11 @@
*/
use Modules\Importazione\Import;
use Models\Module;
include_once __DIR__.'/../../core.php';
$modulo_import = Modules::get($id_module);
$modulo_import = Module::find($id_module);
switch (filter('op')) {
case 'add':

View File

@ -39,8 +39,9 @@ use Modules\TipiIntervento\Tipo as TipoSessione;
use Plugins\ComponentiImpianti\Componente;
use Plugins\ListinoClienti\DettaglioPrezzo;
use Plugins\PianificazioneInterventi\Promemoria;
use Models\Module;
$modulo_impianti = Modules::get('Impianti');
$id_modulo_impianti = (new Module())->getByName('Impianti')->id_record;
$plugin_impianti = (new Plugin())->getByName('Impianti')->id_record;
switch (post('op')) {
@ -235,14 +236,14 @@ switch (post('op')) {
'idimpianto' => $impianto,
]);
$checks_impianti = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($modulo_impianti['id']).' AND id_record = '.prepare($impianto));
$checks_impianti = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($id_modulo_impianti).' AND id_record = '.prepare($impianto));
foreach ($checks_impianti as $check_impianto) {
$id_parent_new = null;
if ($check_impianto['id_parent']) {
$parent = $dbo->selectOne('zz_checks', '*', ['id' => $check_impianto['id_parent']]);
$id_parent_new = $dbo->selectOne('zz_checks', '*', ['content' => $parent['content'], 'id_module' => $id_module, 'id_record' => $id_record])['id'];
}
$check = Check::build($user, $structure, $id_record, $check_impianto['content'], $id_parent_new, $check_impianto['is_titolo'], $check_impianto['order'], $modulo_impianti['id'], $impianto);
$check = Check::build($user, $structure, $id_record, $check_impianto['content'], $id_parent_new, $check_impianto['is_titolo'], $check_impianto['order'], $id_modulo_impianti, $impianto);
$check->id_module = $id_module;
$check->id_plugin = $plugin_impianti;
$check->note = $check_impianto['note'];

View File

@ -17,8 +17,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
use Modules\Interventi\Intervento;
use Models\Module;
use Models\Plugin;
include_once __DIR__.'/../../core.php';
// Lettura dei parametri di interesse
@ -29,8 +29,8 @@ $descrizione = filter('descrizione');
$id_tipo = filter('id_tipo');
$origine_dashboard = get('ref') == 'dashboard' ? true : false;
$module_anagrafiche = Modules::get('Anagrafiche');
$id_plugin_sedi = Plugins::get('Sedi')['id'];
$id_modulo_anagrafiche = (new Module())->getByName('Anagrafiche')->id_record;
$id_plugin_sedi = (new Plugin())->getByName('Sedi')->id_record;
// Calcolo dell'orario di inizio e di fine sulla base delle informazioni fornite
$orario_inizio = filter('orario_inizio');
@ -156,11 +156,11 @@ if (!empty($id_intervento)) {
echo '
<div class="row">
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Cliente').'", "name": "idanagrafica", "required": 1, "value": "'.(!$id_cliente ? $id_anagrafica : $id_cliente).'", "ajax-source": "clienti", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Cliente&readonly_tipo=1", "readonly": "'.((empty($id_anagrafica) && empty($id_cliente)) ? 0 : 1).'" ]}
{[ "type": "select", "label": "'.tr('Cliente').'", "name": "idanagrafica", "required": 1, "value": "'.(!$id_cliente ? $id_anagrafica : $id_cliente).'", "ajax-source": "clienti", "icon-after": "add|'.$id_modulo_anagrafiche.'|tipoanagrafica=Cliente&readonly_tipo=1", "readonly": "'.((empty($id_anagrafica) && empty($id_cliente)) ? 0 : 1).'" ]}
</div>
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Sede destinazione').'", "name": "idsede_destinazione", "value": "'.$id_sede.'", "ajax-source": "sedi", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.$module_anagrafiche['id'].'|id_plugin='.$id_plugin_sedi.'&id_parent='.$id_anagrafica.'" ]}
{[ "type": "select", "label": "'.tr('Sede destinazione').'", "name": "idsede_destinazione", "value": "'.$id_sede.'", "ajax-source": "sedi", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.$id_plugin_sedi.'&id_parent='.$id_anagrafica.'" ]}
</div>
<div class="col-md-4">
@ -170,7 +170,7 @@ echo '
<div class="row">
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Impianto').'", "multiple": 1, "name": "idimpianti[]", "value": "'.$impianti_collegati.'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.($id_anagrafica ?: '""').', "idsede_destinazione": '.($id_sede ?: '""').'}, "icon-after": "add|'.Modules::get('Impianti')['id'].'|id_anagrafica='.$id_anagrafica.'" ]}
{[ "type": "select", "label": "'.tr('Impianto').'", "multiple": 1, "name": "idimpianti[]", "value": "'.$impianti_collegati.'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.($id_anagrafica ?: '""').', "idsede_destinazione": '.($id_sede ?: '""').'}, "icon-after": "add|'.(new Module())->getByName('Impianti')->id_record.'|id_anagrafica='.$id_anagrafica.'" ]}
</div>
<div class="col-md-4">
@ -188,7 +188,7 @@ echo '
</div>
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$id_contratto.'", "ajax-source": "contratti", "readonly": "'.(empty($id_contratto) ? 0 : 1).'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.Modules::get('Contratti')['id'].'|pianificabile=1&idanagrafica='.$id_anagrafica.'" ]}
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$id_contratto.'", "ajax-source": "contratti", "readonly": "'.(empty($id_contratto) ? 0 : 1).'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.(new Module())->getByName('Contratti')->id_record.'|pianificabile=1&idanagrafica='.$id_anagrafica.'" ]}
</div>
<div class="col-md-4">
@ -272,7 +272,7 @@ echo '
</div>
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "ajax-source": "referenti", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica, 'idclientefinale' => $id_cliente_finale]).', "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$id_anagrafica.'" ]}
{[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "ajax-source": "referenti", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica, 'idclientefinale' => $id_cliente_finale]).', "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|id_plugin='.(new Plugin())->getByName('Referenti')->id_record.'&id_parent='.$id_anagrafica.'" ]}
</div>
</div>
</div>
@ -294,7 +294,7 @@ echo '
<div class="box-body">
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "'.$tecnici_assegnati.'", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Tecnico&readonly_tipo=1", "readonly": '.intval($id_intervento).' ]}
{[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "'.$tecnici_assegnati.'", "icon-after": "add|'.$id_modulo_anagrafiche.'|tipoanagrafica=Tecnico&readonly_tipo=1", "readonly": '.intval($id_intervento).' ]}
<div class="row">
<div class="col-md-12">
<div class="btn-group" >
@ -343,7 +343,7 @@ echo '
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Tecnici').'", "multiple": "1", "name": "idtecnico[]", "required": '.($origine_dashboard ? 1 : 0).', "ajax-source": "tecnici", "value": "'.$id_tecnico.'", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Tecnico&readonly_tipo=1||'.(empty($id_tecnico) ? '' : 'disabled').'" ]}
{[ "type": "select", "label": "'.tr('Tecnici').'", "multiple": "1", "name": "idtecnico[]", "required": '.($origine_dashboard ? 1 : 0).', "ajax-source": "tecnici", "value": "'.$id_tecnico.'", "icon-after": "add|'.$id_modulo_anagrafiche.'|tipoanagrafica=Tecnico&readonly_tipo=1||'.(empty($id_tecnico) ? '' : 'disabled').'" ]}
</div>
</div>

View File

@ -16,7 +16,7 @@ $numero_documenti = 5;
switch ($op) {
case 'dettagli':
// Informazioni sui contratti
$modulo_contratti = Module::pool('Contratti');
$modulo_contratti = Module::find((new Module())->getByName('Contratti')->id_record);
if ($modulo_contratti->permission != '-') {
// Contratti attivi per l'anagrafica
$contratti = Contratto::where('idanagrafica', '=', $id_anagrafica)
@ -44,7 +44,7 @@ switch ($op) {
}
// Informazioni sui preventivi
$modulo_preventivi = Module::pool('Preventivi');
$modulo_preventivi = Module::find((new Module())->getByName('Preventivi')->id_record);
if ($modulo_preventivi->permission != '-') {
// Preventivi attivi
$preventivi = Preventivo::where('idanagrafica', '=', $id_anagrafica)
@ -70,7 +70,7 @@ switch ($op) {
}
// Informazioni sui preventivi
$modulo_fatture_vendita = Module::pool('Fatture di vendita');
$modulo_fatture_vendita =Module::find((new Module())->getByName('Fatture di vendita')->id_record);
if ($modulo_fatture_vendita->permission != '-') {
// Fatture attive
$fatture = Fattura::where('idanagrafica', '=', $id_anagrafica)

View File

@ -18,8 +18,9 @@
*/
include_once __DIR__.'/../../../core.php';
use Models\Module;
$link_id = Modules::get('Interventi')['id'];
$link_id = (new Module())->getByName('Interventi')->id_record;
$fields = [
'Codice intervento' => 'codice',

View File

@ -19,6 +19,7 @@
include_once __DIR__.'/../../core.php';
use Models\User;
use Models\Module;
$show_costi = true;
// Limitazione delle azioni dei tecnici
@ -269,7 +270,7 @@ if (!$is_completato) {
</div>
<div class="col-md-offset-4 col-md-4">
{[ "type": "select", "label": "'.tr('Tecnico').'", "name": "nuovo_tecnico", "placeholder": "'.tr('Seleziona un tecnico').'", "ajax-source": "tecnici", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|tipoanagrafica=Tecnico&readonly_tipo=1" ]}
{[ "type": "select", "label": "'.tr('Tecnico').'", "name": "nuovo_tecnico", "placeholder": "'.tr('Seleziona un tecnico').'", "ajax-source": "tecnici", "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|tipoanagrafica=Tecnico&readonly_tipo=1" ]}
</div>
<div class="col-md-2">

View File

@ -28,9 +28,10 @@ use Modules\Fatture\Tipo;
use Modules\Interventi\Intervento;
use Modules\Interventi\Stato;
use Util\Zip;
use Models\Module;
// Segmenti
$id_fatture = Modules::get('Fatture di vendita')['id'];
$id_fatture = (new Module())->getByName('Fatture di vendita')->id_record;
if (!isset($_SESSION['module_'.$id_fatture]['id_segment'])) {
$segments = Modules::getSegments($id_fatture);
$_SESSION['module_'.$id_fatture]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null;

View File

@ -23,10 +23,10 @@ use Modules\DDT\DDT;
use Modules\Fatture\Fattura;
use Modules\Interventi\Intervento;
use Modules\Ordini\Ordine;
use Models\Module;
$documento = Intervento::find($id_record);
$module = Modules::get($documento->module);
$id_module = (new Module())->getByName($documento->module)->id_record;
if (get('documento') == 'fattura') {
$final_module = 'Fatture di vendita';

View File

@ -19,11 +19,13 @@
use Modules\Anagrafiche\Anagrafica;
use Modules\Anagrafiche\Sede;
use Models\Module;
use Models\Plugin;
include_once __DIR__.'/../../core.php';
$block_edit = $record['flag_completato'];
$module_anagrafiche = Modules::get('Anagrafiche');
$id_modulo_anagrafiche = (new Module())->getByName('Anagrafiche')->id_record;
// Verifica aggiuntive sulla sequenzialità dei numeri
$numero_previsto = verifica_numero_intervento($intervento);
@ -96,7 +98,7 @@ echo '
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica'], 'idclientefinale' => $record['idclientefinale'], 'idsede_destinazione' => $record['idsede_destinazione']]).', "readonly": "'.intval($record['flag_completato']).'", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$record['idanagrafica'].'" ]}
{[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica'], 'idclientefinale' => $record['idclientefinale'], 'idsede_destinazione' => $record['idsede_destinazione']]).', "readonly": "'.intval($record['flag_completato']).'", "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.(new Plugin())->getByName('Referenti')->id_record.'&id_parent='.$record['idanagrafica'].'" ]}
</div>
</div>
@ -108,7 +110,7 @@ if (!empty($record['idpreventivo'])) {
'.Modules::link('Preventivi', $record['idpreventivo'], null, null, 'class="pull-right"');
}
echo '
{[ "type": "select", "label": "'.tr('Preventivo').'", "name": "idpreventivo", "value": "'.$record['id_preventivo'].'", "ajax-source": "preventivi", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica']]).', "readonly": "'.$record['flag_completato'].'", "icon-after": "add|'.Modules::get('Preventivi')['id'].'|pianificabile=1&idanagrafica='.$record['idanagrafica'].'" ]}
{[ "type": "select", "label": "'.tr('Preventivo').'", "name": "idpreventivo", "value": "'.$record['id_preventivo'].'", "ajax-source": "preventivi", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica']]).', "readonly": "'.$record['flag_completato'].'", "icon-after": "add|'.(new Module())->getByName('Preventivi')->id_record.'|pianificabile=1&idanagrafica='.$record['idanagrafica'].'" ]}
</div>
<div class="col-md-6">';
@ -121,7 +123,7 @@ if (!empty($record['idcontratto'])) {
}
echo '
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$record['id_contratto'].'", "ajax-source": "contratti", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica']]).', "readonly": "'.$record['flag_completato'].'", "icon-after": "add|'.Modules::get('Contratti')['id'].'|pianificabile=1&idanagrafica='.$record['idanagrafica'].'" ]}
{[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$record['id_contratto'].'", "ajax-source": "contratti", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica']]).', "readonly": "'.$record['flag_completato'].'", "icon-after": "add|'.(new Module())->getByName('Contratti')->id_record.'|pianificabile=1&idanagrafica='.$record['idanagrafica'].'" ]}
<input type="hidden" name="idcontratto_riga" value="'.$idcontratto_riga.'">
</div>
@ -350,7 +352,7 @@ $tecnici_assegnati = $database->fetchArray('SELECT id_tecnico FROM in_interventi
$tecnici_assegnati = array_column($tecnici_assegnati, 'id_tecnico');
echo '
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "'.implode(',', $tecnici_assegnati).'", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Tecnico&readonly_tipo=1" ]}
{[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "'.implode(',', $tecnici_assegnati).'", "icon-after": "add|'.$id_modulo_anagrafiche.'|tipoanagrafica=Tecnico&readonly_tipo=1" ]}
</div>
</div>
@ -529,7 +531,7 @@ if (!$block_edit) {
</div>
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": '.json_encode(['idsede_partenza' => $record['idsede_partenza']]).', "icon-after": "add|'.Modules::get('Articoli')['id'].'" ]}
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": '.json_encode(['idsede_partenza' => $record['idsede_partenza']]).', "icon-after": "add|'.(new Module())->getByName('Articoli')->id_record.'" ]}
</div>
<div class="col-md-4" style="margin-top: 25px">

View File

@ -20,6 +20,7 @@
include_once __DIR__.'/../../core.php';
use Modules\Interventi\Intervento;
use Models\Module;
if (isset($id_record)) {
$intervento = Intervento::find($id_record);
@ -46,7 +47,7 @@ if (isset($id_record)) {
//Pulsante Precedente e Successivo all'interno della scheda attività
// RISULTATI VISIBILI
$structure = Modules::get($id_module);
$structure = Module::find($id_module);
$where = [];

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/init.php';
use Models\Module;
$block_edit = $record['flag_completato'];
$righe = $intervento->getRighe();
@ -92,7 +93,7 @@ foreach ($righe as $riga) {
</small>';
echo '
'.Modules::link($riga->isArticolo() ? Modules::get('Articoli')['id'] : null, $riga->isArticolo() ? $riga['idarticolo'] : null, $descrizione);
'.Modules::link($riga->isArticolo() ? (new Module())->getByName('Articoli')->id_record : null, $riga->isArticolo() ? $riga['idarticolo'] : null, $descrizione);
if ($riga->isArticolo()) {
if (!empty($mancanti)) {

View File

@ -18,6 +18,7 @@
*/
use Modules\Interventi\Intervento;
use Models\Module;
include_once __DIR__.'/../../../core.php';
@ -77,8 +78,8 @@ foreach ($raggruppamenti as $mese => $raggruppamento) {
echo '
<tr id="int_'.$r['id'].'">
<td><a target="_blank" >'.Modules::link(Modules::get('Interventi')['id'], $r['id'], $r['codice']).'</a></td>
<td><a target="_blank" >'.Modules::link(Modules::get('Anagrafiche')['id'], $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'<br><small>Presso: ';
<td><a target="_blank" >'.Modules::link((new Module())->getByName('Interventi')->id_record, $r['id'], $r['codice']).'</a></td>
<td><a target="_blank" >'.Modules::link((new Module())->getByName('Anagrafiche')->id_record, $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'<br><small>Presso: ';
// Sede promemoria
if ($r['idsede'] == '-1') {
echo '- Nessuna -';

View File

@ -20,6 +20,7 @@
include_once __DIR__.'/../../../core.php';
use Modules\Interventi\Stato;
use Models\Module;
$stato = (new Stato())->getByName('TODO')->id_record;
$rs = $dbo->fetchArray('SELECT * FROM `in_interventi` WHERE `in_interventi`.`idstatointervento` = '.prepare($stato).' ORDER BY `data_richiesta` ASC');
@ -41,8 +42,8 @@ if (!empty($rs)) {
echo '
<tr id="int_'.$r['id'].'">
<td><a target="_blank" >'.Modules::link(Modules::get('Interventi')['id'], $r['id'], $r['codice']).'</a></td>
<td><a target="_blank" >'.Modules::link(Modules::get('Anagrafiche')['id'], $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'<br><small>Presso: ';
<td><a target="_blank" >'.Modules::link((new Module())->getByName('Interventi')->id_record, $r['id'], $r['codice']).'</a></td>
<td><a target="_blank" >'.Modules::link((new Module())->getByName('Anagrafiche')->id_record, $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'<br><small>Presso: ';
// Sede promemoria
if ($r['idsede'] == '-1') {
echo '- Nessuna -';

View File

@ -142,7 +142,7 @@ if ($lista) {
<script>
globals.newsletter = {
senza_consenso: "'.$lista->getNumeroDestinatariSenzaConsenso().'",
table_url: "'.Module::pool('Newsletter')->fileurl('ajax/table.php').'?id_list='.$id_record.'",
table_url: "'.Module::find((new Module())->getByName('Newsletter')->id_record)->fileurl('ajax/table.php').'?id_list='.$id_record.'",
};
$(document).ready(function() {

View File

@ -170,7 +170,7 @@ echo '
processing: true,
serverSide: true,
ajax: {
url: "'.Module::pool('Listini cliente')->fileurl('ajax/table.php').'?id_listino='.$id_record.'",
url: "'.Module::find((new Module())->getByName('Listini cliente')->id_record)->fileurl('ajax/table.php').'?id_listino='.$id_record.'",
type: "GET",
dataSrc: "data",
},

View File

@ -20,6 +20,7 @@
include_once __DIR__.'/../../core.php';
use Util\Query;
use Models\Module;
switch (get('op')) {
case 'get_markers':
@ -44,7 +45,7 @@ switch (get('op')) {
$query = 'SELECT *, `in_interventi`.`id` AS idintervento, `an_anagrafiche`.`lat` AS lat_anagrafica, `an_anagrafiche`.`lng` AS lng_anagrafica, `an_anagrafiche`.`indirizzo` AS indirizzo_anagrafica, `an_anagrafiche`.`cap` AS cap_anagrafica, `an_anagrafiche`.`citta` AS citta_anagrafica, `an_anagrafiche`.`provincia` AS provincia_anagrafica, `an_sedi`.`lat` AS lat_sede, `an_sedi`.`lng` AS lng_sede, `an_sedi`.`indirizzo` AS indirizzo_sede, `an_sedi`.`cap` AS cap_sede, `an_sedi`.`citta` AS citta_sede, `an_sedi`.`provincia` AS provincia_sede, `in_statiintervento_lang`.`name` AS stato FROM `in_interventi` INNER JOIN `an_anagrafiche` ON `in_interventi`.`idanagrafica`=`an_anagrafiche`.`idanagrafica` LEFT JOIN `an_sedi` ON `in_interventi`.`idsede_destinazione`=`an_sedi`.`id` INNER JOIN `in_statiintervento` ON `in_interventi`.`idstatointervento`=`in_statiintervento`.`id` LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento_lang`.`id_record` = `in_interventi`.`id` AND `in_statiintervento_lang`.`id_lang`= '.prepare(setting('Lingua')).') LEFT JOIN `in_interventi_tecnici` ON `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id` '.$add_query;
$query = Query::replacePlaceholder($query);
$query = Modules::replaceAdditionals(Modules::get('Interventi')['id'], $query);
$query = Modules::replaceAdditionals((new Module())->getByName('Interventi')->id_record, $query);
$records = $dbo->fetchArray($query);
@ -73,7 +74,7 @@ switch (get('op')) {
if ($lat != '0.00000000' && $lng != '0.00000000') {
$descrizione = '';
$descrizione .= '<i class="fa fa-user"></i> <b>Ragione sociale</b>: <a href="'.$rootdir.'/editor.php?id_module='.Modules::get('Anagrafiche')['id'].'&id_record='.$records[$i]['id'].'" target="_blank" > '.$records[$i]['ragione_sociale'].' <i class="fa fa-external-link"></i> </a>'."\n<br>";
$descrizione .= '<i class="fa fa-user"></i> <b>Ragione sociale</b>: <a href="'.$rootdir.'/editor.php?id_module='.(new Module())->getByName('Anagrafiche')->id_record.'&id_record='.$records[$i]['id'].'" target="_blank" > '.$records[$i]['ragione_sociale'].' <i class="fa fa-external-link"></i> </a>'."\n<br>";
if (!empty($indirizzo)) {
$descrizione .= '<i class="fa fa-map-signs"></i> <b>Indirizzo</b>: '.$indirizzo."\n<br>";
@ -107,7 +108,7 @@ switch (get('op')) {
$descrizione .= '<hr>';
$descrizione .= '<a class="btn btn-info btn-block btn-xs" onclick="window.open(\''.$rootdir.'/editor.php?id_module='.Modules::get('Interventi')['id'].'&id_record='.$records[$i]['idintervento'].'\');">
$descrizione .= '<a class="btn btn-info btn-block btn-xs" onclick="window.open(\''.$rootdir.'/editor.php?id_module='.(new Module())->getByName('Interventi')->id_record.'&id_record='.$records[$i]['idintervento'].'\');">
<i class="fa fa-external-link"></i> Apri attività
</a>';

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
function renderRiga($id, $riga)
{
@ -96,7 +97,7 @@ echo '
</table>';
// Variabili utilizzabili
$variables = include Modules::filepath(Modules::get('Fatture di vendita')['id'], 'variables.php');
$variables = include Modules::filepath((new Module())->getByName('Fatture di vendita')->id_record, 'variables.php');
echo '
<!-- Istruzioni per il contenuto -->

View File

@ -18,6 +18,7 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
function renderRiga($id, $riga)
{
@ -183,7 +184,7 @@ echo '
<?php
// Variabili utilizzabili
$variables = include Modules::filepath(Modules::get('Fatture di vendita')['id'], 'variables.php');
$variables = include Modules::filepath((new Module())->getByName('Fatture di vendita')->id_record, 'variables.php');
echo '
<!-- Istruzioni per il contenuto -->

View File

@ -57,7 +57,7 @@ $destinatari_filtrati = (clone $destinatari)
->skip($start)->take($length)
->get();
$modulo_anagrafiche = Module::pool('Anagrafiche');
$id_modulo_anagrafiche = (new Module())->getByName('Anagrafiche')->id_record;
$righe = [];
foreach ($destinatari_filtrati as $destinatario) {
$origine = $destinatario->getOrigine();
@ -86,7 +86,7 @@ foreach ($destinatari_filtrati as $destinatario) {
'readonly' => '1',
'class' => 'email-mask',
'value' => $origine->email,
'validation' => 'email|'.$modulo_anagrafiche->id.'|'.$destinatario->record_id,
'validation' => 'email|'.$id_modulo_anagrafiche.'|'.$destinatario->record_id,
]) :
'<span class="text-danger"><i class="fa fa-close"></i> '.tr('Indirizzo e-mail mancante').'</span>'
).'

View File

@ -31,10 +31,11 @@ use Modules\Ordini\Ordine;
use Modules\Ordini\Tipo;
use Modules\Preventivi\Preventivo;
use Plugins\ListinoClienti\DettaglioPrezzo;
use Models\Module;
$module = Modules::get($id_module);
$module = Module::find($id_module);
if ($module['name'] == 'Ordini cliente') {
if ($module->name == 'Ordini cliente') {
$dir = 'entrata';
} else {
$dir = 'uscita';

View File

@ -18,10 +18,11 @@
*/
include_once __DIR__.'/../../core.php';
use Models\Module;
$module = Modules::get($id_module);
$module = Module::find($id_module);
if ($module['name'] == 'Ordini cliente') {
if ($module->name == 'Ordini cliente') {
$dir = 'entrata';
$tipo_anagrafica = tr('Cliente');
@ -49,7 +50,7 @@ $id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "required": 1, "value": "<?php echo $id_anagrafica; ?>", "ajax-source": "<?php echo $ajax; ?>", "icon-after": "add|<?php echo Modules::get('Anagrafiche')['id']; ?>|tipoanagrafica=<?php echo $tipo_anagrafica; ?>&readonly_tipo=1" ]}
{[ "type": "select", "label": "<?php echo $tipo_anagrafica; ?>", "name": "idanagrafica", "required": 1, "value": "<?php echo $id_anagrafica; ?>", "ajax-source": "<?php echo $ajax; ?>", "icon-after": "add|<?php echo (new Module())->getByName('Anagrafiche')->id_record; ?>|tipoanagrafica=<?php echo $tipo_anagrafica; ?>&readonly_tipo=1" ]}
</div>
<div class="col-md-4">

Some files were not shown because too many files have changed in this diff Show More