Miglioria gestione traduzioni

This commit is contained in:
Pek5892 2024-04-18 17:44:05 +02:00
parent b3d8779005
commit aa93371e2b
436 changed files with 2497 additions and 1863 deletions

View File

@ -28,7 +28,7 @@ oppure aggiornare alla **v.2.5** di OpenSTAManager.
##### Soluzione
Eseguire a database le seguenti query di allineamento:
```bash
UPDATE `zz_modules` SET `icon` = 'fa fa-exchange' WHERE `name` = 'Causali movimenti';
UPDATE `zz_modules` SET `icon` = 'fa fa-exchange' WHERE `title` = 'Causali movimenti';
ALTER TABLE `zz_groups` ADD `id_module_start` INT NULL AFTER `editable`;
```

View File

@ -42,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_' => '"'.Module::find($id_module)->getTranslation('name').'"',
'_MODULE_' => '"'.Module::find($id_module)->getTranslation('title').'"',
]));
}
@ -67,7 +67,7 @@ if (filter('op') == 'aggiungi-allegato' || filter('op') == 'rimuovi-allegato') {
$upload = Uploads::upload($_FILES['upload'], [
'name' => filter('nome_allegato'),
'category' => filter('categoria'),
'id_module' => (new Module())->getByField('name', 'Gestione documentale', Models\Locale::getPredefined()->id),
'id_module' => (new Module())->getByField('title', 'Gestione documentale', Models\Locale::getPredefined()->id),
'id_record' => $id_record,
]);
@ -221,7 +221,7 @@ elseif (filter('op') == 'modifica-allegato') {
if (sizeof($id_allegati) == 1) {
$upload = Upload::find($id_allegati[0]);
$upload->setTranslation('name', post('nome_allegato'));
$upload->setTranslation('title', post('nome_allegato'));
$upload->category = post('categoria_allegato');
$upload->save();
} else {
@ -492,7 +492,7 @@ if ($structure->permission == 'rw') {
if (post('op') != null) {
$custom_where = !empty($id_plugin) ? '`id_plugin` = '.prepare($id_plugin) : '`id_module` = '.prepare($id_module);
$query = 'SELECT `id`, `html_name` AS `name` FROM `zz_fields` WHERE '.$custom_where;
$query = 'SELECT `id`, `html_name` AS `title` FROM `zz_fields` WHERE '.$custom_where;
$customs = $dbo->fetchArray($query);
if (post('op') != 'delete') {

View File

@ -112,7 +112,7 @@ switch (filter('op')) {
if ($hook->permission != '-') {
$results[] = [
'id' => $hook->id,
'name' => $hook->getTranslation('name'),
'name' => $hook->getTranslation('title'),
];
}
}

View File

@ -61,13 +61,13 @@ $handler->setFormatter($formatter);
$logger->pushHandler($handler);
// Lettura della cache
$ultima_esecuzione = Cache::find((new Cache())->getByField('name', 'Ultima esecuzione del cron', Models\Locale::getPredefined()->id));
$ultima_esecuzione = Cache::find((new Cache())->getByField('title', 'Ultima esecuzione del cron', Models\Locale::getPredefined()->id));
$data = $ultima_esecuzione->content;
$in_esecuzione = Cache::find((new Cache())->getByField('name', 'Cron in esecuzione', Models\Locale::getPredefined()->id));
$cron_id = Cache::find((new Cache())->getByField('name', 'ID del cron', Models\Locale::getPredefined()->id));
$in_esecuzione = Cache::find((new Cache())->getByField('title', 'Cron in esecuzione', Models\Locale::getPredefined()->id));
$cron_id = Cache::find((new Cache())->getByField('title', 'ID del cron', Models\Locale::getPredefined()->id));
$disattiva = Cache::find((new Cache())->getByField('name', 'Disabilita cron', Models\Locale::getPredefined()->id));
$disattiva = Cache::find((new Cache())->getByField('title', 'Disabilita cron', Models\Locale::getPredefined()->id));
if ($disattiva->content || (in_array($_SERVER['HTTP_HOST'], ['localhost', '127.0.0.1']) && !$forza_cron_localhost)) {
return;
}
@ -139,7 +139,7 @@ while (true) {
$task->registerNextExecution($inizio_iterazione);
$task->save();
$logger->info($task->getTranslation('name').': data mancante', [
$logger->info($task->getTranslation('title').': data mancante', [
'timestamp' => $task->next_execution_at->toDateTimeString(),
]);
}
@ -147,7 +147,7 @@ while (true) {
// Esecuzione diretta solo nel caso in cui sia prevista
if ($task->next_execution_at->copy()->addSeconds(20)->greaterThanOrEqualTo($inizio_iterazione) && $task->next_execution_at->lessThanOrEqualTo($adesso->copy()->addseconds(20))) {
// Registrazione dell'esecuzione nei log
$logger->info($task->getTranslation('name').': '.$task->expression);
$logger->info($task->getTranslation('title').': '.$task->expression);
try {
$task->execute();
} catch (Exception $e) {
@ -158,12 +158,12 @@ while (true) {
'trace' => $e->getTraceAsString(),
]);
$logger->error($task->getTranslation('name').': errore');
$logger->error($task->getTranslation('title').': errore');
}
}
// Esecuzione mancata
elseif ($task->next_execution_at->lessThan($inizio_iterazione)) {
$logger->warning($task->getTranslation('name').': mancata', [
$logger->warning($task->getTranslation('title').': mancata', [
'timestamp' => $task->next_execution_at->toDateTimeString(),
]);

View File

@ -173,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 (Module::find((new Module())->getByField('name', 'Account SMS', Models\Locale::getPredefined()->id))) {
if (Module::find((new Module())->getByField('title', 'Account SMS', Models\Locale::getPredefined()->id))) {
echo '
{( "name": "button", "type": "sms", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'", "id_record": "'.$id_record.'" )}';
}

View File

@ -27,7 +27,7 @@ echo '
<p>'.tr('Trascina le colonne per ordinare la struttura della tabella principale, seleziona e deseleziona le colonne per renderle visibili o meno').'.</p>
<div class="sortable">';
$fields = $dbo->fetchArray('SELECT *, (SELECT GROUP_CONCAT(`zz_groups_lang`.`name`) FROM `zz_group_view` INNER JOIN `zz_groups` ON `zz_group_view`.`id_gruppo` = `zz_groups`.`id` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `zz_group_view`.`id_vista` = `zz_views`.`id`) AS gruppi_con_accesso FROM `zz_views` LEFT JOIN `zz_views_lang` ON (`zz_views`.`id` = `zz_views_lang`.`id_record` AND `zz_views_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `id_module`='.prepare($id_module).' ORDER BY `order` ASC');
$fields = $dbo->fetchArray('SELECT *, (SELECT GROUP_CONCAT(`zz_groups_lang`.`title`) FROM `zz_group_view` INNER JOIN `zz_groups` ON `zz_group_view`.`id_gruppo` = `zz_groups`.`id` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `zz_group_view`.`id_vista` = `zz_views`.`id`) AS gruppi_con_accesso FROM `zz_views` LEFT JOIN `zz_views_lang` ON (`zz_views`.`id` = `zz_views_lang`.`id_record` AND `zz_views_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `id_module`='.prepare($id_module).' ORDER BY `order` ASC');
foreach ($fields as $field) {
echo '
<div class="panel panel-default clickable col-md-4" data-id="'.$field['id'].'">

View File

@ -27,7 +27,7 @@ $articolo = $database->fetchOne('SELECT
`mg_articoli`.`id`,
`mg_fornitore_articolo`.`id` AS id_dettaglio_fornitore,
IFNULL(`mg_fornitore_articolo`.`codice_fornitore`, `mg_articoli`.`codice`) AS codice,
IFNULL(`mg_fornitore_articolo`.`descrizione`, `mg_articoli_lang`.`name`) AS descrizione,
IFNULL(`mg_fornitore_articolo`.`descrizione`, `mg_articoli_lang`.`title`) AS descrizione,
IFNULL(`mg_fornitore_articolo`.`qta_minima`, 0) AS qta_minima
FROM `mg_articoli`
LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
@ -56,7 +56,7 @@ echo '
<input type="hidden" name="blocca_minimo_vendita" value="'.setting('Bloccare i prezzi inferiori al minimo di vendita').'">';
// Selezione impianto per gli Interventi
if ($module->getTranslation('name') == 'Interventi') {
if ($module->getTranslation('title') == 'Interventi') {
echo '
<div class="row">
<div class="col-md-12">

View File

@ -18,7 +18,7 @@
*/
// Informazioni aggiuntive per Fatture
if ($module->getTranslation('name') != 'Fatture di acquisto' && $module->getTranslation('name') != 'Fatture di vendita') {
if ($module->getTranslation('title') != 'Fatture di acquisto' && $module->getTranslation('title') != 'Fatture di vendita') {
return;
}

View File

@ -32,7 +32,7 @@ echo '
</div>
</div>';
if ($module->getTranslation('name') == 'Preventivi' && $options['op'] == 'manage_descrizione') {
if ($module->getTranslation('title') == 'Preventivi' && $options['op'] == 'manage_descrizione') {
echo '
<div class="row">
<div class="col-md-6">

View File

@ -34,10 +34,10 @@ if (empty($documento)) {
// Informazioni utili
$dir = $documento->direzione;
$original_module = Module::find((new Module())->getByField('name', $documento->module, Models\Locale::getPredefined()->id));
$original_module = Module::find((new Module())->getByField('title', $documento->module, Models\Locale::getPredefined()->id));
$name = !empty($documento_finale) ? $documento_finale->module : $options['module'];
$final_module = Module::find((new Module())->getByField('name', $name, Models\Locale::getPredefined()->id));
$final_module = Module::find((new Module())->getByField('title', $name, Models\Locale::getPredefined()->id));
$id_segment = $_SESSION['module_'.$final_module->id]['id_segment'];
// IVA predefinita
@ -45,8 +45,8 @@ $id_iva = $id_iva ?: setting('Iva predefinita');
$righe_totali = $documento->getRighe();
$id_module_interventi = (new Module())->getByField('name', 'Interventi', Models\Locale::getPredefined()->id);
$id_module_ordini_f = (new Module())->getByField('name', 'Ordini fornitore', Models\Locale::getPredefined()->id);
$id_module_interventi = (new Module())->getByField('title', 'Interventi', Models\Locale::getPredefined()->id);
$id_module_ordini_f = (new Module())->getByField('title', 'Ordini fornitore', Models\Locale::getPredefined()->id);
if ($final_module->id == $id_module_interventi) {
$righe = $righe_totali->where('is_descrizione', '=', 0)
->where('qta_rimanente', '>', 0);
@ -96,32 +96,32 @@ if (!empty($options['create_document'])) {
</div>';
// Opzioni aggiuntive per le Fatture
$id_module_fatt_vendita = (new Module())->getByField('name', 'Fatture di vendita', Models\Locale::getPredefined()->id);
$id_module_fatt_acquisto = (new Module())->getByField('name', 'Fatture di acquisto', Models\Locale::getPredefined()->id);
$id_module_ddt_vendita = (new Module())->getByField('name', 'Ddt di vendita', Models\Locale::getPredefined()->id);
$id_module_ddt_acquisto = (new Module())->getByField('name', 'Ddt di acquisto', Models\Locale::getPredefined()->id);
$id_module_fatt_vendita = (new Module())->getByField('title', 'Fatture di vendita', Models\Locale::getPredefined()->id);
$id_module_fatt_acquisto = (new Module())->getByField('title', 'Fatture di acquisto', Models\Locale::getPredefined()->id);
$id_module_ddt_vendita = (new Module())->getByField('title', 'Ddt di vendita', Models\Locale::getPredefined()->id);
$id_module_ddt_acquisto = (new Module())->getByField('title', 'Ddt di acquisto', Models\Locale::getPredefined()->id);
if (in_array($final_module->id, [$id_module_fatt_vendita, $id_module_fatt_acquisto])) {
$stato_predefinito = (new StatoFattura())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
$fatt_differita_acquisto = (new Tipofattura())->getByField('name', 'Fattura differita di acquisto', Models\Locale::getPredefined()->id);
$fatt_differita_vendita = (new Tipofattura())->getByField('name', 'Fattura differita di vendita', Models\Locale::getPredefined()->id);
$stato_predefinito = (new StatoFattura())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
$fatt_differita_acquisto = (new Tipofattura())->getByField('title', 'Fattura differita di acquisto', Models\Locale::getPredefined()->id);
$fatt_differita_vendita = (new Tipofattura())->getByField('title', 'Fattura differita di vendita', Models\Locale::getPredefined()->id);
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(Models\Locale::getDefault()->id).') WHERE `name` = "Nota di credito" AND `dir` = \''.$dir.'\'')['id'];
$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(Models\Locale::getDefault()->id).') WHERE `title` = "Nota di credito" AND `dir` = \''.$dir.'\'')['id'];
} elseif (in_array($original_module->id, [$id_module_ddt_vendita, $id_module_ddt_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(Models\Locale::getDefault()->id).') WHERE `co_tipidocumento`.`id` = '.($dir == 'uscita' ? $fatt_differita_acquisto : $fatt_differita_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(Models\Locale::getDefault()->id).') WHERE `dir` = \''.$dir.'\' AND `predefined` = 1')['id'];
}
$id_bozza = (new StatoFattura())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
$id_emessa = (new StatoFattura())->getByField('name', 'Emessa', Models\Locale::getPredefined()->id);
$id_bozza = (new StatoFattura())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
$id_emessa = (new StatoFattura())->getByField('title', 'Emessa', Models\Locale::getPredefined()->id);
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `co_statidocumento`.`id` as id, `co_statidocumento_lang`.`name` as descrizione FROM `co_statidocumento` LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_statidocumento`.`id` IN ('.$id_bozza.', '.$id_emessa.')", "value": "'.$stato_predefinito.'"]}
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `co_statidocumento`.`id` as id, `co_statidocumento_lang`.`title` as descrizione FROM `co_statidocumento` LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_statidocumento`.`id` IN ('.$id_bozza.', '.$id_emessa.')", "value": "'.$stato_predefinito.'"]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `name`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` = '.prepare($dir).' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `title`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` = '.prepare($dir).' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}
</div>
<div class="col-md-6">
@ -130,10 +130,10 @@ if (!empty($options['create_document'])) {
}
// Opzioni aggiuntive per gli Interventi
elseif ($final_module->getTranslation('name') == 'Interventi') {
elseif ($final_module->getTranslation('title') == '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(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `is_completato` = 0 ORDER BY `name`" ]}
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato_intervento", "required": 1, "values": "query=SELECT `in_statiintervento`.`id`, `in_statiintervento_lang`.`title` 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(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `is_completato` = 0 ORDER BY `title`" ]}
</div>
<div class="col-md-6">
@ -142,36 +142,36 @@ if (!empty($options['create_document'])) {
}
// Opzioni aggiuntive per i Contratti
elseif ($final_module->getTranslation('name') == 'Contratti') {
$stato_predefinito = (new StatoContratto())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
elseif ($final_module->getTranslation('title') == 'Contratti') {
$stato_predefinito = (new StatoContratto())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `co_staticontratti`.`id`, `co_staticontratti_lang`.`name` AS descrizione FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')", "value": "'.$stato_predefinito.'" ]}
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `co_staticontratti`.`id`, `co_staticontratti_lang`.`title` AS descrizione FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')", "value": "'.$stato_predefinito.'" ]}
</div>';
}
// Opzioni aggiuntive per i DDT
elseif (in_array($final_module->getTranslation('name'), ['Ddt di vendita', 'Ddt di acquisto'])) {
$stato_predefinito = (new Stato())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
elseif (in_array($final_module->getTranslation('title'), ['Ddt di vendita', 'Ddt di acquisto'])) {
$stato_predefinito = (new Stato())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `dt_statiddt`.*, `dt_statiddt_lang`.`name` AS descrizione FROM `dt_statiddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')", "value": "'.$stato_predefinito.'" ]}
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `dt_statiddt`.*, `dt_statiddt_lang`.`title` AS descrizione FROM `dt_statiddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')", "value": "'.$stato_predefinito.'" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Causale trasporto').'", "name": "id_causale_trasporto", "required": 1, "ajax-source": "causali", "icon-after": "add|'.(new Module())->getByField('name', 'Causali', Models\Locale::getPredefined()->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())->getByField('title', 'Causali', Models\Locale::getPredefined()->id).'", "help": "'.tr('Definisce la causale del trasporto').'" ]}
</div>';
}
// Opzioni aggiuntive per gli Ordini
elseif (in_array($final_module->getTranslation('name'), ['Ordini cliente', 'Ordini fornitore'])) {
$stato_predefinito = (new StatoOrdine())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
elseif (in_array($final_module->getTranslation('title'), ['Ordini cliente', 'Ordini fornitore'])) {
$stato_predefinito = (new StatoOrdine())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT * ,`or_statiordine`.`id`, `or_statiordine_lang`.`name` AS descrizione FROM `or_statiordine` LEFT JOIN `or_statiordine_lang` ON (`or_statiordine`.`id` = `or_statiordine_lang`.`id_record` AND `or_statiordine_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name` IN(\'Bozza\', \'Accettato\', \'In attesa di conferma\', \'Annullato\')", "value": "'.$stato_predefinito.'" ]}
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT * ,`or_statiordine`.`id`, `or_statiordine_lang`.`title` AS descrizione FROM `or_statiordine` LEFT JOIN `or_statiordine_lang` ON (`or_statiordine`.`id` = `or_statiordine_lang`.`id_record` AND `or_statiordine_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `title` IN(\'Bozza\', \'Accettato\', \'In attesa di conferma\', \'Annullato\')", "value": "'.$stato_predefinito.'" ]}
</div>';
}
@ -182,7 +182,7 @@ 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|'.(new Module())->getByField('name', 'Anagrafiche', Models\Locale::getPredefined()->id).'|tipoanagrafica='.$tipo_anagrafica.'" ]}
{[ "type": "select", "label": "'.$tipo_anagrafica.'", "name": "idanagrafica", "required": 1, "ajax-source": "'.$ajax.'", "icon-after": "add|'.(new Module())->getByField('title', 'Anagrafiche', Models\Locale::getPredefined()->id).'|tipoanagrafica='.$tipo_anagrafica.'" ]}
</div>';
}
@ -196,7 +196,7 @@ if (!empty($options['create_document'])) {
}
// Conto, rivalsa INPS, ritenuta d'acconto e ritenuta previdenziale
if (in_array($final_module->getTranslation('name'), ['Fatture di vendita', 'Fatture di acquisto']) && !in_array($original_module->getTranslation('name'), ['Fatture di vendita', 'Fatture di acquisto'])) {
if (in_array($final_module->getTranslation('title'), ['Fatture di vendita', 'Fatture di acquisto']) && !in_array($original_module->getTranslation('title'), ['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;
@ -306,14 +306,14 @@ echo '
<tbody id="righe_documento_importato">';
foreach ($righe as $i => $riga) {
if ($final_module->getTranslation('name') == 'Ordini fornitore') {
if ($final_module->getTranslation('title') == 'Ordini fornitore') {
$qta_rimanente = $riga['qta'];
} else {
$qta_rimanente = $riga['qta_rimanente'];
}
$attr = 'checked="checked"';
if ($original_module->getTranslation('name') == 'Preventivi') {
if ($original_module->getTranslation('title') == 'Preventivi') {
if (empty($riga['confermato']) && $riga['is_descrizione'] == 0) {
$attr = '';
}
@ -498,7 +498,7 @@ foreach ($articoli as $elenco) {
$qta = $elenco->sum('qta');
$articolo = $elenco->first()->articolo;
$descrizione_riga = $articolo->codice.' - '.$articolo->getTranslation('name');
$descrizione_riga = $articolo->codice.' - '.$articolo->getTranslation('title');
$text = $articolo ? Modules::link('Articoli', $articolo->id, $descrizione_riga) : $descrizione_riga;
$scorte[$articolo->id] = [

View File

@ -45,7 +45,7 @@ echo '
// Unità di misura
echo '
<div class="col-md-'.$width.'">
{[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.(new Module())->getByField('name', 'Unità di misura', Models\Locale::getPredefined()->id).'", "name": "um", "value": "'.$result['um'].'", "ajax-source": "misure" ]}
{[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.(new Module())->getByField('title', 'Unità di misura', Models\Locale::getPredefined()->id).'", "name": "um", "value": "'.$result['um'].'", "ajax-source": "misure" ]}
</div>';
// Unità di misura
@ -241,11 +241,11 @@ if ($options['dir'] == 'entrata') {
// Data prevista evasione (per ordini)
if (in_array($module->getTranslation('name'), ['Ordini cliente', 'Ordini fornitore', 'Preventivi'])) {
if (in_array($module->getTranslation('title'), ['Ordini cliente', 'Ordini fornitore', 'Preventivi'])) {
if ($options['action'] == 'add') {
if ($module->getTranslation('name') == 'Ordini cliente') {
if ($module->getTranslation('title') == 'Ordini cliente') {
$confermato = setting('Conferma automaticamente le quantità negli ordini cliente');
} elseif ($module->getTranslation('name') == 'Ordini fornitore') {
} elseif ($module->getTranslation('title') == 'Ordini fornitore') {
$confermato = setting('Conferma automaticamente le quantità negli ordini fornitore');
} else {
$confermato = setting('Conferma automaticamente le quantità nei preventivi');
@ -279,7 +279,7 @@ if (in_array($module->getTranslation('name'), ['Ordini cliente', 'Ordini fornito
</div>
<div class="col-md-4">
{[ "type": "checkbox", "label": "'.tr('Articolo confermato').'", "name": "confermato", "value": "'.$confermato.'", "help": "'.tr('Articolo confermato dal _ANA_ e che è possibile evadere', ['_ANA_' => $module->getTranslation('name') == 'Ordini fornitore' ? tr('fornitore') : tr('cliente')]).'" ]}
{[ "type": "checkbox", "label": "'.tr('Articolo confermato').'", "name": "confermato", "value": "'.$confermato.'", "help": "'.tr('Articolo confermato dal _ANA_ e che è possibile evadere', ['_ANA_' => $module->getTranslation('title') == 'Ordini fornitore' ? tr('fornitore') : tr('cliente')]).'" ]}
</div>
<div class="col-md-4">
{[ "type": "checkbox", "label": "'.tr('Cambia stato a tutte le righe').'", "name": "confermato_all", "value": "" ]}
@ -306,7 +306,7 @@ if (in_array($module->getTranslation('name'), ['Ordini cliente', 'Ordini fornito
</script>';
}
if (in_array($module->getTranslation('name'), ['Fatture di vendita', 'Fatture di acquisto'])) {
if (in_array($module->getTranslation('title'), ['Fatture di vendita', 'Fatture di acquisto'])) {
echo '
<script>
$(document).ready(function() {

View File

@ -28,7 +28,7 @@ if (Update::isUpdateAvailable() || !$dbo->isInstalled()) {
return;
}
$id_tipo_azienda = Tipo::find((new Tipo())->getByField('name', 'Azienda', Models\Locale::getPredefined()->id))->id;
$id_tipo_azienda = Tipo::find((new Tipo())->getByField('title', 'Azienda', Models\Locale::getPredefined()->id))->id;
$has_azienda = $dbo->fetchNum('SELECT `an_anagrafiche`.`idanagrafica` FROM `an_anagrafiche`
LEFT JOIN `an_tipianagrafiche_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica`
@ -74,7 +74,7 @@ if (post('action') == 'init') {
// Azienda predefinita
if (!$has_azienda) {
Filter::set('post', 'op', 'add');
$id_module = (new Module())->getByField('name', 'Anagrafiche', Models\Locale::getPredefined()->id);
$id_module = (new Module())->getByField('title', 'Anagrafiche', Models\Locale::getPredefined()->id);
include base_dir().'/modules/anagrafiche/actions.php';
// Logo stampe
@ -174,7 +174,7 @@ if (!$has_azienda) {
<div class="panel-body" id="bs-popup">';
$idtipoanagrafica = (new Tipo())->getByField('name', 'Azienda', Models\Locale::getPredefined()->id);
$idtipoanagrafica = (new Tipo())->getByField('title', 'Azienda', Models\Locale::getPredefined()->id);
$readonly_tipo = true;
ob_start();

View File

@ -54,7 +54,7 @@ $direzione_richiesta = $source->getDocument()->direzione == 'entrata' ? 'uscita'
// Individuazione DDT disponibili
$ddt = DDT::whereHas('stato', function ($query) {
$id_stato = (new StatoDDT())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
$id_stato = (new StatoDDT())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
$query->where('id', '!=', $id_stato);
})->whereHas('tipo', function ($query) use ($direzione_richiesta) {
$query->where('dir', '=', $direzione_richiesta);
@ -70,7 +70,7 @@ foreach ($ddt as $elemento) {
// Individuazione ordini disponibili
$tipo_ordini = $direzione_richiesta == 'entrata' ? 'cliente' : 'fornitore';
$ordini = Ordine::whereHas('stato', function ($query) {
$id_stato = (new StatoOrdine())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
$id_stato = (new StatoOrdine())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
$query->where('id', '!=', $id_stato);
})->whereHas('tipo', function ($query) use ($direzione_richiesta) {
$query->where('dir', '=', $direzione_richiesta);

View File

@ -238,7 +238,7 @@ if (Auth::check()) {
{ name: "tools", items : [ "Maximize", "ShowBlocks" ] },
{ name: "about", items: [ "About" ] }
],
order_manager_id: "'.($dbo->isInstalled() ? (new Module())->getByField('name', 'Stato dei servizi', Models\Locale::getPredefined()->id) : '').'",
order_manager_id: "'.($dbo->isInstalled() ? (new Module())->getByField('title', 'Stato dei servizi', Models\Locale::getPredefined()->id) : '').'",
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

@ -52,7 +52,7 @@ foreach ($mansioni as $mansione) {
}
// Aggiungo email tecnici assegnati quando sono sul template Notifica intervento
if ($template->getTranslation('name') == 'Notifica intervento') {
if ($template->getTranslation('title') == 'Notifica intervento') {
$tecnici = $dbo->select('in_interventi_tecnici_assegnati', 'id_tecnico', [], ['id_intervento' => $id_record]);
foreach ($tecnici as $tecnico) {
$anagrafica = $dbo->table('an_anagrafiche')->where('idanagrafica', $tecnico['id_tecnico'])->where('email', '!=', '')->first();
@ -155,7 +155,7 @@ echo '
</div>';
$uploads = [];
if ($smtp['pec'] == 1 && $module->getTranslation('name') == 'Fatture di vendita') {
if ($smtp['pec'] == 1 && $module->getTranslation('title') == 'Fatture di vendita') {
$uploads = $dbo->fetchArray('SELECT id FROM zz_files WHERE id_module = '.prepare($module['id']).' AND id_record = '.prepare($id_record).' AND category = \'Fattura Elettronica\'');
$uploads = array_column($uploads, 'id');
}
@ -164,7 +164,7 @@ if ($smtp['pec'] == 1 && $module->getTranslation('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` = '.(new Module())->getByField('name', 'Anagrafiche', Models\Locale::getPredefined()->id).' AND `id_record` = (SELECT `valore` FROM `zz_settings` WHERE `name` = \'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`, `title` AS text FROM `zz_files` WHERE `id_module` = '.prepare($id_module).' AND `id_record` = '.prepare($id_record).' UNION SELECT `id`, CONCAT(`title`, \' (Azienda)\') AS text FROM `zz_files` WHERE `id_module` = '.(new Module())->getByField('title', 'Anagrafiche', Models\Locale::getPredefined()->id).' AND `id_record` = (SELECT `valore` FROM `zz_settings` WHERE `title` = \'Azienda predefinita\')", "link": "allegato" ]}
</div>
</div>';

View File

@ -39,7 +39,7 @@ switch (filter('op')) {
}
// Salvataggio della versione nella cache
Cache::find((new Cache())->getByField('name', 'Ultima esecuzione del cron', Models\Locale::getPredefined()->id))->set($versione);
Cache::find((new Cache())->getByField('title', 'Ultima esecuzione del cron', Models\Locale::getPredefined()->id))->set($versione);
echo $versione;
break;

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` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).") 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` = ".prepare(Models\Locale::getDefault()->id).") WHERE `options2` != ''");
$modules = $database->fetchArray("SELECT `title`, 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` = ".prepare(Models\Locale::getDefault()->id).") WHERE `options2` != ''");
$plugins = $database->fetchArray("SELECT `title`, 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` = ".prepare(Models\Locale::getDefault()->id).") WHERE `options2` != ''");
$results = array_merge($modules, $plugins);

View File

@ -35,7 +35,7 @@ class ColonneDuplicateViste extends Controllo
public function check()
{
$duplicati = database()->fetchArray('SELECT `id_module`, `name` FROM `zz_views` LEFT JOIN `zz_views_lang` ON (`zz_views`.`id` = `zz_views_lang`.`id_record` AND `zz_views_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') GROUP BY `id_module`, `name` HAVING COUNT(`name`) > 1');
$duplicati = database()->fetchArray('SELECT `id_module`, `title` FROM `zz_views` LEFT JOIN `zz_views_lang` ON (`zz_views`.`id` = `zz_views_lang`.`id_record` AND `zz_views_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') GROUP BY `id_module`, `title` HAVING COUNT(`title`) > 1');
foreach ($duplicati as $colonna) {
$modulo = Module::find($colonna['id_module']);

View File

@ -57,7 +57,7 @@ class PianoConti extends Controllo
`an_anagrafiche`.`idconto_cliente`,
`an_anagrafiche`.`idconto_fornitore`,
`an_anagrafiche`.`ragione_sociale`,
GROUP_CONCAT(`an_tipianagrafiche_lang`.`name`) AS tipi_anagrafica
GROUP_CONCAT(`an_tipianagrafiche_lang`.`title`) AS tipi_anagrafica
FROM `an_anagrafiche`
INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche`.`id` = `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`

View File

@ -35,16 +35,16 @@ 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_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') GROUP BY `idmodule_to`, `name` HAVING COUNT(`name`) > 1');
$duplicati = database()->fetchArray('SELECT `idmodule_to`, `title` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') GROUP BY `idmodule_to`, `title` HAVING COUNT(`title`) > 1');
foreach ($duplicati as $plugin) {
$modulo = Module::find($plugin['idmodule_to']);
$this->addResult([
'id' => $plugin->getTranslation('name'),
'nome' => $modulo->getTranslation('title').': '.$plugin->getTranslation('name'),
'id' => $plugin->getTranslation('title'),
'nome' => $modulo->getTranslation('title').': '.$plugin->getTranslation('title'),
'descrizione' => tr('Il plugin _NAME_ del modulo _MODULE_ esiste più volte', [
'_NAME_' => $plugin->getTranslation('name'),
'_NAME_' => $plugin->getTranslation('title'),
'_MODULE_' => $modulo->getTranslation('title'),
]),
]);

View File

@ -56,7 +56,7 @@ class ReaValidi extends Controllo
`an_anagrafiche`.`idanagrafica` AS id,
`an_anagrafiche`.`codicerea`,
`an_anagrafiche`.`ragione_sociale`,
GROUP_CONCAT(`an_tipianagrafiche_lang`.`name`) AS tipi_anagrafica
GROUP_CONCAT(`an_tipianagrafiche_lang`.`title`) AS tipi_anagrafica
FROM `an_anagrafiche`
INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche`.id = `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`

View File

@ -47,7 +47,7 @@ class UpdateHook extends CachedManager
$update = null;
}
$module = Module::find((new Module())->getByField('name', 'Aggiornamenti', \Models\Locale::getPredefined()->id));
$module = Module::find((new Module())->getByField('title', 'Aggiornamenti', \Models\Locale::getPredefined()->id));
$link = base_path().'/controller.php?id_module='.$module->id;
$message = tr("E' disponibile la versione _VERSION_ del gestionale", [

View File

@ -68,7 +68,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
$directory = 'modules';
$table = 'zz_modules';
$installed = Module::find((new Module())->getByField('name', $info['name']));
$installed = Module::find((new Module())->getByField('title', $info['name']));
}
// Copia dei file nella cartella relativa
@ -85,7 +85,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
'default' => 0,
'enabled' => 1,
'icon' => $info['icon'],
'parent' => (new Module())->getByField('name', $info['parent']),
'parent' => (new Module())->getByField('title', $info['parent']),
]));
$id_record = $dbo->lastInsertedID();
$dbo->insert($table.'_lang', array_merge($insert, [
@ -122,9 +122,9 @@ if (file_exists($extraction_dir.'/VERSION')) {
$directory = 'plugins';
$table = 'zz_plugins';
$installed = Plugin::find((new Plugin())->getByField('name', $info['name']));
$insert['idmodule_from'] = (new Module())->getByField('name', $info['module_from']);
$insert['idmodule_to'] = (new Module())->getByField('name', $info['module_to']);
$installed = Plugin::find((new Plugin())->getByField('title', $info['name']));
$insert['idmodule_from'] = (new Module())->getByField('title', $info['module_from']);
$insert['idmodule_to'] = (new Module())->getByField('title', $info['module_to']);
$insert['position'] = $info['position'];
}
@ -134,7 +134,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
$table = 'zz_prints';
$installed = Prints::getPrints()[$info['name']];
$insert['id_module'] = (new Module())->getByField('name', $info['module']);
$insert['id_module'] = (new Module())->getByField('title', $info['module']);
$insert['is_record'] = $info['is_record'];
$insert_lang['filename'] = $info['filename'];
$insert['icon'] = $info['icon'];

View File

@ -203,7 +203,7 @@ switch (post('op')) {
// Lettura tipologia dell'utente loggato
$agente_is_logged = false;
if (!empty($user['idanagrafica'])) {
$rs = $dbo->fetchArray('SELECT `name` AS descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`id` = `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` WHERE `idanagrafica` = '.prepare($user['idanagrafica']));
$rs = $dbo->fetchArray('SELECT `title` AS descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`id` = `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` WHERE `idanagrafica` = '.prepare($user['idanagrafica']));
for ($i = 0; $i < count($rs); ++$i) {
if ($rs[$i]['descrizione'] == 'Agente') {
@ -244,7 +244,7 @@ switch (post('op')) {
$descrizioni_tipi = $anagrafica->tipi()->get();
foreach ($descrizioni_tipi as $tipo) {
$tipi[] = $tipo->getTranslation('name');
$tipi[] = $tipo->getTranslation('title');
}
flash()->info(tr('Aggiunta nuova anagrafica di tipo _TYPE_', [
@ -359,7 +359,7 @@ if (filter('op') == 'aggiungi-allegato' || filter('op') == 'modifica-allegato')
$nome = 'Logo stampe';
$uploads = $structure->uploads($id_record)->where('filename', $upload->filename);
foreach ($uploads as $logo) {
$logo->setTranslation('name', $nome);
$logo->setTranslation('title', $nome);
$logo->save();
}
}
@ -369,7 +369,7 @@ if (filter('op') == 'aggiungi-allegato' || filter('op') == 'modifica-allegato')
$nome = 'Filigrana stampe';
$uploads = $structure->uploads($id_record)->where('filename', $upload->filename);
foreach ($uploads as $filigrana) {
$filigrana->setTranslation('name', $nome);
$filigrana->setTranslation('title', $nome);
$filigrana->save();
}
}

View File

@ -22,13 +22,13 @@ use Modules\Anagrafiche\Tipo;
include_once __DIR__.'/../../core.php';
$id_nazione_italia = (new Nazione())->getByField('name', 'Italia', Models\Locale::getPredefined()->id);
$id_nazione_italia = (new Nazione())->getByField('title', 'Italia', Models\Locale::getPredefined()->id);
$tipo = get('tipoanagrafica');
$id_tipo = (new Tipo())->getByField('name', $tipo, Models\Locale::getPredefined()->id);
$id_tipo_azienda = (new Tipo())->getByField('name', 'Azienda', Models\Locale::getPredefined()->id);
$id_tipo = (new Tipo())->getByField('title', $tipo, Models\Locale::getPredefined()->id);
$id_tipo_azienda = (new Tipo())->getByField('title', 'Azienda', Models\Locale::getPredefined()->id);
if (!empty($tipo)) {
$rs = $dbo->fetchArray('SELECT `an_tipianagrafiche`.`id`, `an_tipianagrafiche_lang`.`name` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `an_tipianagrafiche`.`id`='.prepare($id_tipo));
$rs = $dbo->fetchArray('SELECT `an_tipianagrafiche`.`id`, `an_tipianagrafiche_lang`.`title` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `an_tipianagrafiche`.`id`='.prepare($id_tipo));
$idtipoanagrafica = $rs[0]['id'];
}
@ -43,7 +43,7 @@ echo '
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "id": "idtipoanagrafica_add", "multiple": "1", "required": 1, "values": "query=SELECT `an_tipianagrafiche`.`id`, `name` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `an_tipianagrafiche`.`id` NOT IN (SELECT DISTINCT(`x`.`idtipoanagrafica`) FROM `an_tipianagrafiche_anagrafiche` x INNER JOIN `an_tipianagrafiche` t ON `x`.`idtipoanagrafica` = `t`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`t`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `x`.`idanagrafica` WHERE `an_tipianagrafiche`.`id` = '.prepare($id_tipo_azienda).' AND `deleted_at` IS NULL) ORDER BY `name`", "value": "'.($idtipoanagrafica ?? null).'", "readonly": '.(!empty(get('readonly_tipo')) ? 1 : 0).' ]}
{[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "id": "idtipoanagrafica_add", "multiple": "1", "required": 1, "values": "query=SELECT `an_tipianagrafiche`.`id`, `title` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `an_tipianagrafiche`.`id` NOT IN (SELECT DISTINCT(`x`.`idtipoanagrafica`) FROM `an_tipianagrafiche_anagrafiche` x INNER JOIN `an_tipianagrafiche` t ON `x`.`idtipoanagrafica` = `t`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`t`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `x`.`idanagrafica` WHERE `an_tipianagrafiche`.`id` = '.prepare($id_tipo_azienda).' AND `deleted_at` IS NULL) ORDER BY `title`", "value": "'.($idtipoanagrafica ?? null).'", "readonly": '.(!empty(get('readonly_tipo')) ? 1 : 0).' ]}
</div>
</div>
@ -103,7 +103,7 @@ echo '
<div class="row">
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "id": "id_nazione_add", "values": "query=SELECT `an_nazioni`.`id` AS id, CONCAT_WS(\' - \', `iso2`, `an_nazioni_lang`.`name`) AS descrizione, `iso2` FROM `an_nazioni` LEFT JOIN `an_nazioni_lang` ON (`an_nazioni`.`id` = `an_nazioni_lang`.`id_record` AND `an_nazioni_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') ORDER BY CASE WHEN `iso2`=\'IT\' THEN -1 ELSE `iso2` END", "value": "'.$id_nazione_italia.'" ]}
{[ "type": "select", "label": "'.tr('Nazione').'", "name": "id_nazione", "id": "id_nazione_add", "values": "query=SELECT `an_nazioni`.`id` AS id, CONCAT_WS(\' - \', `iso2`, `an_nazioni_lang`.`title`) AS descrizione, `iso2` FROM `an_nazioni` LEFT JOIN `an_nazioni_lang` ON (`an_nazioni`.`id` = `an_nazioni_lang`.`id_record` AND `an_nazioni_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') ORDER BY CASE WHEN `iso2`=\'IT\' THEN -1 ELSE `iso2` END", "value": "'.$id_nazione_italia.'" ]}
</div>
<div class="col-md-4">

View File

@ -24,7 +24,7 @@ use Models\Module;
Anagrafiche
*/
$link_id = (new Module())->getByField('name', 'Anagrafiche', Models\Locale::getPredefined()->id);
$link_id = (new Module())->getByField('title', 'Anagrafiche', Models\Locale::getPredefined()->id);
$fields = [
'Codice' => 'codice',
@ -108,7 +108,7 @@ foreach ($fields as $name => $value) {
$rs = $dbo->fetchArray($query);
$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(Models\Locale::getDefault()->id).") WHERE `name`='Referenti'");
$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(Models\Locale::getDefault()->id).") WHERE `title`='Referenti'");
foreach ($rs as $r) {
$result = [];

View File

@ -25,21 +25,21 @@ $filter_agente = Auth::user()['gruppo'] == 'Agenti';
switch ($resource) {
case 'clienti':
$id_azienda = setting('Azienda predefinita');
$tipologia = Tipo::find((new Tipo())->getByField('name', 'Cliente', Models\Locale::getPredefined()->id))->id;
$tipologia = Tipo::find((new Tipo())->getByField('title', 'Cliente', Models\Locale::getPredefined()->id))->id;
$query = "SELECT
`an_anagrafiche`.`idanagrafica` AS id,
`an_anagrafiche`.`lat`,
`an_anagrafiche`.`lng`,
`is_bloccata`,
CONCAT(`ragione_sociale`, IF(`citta` IS NULL OR `citta` = '', '', CONCAT(' (', `citta`, ')')), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'), IF(`is_bloccata` = 1, CONCAT(' (', `an_relazioni_lang`.`name`, ')'), ''),' - ', `an_anagrafiche`.`codice` ) AS descrizione,
CONCAT(`ragione_sociale`, IF(`citta` IS NULL OR `citta` = '', '', CONCAT(' (', `citta`, ')')), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'), IF(`is_bloccata` = 1, CONCAT(' (', `an_relazioni_lang`.`title`, ')'), ''),' - ', `an_anagrafiche`.`codice` ) AS descrizione,
`idtipointervento_default` AS idtipointervento,
`in_tipiintervento_lang`.`name` AS idtipointervento_descrizione,
`in_tipiintervento_lang`.`title` AS idtipointervento_descrizione,
`an_anagrafiche`.`idzona`,
`contratto`.`id` AS id_contratto,
`contratto`.`descrizione` AS descrizione_contratto,
`co_pagamenti`.`id` AS id_pagamento,
`co_pagamenti_lang`.`name` AS desc_pagamento,
`co_pagamenti_lang`.`title` AS desc_pagamento,
`banca_vendite`.`id` AS id_banca_vendite,
CONCAT(`banca_vendite`.`nome`, ' - ', `banca_vendite`.`iban`) AS descrizione_banca_vendite
FROM
@ -51,7 +51,7 @@ switch ($resource) {
LEFT JOIN `an_relazioni` ON `an_anagrafiche`.`idrelazione`=`an_relazioni`.`id`
LEFT JOIN `an_relazioni_lang` ON (`an_relazioni`.`id`=`an_relazioni_lang`.`id_record` AND `an_relazioni_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).")
LEFT JOIN
(SELECT `co_contratti`.`id`, `idanagrafica`, CONCAT('Contratto ', `numero`, ' del ', DATE_FORMAT(`data_bozza`, '%d/%m/%Y'), ' - ', `co_contratti`.`nome`, ' [', `co_staticontratti_lang`.`name` , ']') AS descrizione FROM `co_contratti` LEFT JOIN `co_staticontratti` ON `co_contratti`.`idstato`=`co_staticontratti`.`id` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id`=`co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang`= ".prepare(Models\Locale::getDefault()->id).') WHERE `co_contratti`.`predefined`=1 AND `is_pianificabile`=1) AS contratto
(SELECT `co_contratti`.`id`, `idanagrafica`, CONCAT('Contratto ', `numero`, ' del ', DATE_FORMAT(`data_bozza`, '%d/%m/%Y'), ' - ', `co_contratti`.`nome`, ' [', `co_staticontratti_lang`.`title` , ']') AS descrizione FROM `co_contratti` LEFT JOIN `co_staticontratti` ON `co_contratti`.`idstato`=`co_staticontratti`.`id` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id`=`co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang`= ".prepare(Models\Locale::getDefault()->id).') WHERE `co_contratti`.`predefined`=1 AND `is_pianificabile`=1) AS contratto
ON `an_anagrafiche`.`idanagrafica`=`contratto`.`idanagrafica`
LEFT JOIN `co_pagamenti` ON `an_anagrafiche`.`idpagamento_vendite`=`co_pagamenti`.`id`
LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id`=`co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).')
@ -103,14 +103,14 @@ switch ($resource) {
case 'fornitori':
$id_azienda = setting('Azienda predefinita');
$tipologia = Tipo::find((new Tipo())->getByField('name', 'Fornitore', Models\Locale::getPredefined()->id))->id;
$tipologia = Tipo::find((new Tipo())->getByField('title', 'Fornitore', Models\Locale::getPredefined()->id))->id;
$query = "SELECT
`an_anagrafiche`.`idanagrafica` AS id,
CONCAT(`ragione_sociale`, IF(`citta` IS NULL OR `citta` = '', '', CONCAT(' (', `citta`, ')')), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'),' - ', `an_anagrafiche`.`codice`) AS descrizione,
`idtipointervento_default` AS `idtipointervento`,
`co_pagamenti`.`id` AS id_pagamento,
`co_pagamenti_lang`.`name` AS desc_pagamento,
`co_pagamenti_lang`.`title` AS desc_pagamento,
`banca_acquisti`.`id` AS id_banca_acquisti,
CONCAT(`banca_acquisti`.`nome`, ' - ', `banca_acquisti`.`iban`) AS descrizione_banca_acquisti
FROM
@ -147,7 +147,7 @@ switch ($resource) {
break;
case 'vettori':
$tipologia = Tipo::find((new Tipo())->getByField('name', 'Vettore', Models\Locale::getPredefined()->id))->id;
$tipologia = Tipo::find((new Tipo())->getByField('title', 'Vettore', Models\Locale::getPredefined()->id))->id;
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT(`ragione_sociale`, IF(`citta` IS NULL OR `citta` = '', '', CONCAT(' (', `citta`, ')')), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'),' - ', `an_anagrafiche`.`codice`) AS descrizione, `idtipointervento_default` AS idtipointervento FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `ragione_sociale`';
@ -176,7 +176,7 @@ switch ($resource) {
* - idanagrafica
*/
case 'agenti':
$tipologia = Tipo::find((new Tipo())->getByField('name', 'Agente', Models\Locale::getPredefined()->id))->id;
$tipologia = Tipo::find((new Tipo())->getByField('title', 'Agente', Models\Locale::getPredefined()->id))->id;
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT(`ragione_sociale`, IF(`citta` IS NULL OR `citta` = '', '', CONCAT(' (', `citta`, ')')), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'),' - ', `an_anagrafiche`.`codice`) AS descrizione, `idtipointervento_default` FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `ragione_sociale`';
@ -216,7 +216,7 @@ switch ($resource) {
break;
case 'tecnici':
$tipologia = Tipo::find((new Tipo())->getByField('name', 'Tecnico', Models\Locale::getPredefined()->id))->id;
$tipologia = Tipo::find((new Tipo())->getByField('title', 'Tecnico', Models\Locale::getPredefined()->id))->id;
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT(`ragione_sociale`, IF(`citta` IS NULL OR `citta` = '', '', CONCAT(' (', `citta`, ')')), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'),' - ', `an_anagrafiche`.`codice`) AS descrizione, `idtipointervento_default` FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `ragione_sociale`';
@ -250,11 +250,11 @@ switch ($resource) {
break;
case 'clienti_fornitori':
$id_cliente = Tipo::find((new Tipo())->getByField('name', 'Cliente', Models\Locale::getPredefined()->id))->id;
$id_fornitore = Tipo::find((new Tipo())->getByField('name', 'Fornitore', Models\Locale::getPredefined()->id))->id;
$id_azienda = Tipo::find((new Tipo())->getByField('name', 'Azienda', Models\Locale::getPredefined()->id))->id;
$id_cliente = Tipo::find((new Tipo())->getByField('title', 'Cliente', Models\Locale::getPredefined()->id))->id;
$id_fornitore = Tipo::find((new Tipo())->getByField('title', 'Fornitore', Models\Locale::getPredefined()->id))->id;
$id_azienda = Tipo::find((new Tipo())->getByField('title', 'Azienda', Models\Locale::getPredefined()->id))->id;
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT_WS('', `ragione_sociale`, IF(`citta` !='' OR `provincia` != '', CONCAT(' (', `citta`, IF(`provincia`!='', CONCAT(' ', `provincia`), ''), ')'), ''), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'),' - ', `an_anagrafiche`.`codice`) AS descrizione, `an_tipianagrafiche_lang`.`name` AS optgroup, `idtipointervento_default`, `an_tipianagrafiche`.`id` as id_tipo FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`id`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `optgroup` ASC, `ragione_sociale` ASC';
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT_WS('', `ragione_sociale`, IF(`citta` !='' OR `provincia` != '', CONCAT(' (', `citta`, IF(`provincia`!='', CONCAT(' ', `provincia`), ''), ')'), ''), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'),' - ', `an_anagrafiche`.`codice`) AS descrizione, `an_tipianagrafiche_lang`.`title` AS optgroup, `idtipointervento_default`, `an_tipianagrafiche`.`id` as id_tipo FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`id`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `optgroup` ASC, `ragione_sociale` ASC';
foreach ($elements as $element) {
$filter[] = '`an_anagrafiche`.`idanagrafica`='.prepare($element);
@ -304,7 +304,7 @@ switch ($resource) {
// Nota Bene: nel campo id viene specificato idtipoanagrafica-idanagrafica -> modulo Utenti e permessi, creazione nuovo utente
case 'anagrafiche':
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT_WS('', `ragione_sociale`, IF(`citta` !='' OR `provincia` != '', CONCAT(' (', `citta`, IF(`provincia`!='', CONCAT(' ', `provincia`), ''), ')'), ''), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'),' - ', `an_anagrafiche`.`codice`) AS descrizione, `an_tipianagrafiche_lang`.`name` AS optgroup FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `optgroup` ASC, `ragione_sociale` ASC';
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT_WS('', `ragione_sociale`, IF(`citta` !='' OR `provincia` != '', CONCAT(' (', `citta`, IF(`provincia`!='', CONCAT(' ', `provincia`), ''), ')'), ''), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'),' - ', `an_anagrafiche`.`codice`) AS descrizione, `an_tipianagrafiche_lang`.`title` AS optgroup FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `optgroup` ASC, `ragione_sociale` ASC';
foreach ($elements as $element) {
$filter[] = '`an_anagrafiche`.`idanagrafica`='.prepare($element);
@ -440,23 +440,23 @@ switch ($resource) {
break;
case 'nazioni':
$query = 'SELECT `an_nazioni`.`id` AS id, `iso2`, CONCAT_WS(\' - \', `iso2`, `an_nazioni_lang`.`name`) AS descrizione FROM `an_nazioni` LEFT JOIN `an_nazioni_lang` ON (`an_nazioni`.`id` = `an_nazioni_lang`.`id_record` AND `an_nazioni_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY CASE WHEN `iso2`=\'IT\' THEN -1 ELSE `iso2` END';
$query = 'SELECT `an_nazioni`.`id` AS id, `iso2`, CONCAT_WS(\' - \', `iso2`, `an_nazioni_lang`.`title`) AS descrizione FROM `an_nazioni` LEFT JOIN `an_nazioni_lang` ON (`an_nazioni`.`id` = `an_nazioni_lang`.`id_record` AND `an_nazioni_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY CASE WHEN `iso2`=\'IT\' THEN -1 ELSE `iso2` END';
foreach ($elements as $element) {
$filter[] = '`an_nazioni`.`id`='.prepare($element);
}
if (!empty($search)) {
$search_fields[] = '`an_nazioni_lang`.`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`an_nazioni_lang`.`title` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`iso2` LIKE '.prepare('%'.$search.'%');
$search_fields[] = 'CONCAT_WS(\' - \', `iso2`, `name`) LIKE '.prepare('%'.$search.'%');
$search_fields[] = 'CONCAT_WS(\' - \', `iso2`, `title`) LIKE '.prepare('%'.$search.'%');
}
break;
case 'regioni':
if (isset($superselect['id_nazione'])) {
$query = 'SELECT `an_regioni`.`id` AS id, `an_regioni`.`iso2`, CONCAT(CONCAT_WS(\' - \', `an_regioni`.`iso2`, `an_regioni_lang`.`name`), \' (\', `an_nazioni`.`iso2`, \')\') AS descrizione FROM `an_regioni` LEFT JOIN `an_regioni_lang` ON (`an_regioni`.`id` = `an_regioni_lang`.`id_record` AND `an_regioni_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_nazioni` ON `an_regioni`.`id_nazione` = `an_nazioni`.`id` |where| ORDER BY `an_regioni_lang`.`name`';
$query = 'SELECT `an_regioni`.`id` AS id, `an_regioni`.`iso2`, CONCAT(CONCAT_WS(\' - \', `an_regioni`.`iso2`, `an_regioni_lang`.`title`), \' (\', `an_nazioni`.`iso2`, \')\') AS descrizione FROM `an_regioni` LEFT JOIN `an_regioni_lang` ON (`an_regioni`.`id` = `an_regioni_lang`.`id_record` AND `an_regioni_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_nazioni` ON `an_regioni`.`id_nazione` = `an_nazioni`.`id` |where| ORDER BY `an_regioni_lang`.`title`';
foreach ($elements as $element) {
$filter[] = '`an_regioni`.`id`='.prepare($element);
@ -465,15 +465,15 @@ switch ($resource) {
$where[] = '`an_regioni`.`id_nazione`='.prepare($superselect['id_nazione']);
if (!empty($search)) {
$search_fields[] = '`an_regioni_lang`.`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`an_regioni_lang`.`title` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`an_regioni`.`iso2` LIKE '.prepare('%'.$search.'%');
$search_fields[] = 'CONCAT_WS(\' - \', `an_regioni`.`iso2`, `an_regioni_lang`.`name`) LIKE '.prepare('%'.$search.'%');
$search_fields[] = 'CONCAT_WS(\' - \', `an_regioni`.`iso2`, `an_regioni_lang`.`title`) LIKE '.prepare('%'.$search.'%');
}
}
break;
case 'relazioni':
$query = "SELECT `an_relazioni`.`id`, CONCAT(`name`, IF(`an_relazioni`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, `colore` AS _bgcolor_ FROM `an_relazioni` LEFT JOIN `an_relazioni_lang` ON (`an_relazioni`.`id` = `an_relazioni_lang`.`id_record` AND `an_relazioni_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).') |where| ORDER BY descrizione';
$query = "SELECT `an_relazioni`.`id`, CONCAT(`title`, IF(`an_relazioni`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, `colore` AS _bgcolor_ FROM `an_relazioni` LEFT JOIN `an_relazioni_lang` ON (`an_relazioni`.`id` = `an_relazioni_lang`.`id_record` AND `an_relazioni_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).') |where| ORDER BY descrizione';
foreach ($elements as $element) {
$filter[] = '`an_relazioni`.`id`='.prepare($element);
@ -484,33 +484,33 @@ switch ($resource) {
}
if (!empty($search)) {
$search_fields[] = '`an_relazioni_lang`.`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`an_relazioni_lang`.`title` LIKE '.prepare('%'.$search.'%');
}
break;
case 'provenienze':
$query = 'SELECT `an_provenienze`.`id`, `an_provenienze_lang`.`name` as descrizione, `colore` AS bgcolor FROM `an_provenienze` LEFT JOIN `an_provenienze_lang` ON (`an_provenienze`.`id` = `an_provenienze_lang`.`id_record` AND `an_provenienze_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `descrizione`';
$query = 'SELECT `an_provenienze`.`id`, `an_provenienze_lang`.`title` as descrizione, `colore` AS bgcolor FROM `an_provenienze` LEFT JOIN `an_provenienze_lang` ON (`an_provenienze`.`id` = `an_provenienze_lang`.`id_record` AND `an_provenienze_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `descrizione`';
foreach ($elements as $element) {
$filter[] = '`an_provenienze`.`id`='.prepare($element);
}
if (!empty($search)) {
$search_fields[] = '`an_provenienze_lang`.`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`an_provenienze_lang`.`title` LIKE '.prepare('%'.$search.'%');
}
break;
case 'settori':
$query = 'SELECT `an_settori`.`id`, `an_settori_lang`.`name` as descrizione FROM `an_settori` LEFT JOIN `an_settori_lang` ON (`an_settori`.`id` = `an_settori_lang`.`id_record` AND `an_settori_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `name`';
$query = 'SELECT `an_settori`.`id`, `an_settori_lang`.`title` as descrizione FROM `an_settori` LEFT JOIN `an_settori_lang` ON (`an_settori`.`id` = `an_settori_lang`.`id_record` AND `an_settori_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `title`';
foreach ($elements as $element) {
$filter[] = '`an_settori`.`id`='.prepare($element);
}
if (!empty($search)) {
$search_fields[] = '`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`title` LIKE '.prepare('%'.$search.'%');
}
break;

View File

@ -26,7 +26,7 @@ include_once __DIR__.'/../../core.php';
switch (post('op')) {
case 'delete-bulk':
$id_tipo_azienda = $dbo->fetchArray('SELECT `an_tipianagrafiche`.`id` FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).") WHERE `name`='Azienda'")[0]['id'];
$id_tipo_azienda = $dbo->fetchArray('SELECT `an_tipianagrafiche`.`id` FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).") WHERE `title`='Azienda'")[0]['id'];
foreach ($id_records as $id) {
$anagrafica = $dbo->fetchArray('SELECT `an_tipianagrafiche`.`id` FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`id`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` WHERE `idanagrafica`='.prepare($id));

View File

@ -32,45 +32,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='.(new Module())->getByField('name', 'Utenti e permessi', Models\Locale::getPredefined()->id)->id_record.'&id_record='.(new Group())->getByField('name', 'Tecnici', Models\Locale::getPredefined()->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())->getByField('title', 'Utenti e permessi', Models\Locale::getPredefined()->id)->id_record.'&id_record='.(new Group())->getByField('title', 'Tecnici', Models\Locale::getPredefined()->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='.(new Module())->getByField('name', 'Interventi', Models\Locale::getPredefined()->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())->getByField('title', 'Interventi', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Preventivi', Models\Locale::getPredefined()->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())->getByField('title', 'Preventivi', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Contratti', Models\Locale::getPredefined()->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())->getByField('title', 'Contratti', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Ordini cliente', Models\Locale::getPredefined()->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())->getByField('title', 'Ordini cliente', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Ddt di vendita', Models\Locale::getPredefined()->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())->getByField('title', 'Ddt di vendita', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Fatture di vendita', Models\Locale::getPredefined()->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())->getByField('title', 'Fatture di vendita', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Prima nota', Models\Locale::getPredefined()->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())->getByField('title', 'Prima nota', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Ordini fornitore', Models\Locale::getPredefined()->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())->getByField('title', 'Ordini fornitore', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Ddt di acquisto', Models\Locale::getPredefined()->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())->getByField('title', 'Ddt di acquisto', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Fatture di acquisto', Models\Locale::getPredefined()->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())->getByField('title', 'Fatture di acquisto', Models\Locale::getPredefined()->id).'&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='.(new Module())->getByField('name', 'Prima nota', Models\Locale::getPredefined()->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())->getByField('title', 'Prima nota', Models\Locale::getPredefined()->id).'&id_anagrafica='.$record['idanagrafica'].'"><i class="fa fa-euro"></i>'.tr('Nuova registrazione contabile (fornitore)').'
</a></li>';
}

View File

@ -32,9 +32,9 @@ $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 = Plugin::where('id', '=', (new Plugin())->getByField('name', 'Sedi', Models\Locale::getPredefined()->id))
->orWhere('id', '=', (new Plugin())->getByField('name', 'Referenti', Models\Locale::getPredefined()->id))
->orWhere('id', '=', (new Plugin())->getByField('name', 'Dichiarazioni d\'intento', Models\Locale::getPredefined()->id))
$ignore = Plugin::where('id', '=', (new Plugin())->getByField('title', 'Sedi', Models\Locale::getPredefined()->id))
->orWhere('id', '=', (new Plugin())->getByField('title', 'Referenti', Models\Locale::getPredefined()->id))
->orWhere('id', '=', (new Plugin())->getByField('title', 'Dichiarazioni d\'intento', Models\Locale::getPredefined()->id))
->get();
foreach ($ignore as $plugin) {
@ -46,9 +46,9 @@ if (!$is_cliente && !$is_fornitore && !$is_azienda && $is_tecnico) {
}
if (!$is_cliente) {
$ignore = Plugin::where('id', '=', (new Plugin())->getByField('name', 'Impianti del cliente', Models\Locale::getPredefined()->id))
->orWhere('id', '=', (new Plugin())->getByField('name', 'Contratti del cliente', Models\Locale::getPredefined()->id))
->orWhere('id', '=', (new Plugin())->getByField('name', 'Ddt del cliente', Models\Locale::getPredefined()->id))
$ignore = Plugin::where('id', '=', (new Plugin())->getByField('title', 'Impianti del cliente', Models\Locale::getPredefined()->id))
->orWhere('id', '=', (new Plugin())->getByField('title', 'Contratti del cliente', Models\Locale::getPredefined()->id))
->orWhere('id', '=', (new Plugin())->getByField('title', 'Ddt del cliente', Models\Locale::getPredefined()->id))
->get();
foreach ($ignore as $plugin) {
@ -231,7 +231,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 (new Module())->getByField('name', 'Zone', Models\Locale::getPredefined()->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())->getByField('title', 'Zone', Models\Locale::getPredefined()->id); ?>" ]}
</div>
<div class="col-md-4">
@ -460,7 +460,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|'.(new Module())->getByField('name', 'Relazioni', Models\Locale::getPredefined()->id).'" ]}
{[ "type": "select", "label": "'.tr('Relazione').'", "name": "idrelazione", "ajax-source": "relazioni", "value": "$idrelazione$", "icon-after": "add|'.(new Module())->getByField('title', 'Relazioni', Models\Locale::getPredefined()->id).'" ]}
</div>
<div class="col-md-9">
@ -474,7 +474,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
$banche = Banca::where('id_anagrafica', $anagrafica->id)->get();
$banca_predefinita = $banche->first(fn ($item) => !empty($item['predefined']));
$modulo_banche = (new Module())->getByField('name', 'Banche', Models\Locale::getPredefined()->id);
$modulo_banche = (new Module())->getByField('title', 'Banche', Models\Locale::getPredefined()->id);
if (!$banche->isEmpty()) {
echo '
<div class="row">
@ -503,11 +503,11 @@ 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|'.(new Module())->getByField('name', 'Provenienze', Models\Locale::getPredefined()->id).'" ]}
{[ "type": "select", "label": "'.tr('Provenienza cliente').'", "name": "id_provenienza", "ajax-source": "provenienze", "value": "$id_provenienza$", "icon-after": "add|'.(new Module())->getByField('title', 'Provenienze', Models\Locale::getPredefined()->id).'" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Pagamento predefinito').'", "name": "idpagamento_vendite", "values": "query=SELECT `co_pagamenti`.`id`, `co_pagamenti_lang`.`name` AS descrizione FROM `co_pagamenti` LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') GROUP BY `descrizione` ORDER BY `descrizione` ASC", "value": "$idpagamento_vendite$" ]}
{[ "type": "select", "label": "'.tr('Pagamento predefinito').'", "name": "idpagamento_vendite", "values": "query=SELECT `co_pagamenti`.`id`, `co_pagamenti_lang`.`title` AS descrizione FROM `co_pagamenti` LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') GROUP BY `descrizione` ORDER BY `descrizione` ASC", "value": "$idpagamento_vendite$" ]}
</div>
</div>
@ -537,13 +537,13 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Agente principale').'", "name": "idagente", "values": "query=SELECT `an_anagrafiche`.`idanagrafica` AS id, IF(deleted_at IS NOT NULL, CONCAT(`ragione_sociale`, \' (Eliminato)\'), `ragione_sociale` ) AS descrizione FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche_lang`.`id_record` = `an_tipianagrafiche`.`id` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` WHERE (`name`=\'Agente\' AND `deleted_at` IS NULL)'.(isset($record['idagente']) ? 'OR (`an_anagrafiche`.`idanagrafica` = '.prepare($record['idagente']).' AND `deleted_at` IS NOT NULL) ' : '').'ORDER BY `ragione_sociale`", "value": "$idagente$" ]}
{[ "type": "select", "label": "'.tr('Agente principale').'", "name": "idagente", "values": "query=SELECT `an_anagrafiche`.`idanagrafica` AS id, IF(deleted_at IS NOT NULL, CONCAT(`ragione_sociale`, \' (Eliminato)\'), `ragione_sociale` ) AS descrizione FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche_lang`.`id_record` = `an_tipianagrafiche`.`id` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` WHERE (`title`=\'Agente\' AND `deleted_at` IS NULL)'.(isset($record['idagente']) ? 'OR (`an_anagrafiche`.`idanagrafica` = '.prepare($record['idagente']).' AND `deleted_at` IS NOT NULL) ' : '').'ORDER BY `ragione_sociale`", "value": "$idagente$" ]}
</div>
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Agenti secondari').'", "multiple": "1", "name": "idagenti[]", "values": "query=SELECT `an_anagrafiche`.`idanagrafica` AS id, IF(`deleted_at` IS NOT NULL, CONCAT(`ragione_sociale`, \' (Eliminato)\'), `ragione_sociale` ) AS descrizione FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche_lang`.`id_record` = `an_tipianagrafiche`.`id` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` WHERE (`name`=\'Agente\' AND `deleted_at` IS NULL AND `an_anagrafiche`.`idanagrafica` NOT IN (SELECT `idagente` FROM `an_anagrafiche` WHERE `idanagrafica` = '.prepare($record['idanagrafica']).')) OR (`an_anagrafiche`.`idanagrafica` IN (SELECT `idagente` FROM `an_anagrafiche_agenti` WHERE `idanagrafica` = '.prepare($record['idanagrafica']).') ) ORDER BY `ragione_sociale`", "value": "$idagenti$" ]}
{[ "type": "select", "label": "'.tr('Agenti secondari').'", "multiple": "1", "name": "idagenti[]", "values": "query=SELECT `an_anagrafiche`.`idanagrafica` AS id, IF(`deleted_at` IS NOT NULL, CONCAT(`ragione_sociale`, \' (Eliminato)\'), `ragione_sociale` ) AS descrizione FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche_lang`.`id_record` = `an_tipianagrafiche`.`id` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` WHERE (`title`=\'Agente\' AND `deleted_at` IS NULL AND `an_anagrafiche`.`idanagrafica` NOT IN (SELECT `idagente` FROM `an_anagrafiche` WHERE `idanagrafica` = '.prepare($record['idanagrafica']).')) OR (`an_anagrafiche`.`idanagrafica` IN (SELECT `idagente` FROM `an_anagrafiche_agenti` WHERE `idanagrafica` = '.prepare($record['idanagrafica']).') ) ORDER BY `ragione_sociale`", "value": "$idagenti$" ]}
</div>
<div class="col-md-6">
@ -583,7 +583,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
<div class="tab-pane '.(!$is_fornitore ? 'hide' : (!$is_cliente ? 'active' : '')).'" id="fornitore">
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Pagamento predefinito').'", "name": "idpagamento_acquisti", "values": "query=SELECT `co_pagamenti`.`id`, `co_pagamenti_lang`.`name` AS descrizione FROM `co_pagamenti` LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') GROUP BY `descrizione` ORDER BY `descrizione` ASC", "value": "$idpagamento_acquisti$" ]}
{[ "type": "select", "label": "'.tr('Pagamento predefinito').'", "name": "idpagamento_acquisti", "values": "query=SELECT `co_pagamenti`.`id`, `co_pagamenti_lang`.`title` AS descrizione FROM `co_pagamenti` LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') GROUP BY `descrizione` ORDER BY `descrizione` ASC", "value": "$idpagamento_acquisti$" ]}
</div>
<div class="col-md-6">
@ -693,7 +693,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 (new Module())->getByField('name', 'Settori', Models\Locale::getPredefined()->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())->getByField('title', 'Settori', Models\Locale::getPredefined()->id); ?>" ]}
</div>
<div class="col-md-3">
@ -711,7 +711,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
<div class="row">
<div class="col-md-12">
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Tipo di anagrafica'); ?>", "name": "idtipoanagrafica[]", "values": "query=SELECT `an_tipianagrafiche`.`id`, `name` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) WHERE `an_tipianagrafiche`.`id` NOT IN (SELECT DISTINCT(`x`.`idtipoanagrafica`) FROM `an_tipianagrafiche_anagrafiche` x INNER JOIN `an_tipianagrafiche` t ON `x`.`idtipoanagrafica` = `t`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche_lang`.`id_record` = `t`.`id` AND `an_tipianagrafiche_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `x`.`idanagrafica` WHERE `an_tipianagrafiche_lang`.`name` = 'Azienda' AND `deleted_at` IS NULL) ORDER BY `name`", "value": "$idtipianagrafica$" ]}
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Tipo di anagrafica'); ?>", "name": "idtipoanagrafica[]", "values": "query=SELECT `an_tipianagrafiche`.`id`, `title` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) WHERE `an_tipianagrafiche`.`id` NOT IN (SELECT DISTINCT(`x`.`idtipoanagrafica`) FROM `an_tipianagrafiche_anagrafiche` x INNER JOIN `an_tipianagrafiche` t ON `x`.`idtipoanagrafica` = `t`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche_lang`.`id_record` = `t`.`id` AND `an_tipianagrafiche_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `x`.`idanagrafica` WHERE `an_tipianagrafiche_lang`.`title` = 'Azienda' AND `deleted_at` IS NULL) ORDER BY `title`", "value": "$idtipianagrafica$" ]}
<?php
if (in_array($id_azienda, $tipi_anagrafica)) {
echo '
@ -742,16 +742,16 @@ if (setting('Azienda predefinita') == $id_record) {
// Collegamenti diretti
// Fatture, ddt, preventivi, contratti, ordini, interventi, utenti collegati a questa anagrafica
$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento_lang`.`name` AS tipo_documento, `co_tipidocumento`.`dir`, NULL AS `deleted_at` FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_documenti`.`idanagrafica` = '.prepare($id_record).'
$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento_lang`.`title` AS tipo_documento, `co_tipidocumento`.`dir`, NULL AS `deleted_at` FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_documenti`.`idanagrafica` = '.prepare($id_record).'
UNION
SELECT `zz_users`.`idgruppo` AS id, `zz_users`.`created_at` AS data, `zz_users`.`username` AS numero, 0 AS `numero_esterno`, "Utente" AS tipo_documento, 0 AS `dir`, NULL AS `deleted_at` FROM `zz_users` WHERE `zz_users`.`idanagrafica` = '.prepare($id_record).'
UNION
SELECT `or_ordini`.`id`, `or_ordini`.`data`, `or_ordini`.`numero`, `or_ordini`.`numero_esterno`, `or_tipiordine_lang`.`name` AS tipo_documento, `or_tipiordine`.`dir`, NULL AS `deleted_at` FROM `or_ordini` INNER JOIN `or_tipiordine` ON `or_tipiordine`.`id` = `or_ordini`.`idtipoordine` LEFT JOIN `or_tipiordine_lang` ON (`or_tipiordine`.`id` = `or_tipiordine_lang`.`id_record` AND `or_tipiordine_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `or_ordini`.`idanagrafica` = '.prepare($id_record).'
SELECT `or_ordini`.`id`, `or_ordini`.`data`, `or_ordini`.`numero`, `or_ordini`.`numero_esterno`, `or_tipiordine_lang`.`title` AS tipo_documento, `or_tipiordine`.`dir`, NULL AS `deleted_at` FROM `or_ordini` INNER JOIN `or_tipiordine` ON `or_tipiordine`.`id` = `or_ordini`.`idtipoordine` LEFT JOIN `or_tipiordine_lang` ON (`or_tipiordine`.`id` = `or_tipiordine_lang`.`id_record` AND `or_tipiordine_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `or_ordini`.`idanagrafica` = '.prepare($id_record).'
UNION
SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`name` AS tipo_documento, `dt_tipiddt`.`dir`, NULL AS `deleted_at` FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id` = `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `dt_ddt`.`idanagrafica` = '.prepare($id_record).'
SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`title` AS tipo_documento, `dt_tipiddt`.`dir`, NULL AS `deleted_at` FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id` = `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `dt_ddt`.`idanagrafica` = '.prepare($id_record).'
UNION
SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice` AS numero, 0 AS numero_esterno, "Intervento" AS tipo_documento, 0 AS dir, in_interventi.deleted_at AS `deleted_at` FROM `in_interventi` LEFT JOIN `in_interventi_tecnici` ON `in_interventi`.`id` = `in_interventi_tecnici`.`idintervento` WHERE `in_interventi`.`id` IN (SELECT `idintervento` FROM `in_interventi_tecnici` WHERE `idtecnico` = '.prepare($id_record).') OR `in_interventi`.`idanagrafica` = '.prepare($id_record).'

View File

@ -25,7 +25,7 @@ use Modules\Anagrafiche\Tipo;
$rs = Tipo::get();
foreach ($rs as $riga) {
${'id_'.strtolower($riga->getTranslation('name', Models\Locale::getPredefined()->id))} = $riga->id;
${'id_'.strtolower($riga->getTranslation('title', Models\Locale::getPredefined()->id))} = $riga->id;
}
if (!empty($id_record)) {
@ -35,7 +35,7 @@ if (!empty($id_record)) {
`an_anagrafiche`.*,
GROUP_CONCAT(`an_tipianagrafiche`.`id`) AS idtipianagrafica,
GROUP_CONCAT(`an_anagrafiche_agenti`.`idagente`) AS idagenti,
GROUP_CONCAT(`an_tipianagrafiche_lang`.`name`) AS tipianagrafica
GROUP_CONCAT(`an_tipianagrafiche_lang`.`title`) AS tipianagrafica
FROM
`an_anagrafiche`
INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica`

View File

@ -26,8 +26,8 @@ use Models\PrintTemplate;
$id_record = filter('id_record');
$dir = filter('dir');
$nome_stampa = filter('nome_stampa');
$id_print = (new PrintTemplate())->getByField('name', $nome_stampa, Models\Locale::getPredefined()->id);
$id_module = (new Module())->getByField('name', 'Stampe contabili', Models\Locale::getPredefined()->id);
$id_print = (new PrintTemplate())->getByField('title', $nome_stampa, Models\Locale::getPredefined()->id);
$id_module = (new Module())->getByField('title', 'Stampe contabili', Models\Locale::getPredefined()->id);
$year = (new Carbon($_SESSION['period_end']))->format('Y');

View File

@ -60,53 +60,53 @@ if (empty($_GET['visualizza_allegati'])) {
}
// Interventi dell'anagrafica
if ($user->is_admin || in_array((new Module())->getByField('name', 'Interventi', Models\Locale::getPredefined()->id), $permessi)) {
$interventi = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('name', 'Interventi', Models\Locale::getPredefined()->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())->getByField('title', 'Interventi', Models\Locale::getPredefined()->id), $permessi)) {
$interventi = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('title', 'Interventi', Models\Locale::getPredefined()->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));
$documenti = array_merge($documenti, $interventi);
}
// Preventivi dell'anagrafica
if ($user->is_admin || in_array((new Module())->getByField('name', 'Preventivi', Models\Locale::getPredefined()->id), $permessi)) {
$preventivi = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('name', 'Preventivi', Models\Locale::getPredefined()->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())->getByField('title', 'Preventivi', Models\Locale::getPredefined()->id), $permessi)) {
$preventivi = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('title', 'Preventivi', Models\Locale::getPredefined()->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));
$documenti = array_merge($documenti, $preventivi);
}
// Contratti dell'anagrafica
if ($user->is_admin || in_array((new Module())->getByField('name', 'Contratti', Models\Locale::getPredefined()->id), $permessi)) {
$contratti = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('name', 'Contratti', Models\Locale::getPredefined()->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())->getByField('title', 'Contratti', Models\Locale::getPredefined()->id), $permessi)) {
$contratti = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('title', 'Contratti', Models\Locale::getPredefined()->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));
$documenti = array_merge($documenti, $contratti);
}
// DDT dell'anagrafica
if ($user->is_admin || in_array((new Module())->getByField('name', 'Ddt di vendita', Models\Locale::getPredefined()->id), $permessi)) {
$ddt_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('name', 'Ddt di vendita', Models\Locale::getPredefined()->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())->getByField('title', 'Ddt di vendita', Models\Locale::getPredefined()->id), $permessi)) {
$ddt_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('title', 'Ddt di vendita', Models\Locale::getPredefined()->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));
$documenti = array_merge($documenti, $ddt_vendita);
}
if ($user->is_admin || in_array((new Module())->getByField('name', 'Ddt di acquisto', Models\Locale::getPredefined()->id), $permessi)) {
$ddt_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('name', 'Ddt di acquisto', Models\Locale::getPredefined()->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())->getByField('title', 'Ddt di acquisto', Models\Locale::getPredefined()->id), $permessi)) {
$ddt_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('title', 'Ddt di acquisto', Models\Locale::getPredefined()->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));
$documenti = array_merge($documenti, $ddt_acquisto);
}
// Fatture dell'anagrafica
if ($user->is_admin || in_array((new Module())->getByField('name', 'Fatture di vendita', Models\Locale::getPredefined()->id), $permessi)) {
$fatture_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('name', 'Fatture di vendita', Models\Locale::getPredefined()->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())->getByField('title', 'Fatture di vendita', Models\Locale::getPredefined()->id), $permessi)) {
$fatture_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('title', 'Fatture di vendita', Models\Locale::getPredefined()->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));
$documenti = array_merge($documenti, $fatture_vendita);
}
if ($user->is_admin || in_array((new Module())->getByField('name', 'Fatture di acquisto', Models\Locale::getPredefined()->id), $permessi)) {
$fatture_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('name', 'Fatture di acquisto', Models\Locale::getPredefined()->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())->getByField('title', 'Fatture di acquisto', Models\Locale::getPredefined()->id), $permessi)) {
$fatture_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('title', 'Fatture di acquisto', Models\Locale::getPredefined()->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));
$documenti = array_merge($documenti, $fatture_acquisto);
}
// Ordini dell'anagrafica
if ($user->is_admin || in_array((new Module())->getByField('name', 'Ordini cliente', Models\Locale::getPredefined()->id), $permessi)) {
$ordini_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('name', 'Ordini cliente', Models\Locale::getPredefined()->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())->getByField('title', 'Ordini cliente', Models\Locale::getPredefined()->id), $permessi)) {
$ordini_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('title', 'Ordini cliente', Models\Locale::getPredefined()->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));
$documenti = array_merge($documenti, $ordini_vendita);
}
if ($user->is_admin || in_array((new Module())->getByField('name', 'Ordini fornitore', Models\Locale::getPredefined()->id), $permessi)) {
$ordini_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('name', 'Ordini fornitore', Models\Locale::getPredefined()->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())->getByField('title', 'Ordini fornitore', Models\Locale::getPredefined()->id), $permessi)) {
$ordini_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByField('title', 'Ordini fornitore', Models\Locale::getPredefined()->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));
$documenti = array_merge($documenti, $ordini_acquisto);
}
@ -136,7 +136,7 @@ if (empty($_GET['visualizza_allegati'])) {
// Anteprime supportate dal browser
if ($file->hasPreview()) {
echo '
<button class="btn btn-xs btn-info" type="button" data-title="'.prepareToField($file->getTranslation('name')).' <small style=\'color:white\'><i>('.$file->filename.')</i></small>" data-href="'.base_path().'/view.php?file_id='.$file->id.'">
<button class="btn btn-xs btn-info" type="button" data-title="'.prepareToField($file->getTranslation('title')).' <small style=\'color:white\'><i>('.$file->filename.')</i></small>" data-href="'.base_path().'/view.php?file_id='.$file->id.'">
<i class="fa fa-eye"></i>
</button>';
} else {
@ -150,10 +150,10 @@ if (empty($_GET['visualizza_allegati'])) {
</td>
<td>
<a href="'.base_path().'/view.php?file_id='.$file->id.'" target="_blank">
<i class="fa fa-external-link"></i> '.$file->getTranslation('name').'
<i class="fa fa-external-link"></i> '.$file->getTranslation('title').'
</a>
</td>
<td>'.Modules::link(Module::find($allegato['id_module']->getTranslation('name')), $file->id_record, $documento['descrizione']).'</td>
<td>'.Modules::link(Module::find($allegato['id_module']->getTranslation('title')), $file->id_record, $documento['descrizione']).'</td>
<td class="text-center">'.Translator::dateToLocale($file->created_at).'</td>
</tr>';
}

View File

@ -34,7 +34,7 @@ class Anagrafiche extends Resource implements RetrieveInterface, CreateInterface
$select = [
'`an_anagrafiche`.*',
'`an_nazioni_lang`.`name` AS nazione',
'`an_nazioni_lang`.`title` AS nazione',
];
$joins[] = [
@ -64,7 +64,7 @@ class Anagrafiche extends Resource implements RetrieveInterface, CreateInterface
'an_tipianagrafiche_lang' => '`an_tipianagrafiche_lang`.`idrecord` = `an_tipianagrafiche`.`id` AND `an_tipianagrafiche_lang`.`idlang` = '.\Models\Locale::getDefault()->id,
];
$where[] = ['`an_tipianagrafiche_lang`.`name`', '=', $type];
$where[] = ['`an_tipianagrafiche_lang`.`title`', '=', $type];
}
return [

View File

@ -89,7 +89,7 @@ class Anagrafica extends Model
public static function fromTipo($type)
{
$tipologia = (new TipoAnagrafica())->getByField('name', $type);
$tipologia = (new TipoAnagrafica())->getByField('title', $type);
$anagrafiche = self::whereHas('tipi', function ($query) use ($tipologia) {
$query->where('an_tipianagrafiche.id', '=', $tipologia);
@ -156,7 +156,7 @@ class Anagrafica extends Model
public function setTipologieAttribute(array $tipologie)
{
if ($this->isAzienda()) {
$tipologie[] = (new TipoAnagrafica())->getByField('name', 'Azienda', \Models\Locale::getPredefined()->id);
$tipologie[] = (new TipoAnagrafica())->getByField('title', 'Azienda', \Models\Locale::getPredefined()->id);
}
$tipologie = array_clean($tipologie);
@ -168,7 +168,7 @@ class Anagrafica extends Model
$diff = $actual->diff($previous);
foreach ($diff as $tipo) {
$method = 'fix'.$tipo->getTranslation('name');
$method = 'fix'.$tipo->getTranslation('title');
if (method_exists($this, $method)) {
self::$method($this);
}
@ -192,7 +192,7 @@ class Anagrafica extends Model
*/
public function isTipo($type)
{
return $this->tipi()->get()->search(fn ($item, $key) => TipoAnagrafica::find($item->id)->getTranslation('name', \Models\Locale::getPredefined()->id) == $type) !== false;
return $this->tipi()->get()->search(fn ($item, $key) => TipoAnagrafica::find($item->id)->getTranslation('title', \Models\Locale::getPredefined()->id) == $type) !== false;
}
public function delete()

View File

@ -253,7 +253,7 @@ class CSV extends CSVImporter
$tipi_selezionati = explode(',', $record['tipologia']);
foreach ($tipi_selezionati as $tipo) {
$id_tipo = (new Tipo())->getByField('name', $tipo);
$id_tipo = (new Tipo())->getByField('title', $tipo);
// Creo il tipo anagrafica se non esiste
if (empty($id_tipo)) {
@ -264,7 +264,7 @@ class CSV extends CSVImporter
'name' => $tipo,
])['id'];
$id_tipo = (new Tipo())->getByField('name', $tipo);
$id_tipo = (new Tipo())->getByField('title', $tipo);
}
$tipologie[] = $id_tipo;
@ -280,7 +280,7 @@ class CSV extends CSVImporter
// Fix per campi con contenuti derivati da query implicite
if (!empty($record['id_nazione'])) {
$record['id_nazione'] = (new Nazione())->getByField('name', 'Italia', \Models\Locale::getPredefined()->id);
$record['id_nazione'] = (new Nazione())->getByField('title', 'Italia', \Models\Locale::getPredefined()->id);
} else {
unset($record['id_nazione']);
}
@ -289,7 +289,7 @@ class CSV extends CSVImporter
$id_settore = '';
if (!empty($record['id_settore'])) {
$settore = $record['id_settore'];
$id_settore = $database->fetchArray('SELECT `an_settori`.`id` FROM `an_settori` LEFT JOIN `an_settori_lang` ON (`an_settori`.`id` = `an_settori_lang`.`id_record` AND `an_settori_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') WHERE LOWER(`name`) = LOWER('.prepare($settore).')');
$id_settore = $database->fetchArray('SELECT `an_settori`.`id` FROM `an_settori` LEFT JOIN `an_settori_lang` ON (`an_settori`.`id` = `an_settori_lang`.`id_record` AND `an_settori_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') WHERE LOWER(`title`) = LOWER('.prepare($settore).')');
if (empty($id_settore)) {
$id_settore = database()->query('INSERT INTO `an_settori` (`id`, `created_at`, `updated_at`) VALUES (NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)');

View File

@ -31,7 +31,7 @@ class Nazione extends Model
protected $table = 'an_nazioni';
protected static $translated_fields = [
'name',
'title',
];
public function anagrafiche()

View File

@ -30,7 +30,7 @@ class Tipo extends Model
protected $table = 'an_tipianagrafiche';
protected static $translated_fields = [
'name',
'title',
];
public static function build($descrizione = null)

View File

@ -72,7 +72,7 @@ switch (post('op')) {
$articolo->um = post('um');
$articolo->um_secondaria = post('um_secondaria');
$articolo->fattore_um_secondaria = post('fattore_um_secondaria');
$articolo->setTranslation('name', post('descrizione'));
$articolo->setTranslation('title', post('descrizione'));
$articolo->save();
// Aggiornamento delle varianti per i campi comuni
@ -94,7 +94,7 @@ switch (post('op')) {
'prezzo_acquisto' => post('prezzo_acquisto'),
'prezzo_vendita' => post('prezzo_vendita'),
'idiva_vendita' => post('idiva_vendita') ?: null,
'iva_vendita' => $iva ? $iva->getTranslation('name') : null,
'iva_vendita' => $iva ? $iva->getTranslation('title') : null,
'um_secondaria' => post('um_secondaria'),
'um' => post('um'),
],
@ -152,7 +152,7 @@ switch (post('op')) {
$componente = post('componente_filename');
$articolo->componente_filename = $componente;
$articolo->attivo = post('attivo');
$articolo->setTranslation('name', post('descrizione'));
$articolo->setTranslation('title', post('descrizione'));
$articolo->note = post('note');
$articolo->save();
@ -268,7 +268,7 @@ switch (post('op')) {
}
// Salvataggio immagine relativa
$nome_immagine = $articolo->immagine_upload->getTranslation('name');
$nome_immagine = $articolo->immagine_upload->getTranslation('title');
$new->immagine = $new->uploads()->where('name', $nome_immagine)->first()->filename;
$new->save();

View File

@ -46,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 (new Module())->getByField('name', 'Categorie articoli', Models\Locale::getPredefined()->id); ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Categoria'); ?>", "name": "categoria", "required": 0, "ajax-source": "categorie", "icon-after": "add|<?php echo (new Module())->getByField('title', 'Categorie articoli', Models\Locale::getPredefined()->id); ?>" ]}
</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 (new Module())->getByField('name', 'Categorie articoli', Models\Locale::getPredefined()->id); ?>||hide" ]}
{[ "type": "select", "label": "<?php echo tr('Sottocategoria'); ?>", "name": "subcategoria", "id": "subcategoria_add", "ajax-source": "sottocategorie", "icon-after": "add|<?php echo (new Module())->getByField('title', 'Categorie articoli', Models\Locale::getPredefined()->id); ?>||hide" ]}
</div>
</div>
@ -104,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 (new Module())->getByField('name', 'Unità di misura articoli', Models\Locale::getPredefined()->id); ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Unità di misura'); ?>", "name": "um", "value": "", "ajax-source": "misure", "icon-after": "add|<?php echo (new Module())->getByField('title', 'Unità di misura articoli', Models\Locale::getPredefined()->id); ?>" ]}
</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

@ -76,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 = (new Module())->getByField('name', $documenti[$i]['modulo']);
$link_id = (new Module())->getByField('title', $documenti[$i]['modulo']);
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'].'"';
@ -97,7 +97,7 @@ switch ($resource) {
$documenti = $dbo->fetchArray('
SELECT
`iddocumento` AS id,
`co_tipidocumento_lang`.`name` AS tipo,
`co_tipidocumento_lang`.`title` AS tipo,
"Fatture di vendita" AS modulo,
((`subtotale` - `sconto`) / `qta` * IF(`co_tipidocumento`.`reversed`, -1, 1)) AS costo_unitario,
`co_documenti`.`numero` AS n_documento,
@ -113,7 +113,7 @@ switch ($resource) {
UNION
SELECT
`idddt` AS id,
`dt_tipiddt_lang`.`name` AS tipo,
`dt_tipiddt_lang`.`title` AS tipo,
"Ddt di vendita" AS modulo,
(`subtotale` - `sconto`) / `qta` AS costo_unitario,
`dt_ddt`.`numero` AS n_documento,
@ -137,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 = (new Module())->getByField('name', $documenti[$i]['modulo']);
$link_id = (new Module())->getByField('title', $documenti[$i]['modulo']);
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'].'"';
@ -157,7 +157,7 @@ switch ($resource) {
$documenti = $dbo->fetchArray('
SELECT
`iddocumento` AS id,
`co_tipidocumento_lang`.`name` AS tipo,
`co_tipidocumento_lang`.`title` AS tipo,
"Fatture di acquisto" AS modulo,
((`subtotale` - `sconto`) / `qta` * IF(`co_tipidocumento`.`reversed`, -1, 1)) AS costo_unitario,
`co_documenti`.`numero` AS n_documento,
@ -173,7 +173,7 @@ switch ($resource) {
UNION
SELECT
`idddt` AS id,
`dt_tipiddt_lang`.`name` AS tipo,
`dt_tipiddt_lang`.`title` AS tipo,
"Ddt di acquisto" AS modulo,
(`subtotale` - `sconto`) / `qta` AS costo_unitario,
`dt_ddt`.`numero` AS n_documento,
@ -197,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 = (new Module())->getByField('name', $documenti[$i]['modulo']);
$link_id = (new Module())->getByField('title', $documenti[$i]['modulo']);
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

@ -20,17 +20,17 @@
include_once __DIR__.'/../../../core.php';
use Models\Module;
$link_id = (new Module())->getByField('name', 'Articoli', Models\Locale::getPredefined()->id);
$link_id = (new Module())->getByField('title', 'Articoli', Models\Locale::getPredefined()->id);
$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'));
$fields = [
'codice' => 'mg_articoli.codice',
'barcode' => 'mg_articoli.barcode',
'descrizione' => 'mg_articoli_lang.name',
'categoria' => '(SELECT `name` FROM `mg_categorie` LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `mg_categorie`.`id` = `mg_articoli`.`id_categoria`)',
'subcategoria' => '(SELECT `name` FROM `mg_categorie` LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `mg_categorie`.`id` = `mg_articoli`.`id_sottocategoria`)',
'codice' => '`mg_articoli`.`codice`',
'barcode' => '`mg_articoli`.`barcode`',
'descrizione' => '`mg_articoli_lang`.`title`',
'categoria' => '(SELECT `title` FROM `mg_categorie` LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `mg_categorie`.`id` = `mg_articoli`.`id_categoria`)',
'subcategoria' => '(SELECT `title` FROM `mg_categorie` LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `mg_categorie`.`id` = `mg_articoli`.`id_sottocategoria`)',
'Note' => 'note',
];

View File

@ -40,7 +40,7 @@ switch ($resource) {
$query = "SELECT
DISTINCT `mg_articoli`.`id`,
IF(`categoria_lang`.`name` IS NOT NULL, CONCAT(`categoria_lang`.`name`, IF(`sottocategoria_lang`.`name` IS NOT NULL, CONCAT(' (', `sottocategoria_lang`.`name`, ')'), '-')), '<i>".tr('Nessuna categoria')."</i>') AS optgroup,
IF(`categoria_lang`.`title` IS NOT NULL, CONCAT(`categoria_lang`.`title`, IF(`sottocategoria_lang`.`title` IS NOT NULL, CONCAT(' (', `sottocategoria_lang`.`title`, ')'), '-')), '<i>".tr('Nessuna categoria')."</i>') AS optgroup,
`mg_articoli`.`barcode`,
`mg_articoli`.".($prezzi_ivati ? '`prezzo_vendita_ivato`' : '`prezzo_vendita`').' AS prezzo_vendita,
`mg_articoli`.`prezzo_vendita_ivato` AS prezzo_vendita_ivato,
@ -50,7 +50,7 @@ switch ($resource) {
if ($usare_dettaglio_fornitore) {
$query .= '
IFNULL(`mg_fornitore_articolo`.`codice_fornitore`, `mg_articoli`.`codice`) AS codice,
IFNULL(`mg_fornitore_articolo`.`descrizione`, `mg_articoli_lang`.`name`) AS descrizione,
IFNULL(`mg_fornitore_articolo`.`descrizione`, `mg_articoli_lang`.`title`) AS descrizione,
IFNULL(`mg_fornitore_articolo`.`prezzo_acquisto`, `mg_articoli`.`prezzo_acquisto`) AS prezzo_acquisto,
IFNULL(`mg_fornitore_articolo`.`qta_minima`, 0) AS qta_minima,
`mg_fornitore_articolo`.`id` AS id_dettaglio_fornitore,';
@ -59,7 +59,7 @@ switch ($resource) {
else {
$query .= '
`mg_articoli`.`codice` AS codice,
`mg_articoli_lang`.`name` AS descrizione,
`mg_articoli_lang`.`title` AS descrizione,
`mg_articoli`.`prezzo_acquisto` AS prezzo_acquisto,
0 AS qta_minima,
`mg_fornitore_articolo`.`codice_fornitore` AS codice_fornitore,
@ -69,12 +69,12 @@ switch ($resource) {
if ($usare_iva_anagrafica) {
$query .= '
IFNULL(`iva_anagrafica`.`id`, IFNULL(`iva_articolo`.`id`, `iva_predefinita`.`id`)) AS idiva_vendita,
IFNULL(`iva_anagrafica_lang`.`name`, IFNULL(`iva_articolo_lang`.`name`, `iva_predefinita_lang`.`name`)) AS iva_vendita,
IFNULL(`iva_anagrafica_lang`.`title`, IFNULL(`iva_articolo_lang`.`title`, `iva_predefinita_lang`.`title`)) AS iva_vendita,
IFNULL(`iva_anagrafica`.`percentuale`, IFNULL(`iva_articolo`.`percentuale`, `iva_predefinita`.`percentuale`)) AS percentuale,';
} else {
$query .= '
IFNULL(`iva_articolo`.`id`, `iva_predefinita`.`id`) AS idiva_vendita,
IFNULL(`iva_articolo_lang`.`name`, `iva_predefinita_lang`.`name`) AS iva_vendita,
IFNULL(`iva_articolo_lang`.`title`, `iva_predefinita_lang`.`title`) AS iva_vendita,
IFNULL(`iva_articolo`.`percentuale`, `iva_predefinita`.`percentuale`) AS percentuale,';
}
@ -92,8 +92,8 @@ switch ($resource) {
`mg_articoli`.`abilita_serial`,
`mg_articoli`.`idconto_vendita`,
`mg_articoli`.`idconto_acquisto`,
`categoria_lang`.`name` AS categoria,
`sottocategoria_lang`.`name` AS sottocategoria,
`categoria_lang`.`title` AS categoria,
`sottocategoria_lang`.`title` AS sottocategoria,
`righe`.`media_ponderata`,
CONCAT(`conto_vendita_categoria` .`numero`, '.', `conto_vendita_sottocategoria`.`numero`, ' ', `conto_vendita_sottocategoria`.`descrizione`) AS idconto_vendita_title,
CONCAT(`conto_acquisto_categoria` .`numero`, '.', `conto_acquisto_sottocategoria`.`numero`, ' ', `conto_acquisto_sottocategoria`.`descrizione`) AS idconto_acquisto_title
@ -155,10 +155,10 @@ switch ($resource) {
$query .= '
ORDER BY
`categoria_lang`.`name` ASC,
`sottocategoria_lang`.`name` ASC,
`categoria_lang`.`title` ASC,
`sottocategoria_lang`.`title` ASC,
`mg_articoli`.`codice` ASC,
`mg_articoli_lang`.`name` ASC';
`mg_articoli_lang`.`title` ASC';
foreach ($elements as $element) {
$filter[] = '`mg_articoli`.`id`='.prepare($element);
@ -176,11 +176,11 @@ switch ($resource) {
}
if (!empty($search)) {
$search_fields[] = '`mg_articoli_lang`.`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`mg_articoli_lang`.`title` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`mg_articoli`.`codice` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`mg_articoli`.`barcode` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`categoria_lang`.`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`sottocategoria_lang`.`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`categoria_lang`.`title` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`sottocategoria_lang`.`title` LIKE '.prepare('%'.$search.'%');
if ($usare_dettaglio_fornitore) {
$search_fields[] = '`mg_fornitore_articolo`.`descrizione` LIKE '.prepare('%'.$search.'%');
@ -220,7 +220,7 @@ switch ($resource) {
break;
case 'categorie':
$query = 'SELECT `mg_categorie`.`id`, `name` AS descrizione FROM `mg_categorie` LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `name`';
$query = 'SELECT `mg_categorie`.`id`, `title` AS descrizione FROM `mg_categorie` LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `title`';
foreach ($elements as $element) {
$filter[] = '`mg_categorie`.`id`='.prepare($element);
@ -229,7 +229,7 @@ switch ($resource) {
$where[] = '`parent` IS NULL';
if (!empty($search)) {
$search_fields[] = '`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`title` LIKE '.prepare('%'.$search.'%');
}
break;
@ -240,7 +240,7 @@ switch ($resource) {
*/
case 'sottocategorie':
if (isset($superselect['id_categoria'])) {
$query = 'SELECT `mg_categorie`.`id`, `name` AS descrizione FROM `mg_categorie` LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `name`';
$query = 'SELECT `mg_categorie`.`id`, `title` AS descrizione FROM `mg_categorie` LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `title`';
foreach ($elements as $element) {
$filter[] = '`mg_categorie`.`id`='.prepare($element);
@ -249,7 +249,7 @@ switch ($resource) {
$where[] = '`parent`='.prepare($superselect['id_categoria']);
if (!empty($search)) {
$search_fields[] = '`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`title` LIKE '.prepare('%'.$search.'%');
}
}
break;
@ -281,7 +281,7 @@ switch ($resource) {
`mg_articoli`.`id`,
`mg_articoli`.`id`,
IFNULL(`mg_fornitore_articolo`.`codice_fornitore`, `mg_articoli`.`codice`) AS codice,
IFNULL(`mg_fornitore_articolo`.`descrizione`, `mg_articoli_lang`.`name`) AS descrizione,
IFNULL(`mg_fornitore_articolo`.`descrizione`, `mg_articoli_lang`.`title`) AS descrizione,
IFNULL(`mg_fornitore_articolo`.`prezzo_acquisto`, `mg_articoli`.`prezzo_acquisto`) AS prezzo_acquisto,
`mg_articoli`.'.($prezzi_ivati ? '`prezzo_vendita_ivato`' : '`prezzo_vendita`').' AS prezzo_vendita,
`mg_articoli`.`prezzo_vendita_ivato` AS prezzo_vendita_ivato,

View File

@ -31,7 +31,7 @@ use Plugins\ListinoClienti\DettaglioPrezzo;
include_once __DIR__.'/../../core.php';
// Segmenti
$id_preventivi = (new Module())->getByField('name', 'Preventivi', Models\Locale::getPredefined()->id);
$id_preventivi = (new Module())->getByField('title', 'Preventivi', Models\Locale::getPredefined()->id);
$id_segment = $_SESSION['module_'.$id_preventivi]['id_segment'];
switch (post('op')) {
@ -197,7 +197,7 @@ switch (post('op')) {
$articolo = ArticoloPreventivo::build($preventivo, $originale);
$id_iva = $originale->idiva_vendita ?: setting('Iva predefinita');
$articolo->qta = 1;
$articolo->setTranslation('name', $originale->getTranslation('name'));
$articolo->setTranslation('title', $originale->getTranslation('title'));
$articolo->um = $originale->um ?: null;
$articolo->costo_unitario = $originale->prezzo_acquisto;
$articolo->prezzo_unitario = $originale->prezzo_vendita;

View File

@ -53,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 (new Module())->getByField('name', 'Categorie articoli', Models\Locale::getPredefined()->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())->getByField('title', 'Categorie articoli', Models\Locale::getPredefined()->id); ?>" ]}
</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 (new Module())->getByField('name', 'Categorie articoli', Models\Locale::getPredefined()->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())->getByField('title', 'Categorie articoli', Models\Locale::getPredefined()->id); ?>|id_original=<?php echo $record['id_categoria']; ?>" ]}
</div>
</div>
</div>
@ -65,7 +65,7 @@ use Modules\Iva\Aliquota;
<div class="row">
<div class="col-md-12">
{[ "type": "textarea", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "<?php echo $articolo->getTranslation('name'); ?>", "charcounter": 1 ]}
{[ "type": "textarea", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "<?php echo $articolo->getTranslation('title'); ?>", "charcounter": 1 ]}
</div>
</div>
@ -86,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 (new Module())->getByField('name', 'Unità di misura', Models\Locale::getPredefined()->id); ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Unità di misura'); ?>", "name": "um", "value": "$um$", "ajax-source": "misure", "icon-after": "add|<?php echo (new Module())->getByField('title', 'Unità di misura', Models\Locale::getPredefined()->id); ?>" ]}
</div>
</div>
@ -393,9 +393,9 @@ $("#scorporaIva").click( function() {
// Collegamenti diretti
// Fatture, ddt, preventivi collegati a questo articolo
$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento_lang`.`name` AS tipo_documento, `co_tipidocumento`.`dir`, SUM(`co_righe_documenti`.`qta`) AS qta_totale, ((SUM(`co_righe_documenti`.`prezzo_unitario`)-SUM(`co_righe_documenti`.`sconto_unitario`))*SUM(`co_righe_documenti`.`qta`)) AS prezzo_totale, SUM(`co_righe_documenti`.`prezzo_unitario`)-SUM(`co_righe_documenti`.`sconto_unitario`) AS prezzo_unitario FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `co_righe_documenti` ON `co_documenti`.`id`=`co_righe_documenti`.`iddocumento` WHERE `co_righe_documenti`.`idarticolo` = '.prepare($id_record).' GROUP BY `co_documenti`.`id`
$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento_lang`.`title` AS tipo_documento, `co_tipidocumento`.`dir`, SUM(`co_righe_documenti`.`qta`) AS qta_totale, ((SUM(`co_righe_documenti`.`prezzo_unitario`)-SUM(`co_righe_documenti`.`sconto_unitario`))*SUM(`co_righe_documenti`.`qta`)) AS prezzo_totale, SUM(`co_righe_documenti`.`prezzo_unitario`)-SUM(`co_righe_documenti`.`sconto_unitario`) AS prezzo_unitario FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `co_righe_documenti` ON `co_documenti`.`id`=`co_righe_documenti`.`iddocumento` WHERE `co_righe_documenti`.`idarticolo` = '.prepare($id_record).' GROUP BY `co_documenti`.`id`
UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`name` AS tipo_documento, `dt_tipiddt`.`dir`, SUM(dt_righe_ddt.qta) AS qta_totale, ((SUM(dt_righe_ddt.prezzo_unitario)-SUM(dt_righe_ddt.sconto_unitario))*SUM(dt_righe_ddt.qta)) AS prezzo_totale, SUM(dt_righe_ddt.prezzo_unitario)-SUM(dt_righe_ddt.sconto_unitario) AS prezzo_unitario FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record` = `dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `dt_righe_ddt` ON `dt_ddt`.`id`=`dt_righe_ddt`.`idddt` WHERE `dt_righe_ddt`.`idarticolo` = '.prepare($id_record).' GROUP BY `dt_ddt`.`id`
UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`title` AS tipo_documento, `dt_tipiddt`.`dir`, SUM(dt_righe_ddt.qta) AS qta_totale, ((SUM(dt_righe_ddt.prezzo_unitario)-SUM(dt_righe_ddt.sconto_unitario))*SUM(dt_righe_ddt.qta)) AS prezzo_totale, SUM(dt_righe_ddt.prezzo_unitario)-SUM(dt_righe_ddt.sconto_unitario) AS prezzo_unitario FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt_lang`.`id_record` = `dt_tipiddt`.`id` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `dt_righe_ddt` ON `dt_ddt`.`id`=`dt_righe_ddt`.`idddt` WHERE `dt_righe_ddt`.`idarticolo` = '.prepare($id_record).' GROUP BY `dt_ddt`.`id`
UNION SELECT `co_preventivi`.`id`, `co_preventivi`.`data_bozza`, `co_preventivi`.`numero`, 0 AS numero_esterno , "Preventivo" AS tipo_documento, 0 AS dir, SUM(co_righe_preventivi.qta) AS qta_totale, ((SUM(co_righe_preventivi.prezzo_unitario)-SUM(co_righe_preventivi.sconto_unitario))*SUM(co_righe_preventivi.qta)) AS prezzo_totale, SUM(co_righe_preventivi.prezzo_unitario)-SUM(co_righe_preventivi.sconto_unitario) AS prezzo_unitario FROM `co_preventivi` INNER JOIN `co_righe_preventivi` ON `co_preventivi`.`id`=`co_righe_preventivi`.`idpreventivo` WHERE `co_righe_preventivi`.`idarticolo` = '.prepare($id_record).' GROUP BY co_preventivi.id ORDER BY `data`');

View File

@ -24,5 +24,5 @@ use Modules\Articoli\Articolo;
if (!empty($id_record)) {
$articolo = Articolo::withTrashed()->find($id_record);
$record = $dbo->fetchOne('SELECT *, `mg_articoli_lang`.`name` as descrizione, (SELECT COUNT(id) FROM `mg_prodotti` WHERE `id_articolo` = `mg_articoli`.`id`) AS serial FROM `mg_articoli` LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `mg_articoli`.`id`='.prepare($id_record));
$record = $dbo->fetchOne('SELECT *, `mg_articoli_lang`.`title` as descrizione, (SELECT COUNT(id) FROM `mg_prodotti` WHERE `id_articolo` = `mg_articoli`.`id`) AS serial FROM `mg_articoli` LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `mg_articoli`.`id`='.prepare($id_record));
}

View File

@ -41,7 +41,7 @@ include_once __DIR__.'/../../../core.php';
</div>
<div class="col-md-4">
{["type": "select", "label": "<?php echo tr('Causale'); ?>", "name": "causale", "values": "query=SELECT `mg_causali_movimenti`.`id`, `name` as text, `description` as descrizione, `tipo_movimento` FROM `mg_causali_movimenti` LEFT JOIN `mg_causali_movimenti_lang` ON (`mg_causali_movimenti`.`id` = `mg_causali_movimenti_lang`.`id_record` AND `mg_causali_movimenti_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>)", "value": 1, "required": 1 ]}
{["type": "select", "label": "<?php echo tr('Causale'); ?>", "name": "causale", "values": "query=SELECT `mg_causali_movimenti`.`id`, `title` as text, `description` as descrizione, `tipo_movimento` FROM `mg_causali_movimenti` LEFT JOIN `mg_causali_movimenti_lang` ON (`mg_causali_movimenti`.`id` = `mg_causali_movimenti_lang`.`id_record` AND `mg_causali_movimenti_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>)", "value": 1, "required": 1 ]}
<input type="hidden" name="tipo_movimento" id="tipo_movimento" value="carico">
</div>
</div>

View File

@ -57,7 +57,7 @@ echo '
</div>
<div class="col-md-6">
<span><b>'.tr('Descrizione: ').'</b>'.$articolo->getTranslation('name').'</span>
<span><b>'.tr('Descrizione: ').'</b>'.$articolo->getTranslation('title').'</span>
</div>
</div>
</div>

View File

@ -154,7 +154,7 @@ if (empty(get('modal'))) {
$module = 'Fatture di acquisto';
// 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(Models\Locale::getDefault()->id).') WHERE `co_righe_documenti`.`id`='.prepare($acquisto['id_riga_documento']);
$query = 'SELECT *, `co_tipidocumento_lang`.`title` 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(Models\Locale::getDefault()->id).') WHERE `co_righe_documenti`.`id`='.prepare($acquisto['id_riga_documento']);
$data = $dbo->fetchArray($query);
$id = $data[0]['iddocumento'];
@ -166,7 +166,7 @@ if (empty(get('modal'))) {
$query = 'SELECT
*,
`dt_tipiddt_lang`.`name` AS tipo_documento,
`dt_tipiddt_lang`.`title` AS tipo_documento,
`dt_tipiddt`.`dir` AS `dir`,
`dt_ddt`.`numero` AS numero,
`dt_ddt`.`data` AS data,
@ -190,7 +190,7 @@ if (empty(get('modal'))) {
// Ricerca inserimenti su ordini
$query = 'SELECT
*,
`or_tipiordine_lang`.`name` AS tipo_documento,
`or_tipiordine_lang`.`title` AS tipo_documento,
`or_tipiordine`.`dir`,
`or_ordini`.`numero`,
`or_ordini`.`numero_esterno`,
@ -264,7 +264,7 @@ if (empty(get('modal'))) {
$module = 'Fatture di vendita';
// 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(Models\Locale::getDefault()->id).') WHERE `co_righe_documenti`.`id`='.prepare($vendita['id_riga_documento']);
$query = 'SELECT *, `co_tipidocumento_lang`.`title` 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(Models\Locale::getDefault()->id).') WHERE `co_righe_documenti`.`id`='.prepare($vendita['id_riga_documento']);
$data = $dbo->fetchArray($query);
$id = $data[0]['iddocumento'];
@ -276,7 +276,7 @@ if (empty(get('modal'))) {
$query = 'SELECT
*,
`dt_tipiddt_lang`.`name` AS tipo_documento,
`dt_tipiddt_lang`.`title` AS tipo_documento,
`dt_ddt`.`dir`,
`dt_ddt`.`numero`,
`dt_ddt`.`numero_esterno`,
@ -300,7 +300,7 @@ if (empty(get('modal'))) {
// Ricerca inserimenti su ordini
$query = 'SELECT
*,
`or_tipiordine_lang`.`name` AS tipo_ordine,
`or_tipiordine_lang`.`title` AS tipo_ordine,
`or_ordini`.`dir`,
`or_ordini`.`numero`,
`or_ordini`.`numero_esterno`,

View File

@ -35,7 +35,7 @@ echo '
</div>
<div class="col-md-6">
<span><b>'.tr('Descrizione: ').'</b>'.$articolo->getTranslation('name').'</span>
<span><b>'.tr('Descrizione: ').'</b>'.$articolo->getTranslation('title').'</span>
</div>
</div>
</div>
@ -49,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='.(new Module())->getByField('name', 'Movimenti', Models\Locale::getPredefined()->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())->getByField('title', 'Movimenti', Models\Locale::getPredefined()->id).'&id_articolo='.$id_record.'\');">
<i class="fa fa-truck"></i>
'.tr('Movimenta articolo').'
</a>';
@ -69,7 +69,7 @@ if (empty($_GET['movimentazione_completa'])) {
}
echo '
<a class="btn btn-warning btn-xs" href="'.base_path().'/controller.php?id_module='.(new Module())->getByField('name', 'Movimenti', Models\Locale::getPredefined()->id).'&search_Articolo='.($articolo->codice.' - '.$articolo->getTranslation('name')).'">
<a class="btn btn-warning btn-xs" href="'.base_path().'/controller.php?id_module='.(new Module())->getByField('title', 'Movimenti', Models\Locale::getPredefined()->id).'&search_Articolo='.($articolo->codice.' - '.$articolo->getTranslation('title')).'">
<i class="fa fa-external-link"></i>
'.tr('Visualizza dettagli').'
</a>';

View File

@ -86,7 +86,7 @@ class Articoli extends Resource implements RetrieveInterface, UpdateInterface, C
$articolo = Articolo::build($data['codice'], $categoria, $sottocategoria);
$articolo->setPrezzoVendita($data['prezzo_vendita'], $articolo->idiva_vendita);
$articolo->setTranslation('name', $data['descrizione']);
$articolo->setTranslation('title', $data['descrizione']);
$articolo->save();
return [
@ -109,7 +109,7 @@ class Articoli extends Resource implements RetrieveInterface, UpdateInterface, C
$articolo->sottocategoria()->associate($sottocategoria);
}
$articolo->setTranslation('name', $data['descrizione']);
$articolo->setTranslation('title', $data['descrizione']);
$articolo->setPrezzoVendita($data['prezzo_vendita'], $articolo->idiva_vendita);
$articolo->save();

View File

@ -43,7 +43,7 @@ class Articolo extends Model
protected $table = 'mg_articoli';
protected static $translated_fields = [
'name',
'title',
];
public static function build($codice = null, ?Categoria $categoria = null, ?Categoria $sottocategoria = null)
@ -207,7 +207,7 @@ class Articolo extends Model
return null;
}
$module = Module::find((new Module())->getByField('name', $this->module, \Models\Locale::getPredefined()->id));
$module = Module::find((new Module())->getByField('title', $this->module, \Models\Locale::getPredefined()->id));
$fileinfo = \Uploads::fileInfo($this->immagine);
$directory = '/'.$module->upload_directory.'/';

View File

@ -32,7 +32,7 @@ class Categoria extends Model
protected $table = 'mg_categorie';
protected static $translated_fields = [
'name',
'title',
];
protected static $parent_identifier = 'parent';

View File

@ -277,21 +277,21 @@ class CSV extends CSVImporter
$sottocategoria = null;
if (!empty($record['categoria'])) {
// Categoria
$categoria = Categoria::where('id', '=', (new Categoria())->getByField('name', strtolower($record['categoria'])))->first();
$categoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower($record['categoria'])))->first();
if (empty($categoria)) {
$categoria = Categoria::build();
$categoria->setTranslation('name', $record['categoria']);
$categoria->setTranslation('title', $record['categoria']);
$categoria->save();
}
// Sotto-categoria
if (!empty($record['sottocategoria'])) {
$sottocategoria = Categoria::where('id', '=', (new Categoria())->getByField('name', strtolower($record['sottocategoria'])))->first();
$sottocategoria = Categoria::where('id', '=', (new Categoria())->getByField('title', strtolower($record['sottocategoria'])))->first();
if (empty($sottocategoria)) {
$sottocategoria = Categoria::build();
$sottocategoria->setTranslation('name', $record['sottocategoria']);
$sottocategoria->setTranslation('title', $record['sottocategoria']);
$sottocategoria->parent()->associate($categoria);
$sottocategoria->save();
}
@ -315,7 +315,7 @@ class CSV extends CSVImporter
}
if (empty($articolo)) {
$articolo = Articolo::build($record['codice'], $categoria, $sottocategoria);
$articolo->setTranslation('name', $record['descrizione']);
$articolo->setTranslation('title', $record['descrizione']);
} else {
$articolo->restore();
}
@ -367,7 +367,7 @@ class CSV extends CSVImporter
if (!empty($file_content)) {
if ($record['import_immagine'] == 2 || $record['import_immagine'] == 4) {
\Uploads::deleteLinked([
'id_module' => (new Module())->getByField('name', 'Articoli', \Models\Locale::getPredefined()->id),
'id_module' => (new Module())->getByField('title', 'Articoli', \Models\Locale::getPredefined()->id),
'id_record' => $articolo->id,
]);
@ -384,7 +384,7 @@ class CSV extends CSVImporter
'name' => 'Immagine',
'category' => 'Immagini',
'original_name' => $name,
'id_module' => (new Module())->getByField('name', 'Articoli', \Models\Locale::getPredefined()->id),
'id_module' => (new Module())->getByField('title', 'Articoli', \Models\Locale::getPredefined()->id),
'id_record' => $articolo->id,
], [
'thumbnails' => true,
@ -466,7 +466,7 @@ class CSV extends CSVImporter
}
if ($dettagli['dir']) {
$tipo = (new Tipo())->getByField('name', $dettagli['dir']);
$tipo = (new Tipo())->getByField('title', $dettagli['dir']);
$tipi = $anagrafica->tipi->pluck('id')->toArray();
$tipi[] = $tipo;

View File

@ -19,7 +19,7 @@
include_once __DIR__.'/../../../core.php';
$rs = $dbo->fetchArray('SELECT `mg_articoli`.`id`, `mg_articoli_lang`.`name` as descrizione, `qta`, `threshold_qta`, `codice`, `um` AS unitamisura FROM `mg_articoli` LEFT JOIN `mg_articoli_lang` ON (`mg_articoli`.`id` = `mg_articoli_lang`.`id_record` AND `mg_articoli_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `qta` < `threshold_qta` AND `attivo` = 1 AND `deleted_at` IS NULL ORDER BY `qta` ASC');
$rs = $dbo->fetchArray('SELECT `mg_articoli`.`id`, `mg_articoli_lang`.`title` as descrizione, `qta`, `threshold_qta`, `codice`, `um` AS unitamisura FROM `mg_articoli` LEFT JOIN `mg_articoli_lang` ON (`mg_articoli`.`id` = `mg_articoli_lang`.`id_record` AND `mg_articoli_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `qta` < `threshold_qta` AND `attivo` = 1 AND `deleted_at` IS NULL ORDER BY `qta` ASC');
if (!empty($rs)) {
echo '

View File

@ -29,7 +29,7 @@ if (!empty(setting('Magazzino cespiti'))) {
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` = '.prepare(Models\Locale::getDefault()->id).')
WHERE
`zz_modules_lang`.`name`="Articoli" AND `zz_prints_lang`.`name`="Inventario cespiti"')['id'];
`zz_modules_lang`.`title`="Articoli" AND `zz_prints_lang`.`title`="Inventario cespiti"')['id'];
echo '
<form action="'.base_path().'/pdfgen.php?id_print='.$id_print.'" method="post" target="_blank">

View File

@ -28,7 +28,7 @@ $id_print = $dbo->fetchOne('SELECT
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` = '.prepare(Models\Locale::getDefault()->id).')
WHERE
`zz_modules_lang`.`name`="Articoli" AND `zz_prints_lang`.`name`="Inventario magazzino"')['id'];
`zz_modules_lang`.`title`="Articoli" AND `zz_prints_lang`.`title`="Inventario magazzino"')['id'];
echo '
<form action="'.base_path().'/pdfgen.php?id_print='.$id_print.'" method="post" target="_blank">

View File

@ -26,14 +26,14 @@ switch (filter('op')) {
case 'add':
$descrizione = post('nome');
$title = post('titolo');
$attributo_new = (new Attributo())->getByField('name', $descrizione);
$attributo_new = (new Attributo())->getByField('title', $descrizione);
if ($stato_new) {
flash()->error(tr('Questo nome è già stato utilizzato per un altro attributo.'));
} else {
$attributo = Attributo::build();
$id_record = $dbo->lastInsertedID();
$attributo->setTranslation('name', $descrizione);
$attributo->setTranslation('title', $descrizione);
$attributo->setTranslation('title', $title);
$attributo->save();
@ -43,7 +43,7 @@ switch (filter('op')) {
case 'update':
$title = post('titolo');
$attributo_new = (new Attributo())->getByField('name', $descrizione);
$attributo_new = (new Attributo())->getByField('title', $descrizione);
if (!empty($attributo_new) && $attributo_new != $id_record) {
flash()->error(tr('Questo nome è già stato utilizzato per un altro attributo.'));

View File

@ -32,7 +32,7 @@ echo '
<div class="panel-body">
<div class="row">
<div class="col-md-6">
{[ "type": "span", "label": "'.tr('Nome').'", "name": "nome", "value": "'.$attributo->getTranslation('name').'", "help": "'.tr("Nome univoco dell'attributo").'" ]}
{[ "type": "span", "label": "'.tr('Nome').'", "name": "nome", "value": "'.$attributo->getTranslation('title').'", "help": "'.tr("Nome univoco dell'attributo").'" ]}
</div>
<div class="col-md-6">

View File

@ -16,7 +16,6 @@ class Attributo extends Model
protected $table = 'mg_attributi';
protected static $translated_fields = [
'name',
'title',
];

View File

@ -17,7 +17,7 @@ if (!empty($idarticolo) && !empty($idautomezzo)) {
Form di inserimento riga documento
*/
echo '
<form id="link_form" action="'.$rootdir.'/editor.php?id_module='.(new Module())->getByField('name', 'Automezzi', Models\Locale::getPredefined()->id).'&id_record='.$idautomezzo.'" method="post">
<form id="link_form" action="'.$rootdir.'/editor.php?id_module='.(new Module())->getByField('title', 'Automezzi', Models\Locale::getPredefined()->id).'&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

@ -7,7 +7,7 @@ $id_record = get('idautomezzo');
// Form di inserimento responsabili automezzo
echo '
<form action="'.$rootdir.'/editor.php?id_module='.(new Module())->getByField('name', 'Automezzi', Models\Locale::getPredefined()->id).'&id_record='.$id_record.'" method="post">
<form action="'.$rootdir.'/editor.php?id_module='.(new Module())->getByField('title', 'Automezzi', Models\Locale::getPredefined()->id).'&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.'">
@ -17,7 +17,7 @@ echo '
// Tecnico
echo '
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Tecnico').'", "name": "idtecnico", "required": 1, "values": "query=SELECT `an_anagrafiche`.`idanagrafica` AS id, `ragione_sociale` AS descrizione FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` WHERE (`name`=\'Tecnico\') AND `deleted_at` IS NULL ORDER BY `ragione_sociale`", "value": "'.$idtecnico.'" ]}
{[ "type": "select", "label": "'.tr('Tecnico').'", "name": "idtecnico", "required": 1, "values": "query=SELECT `an_anagrafiche`.`idanagrafica` AS id, `ragione_sociale` AS descrizione FROM `an_anagrafiche` INNER JOIN (`an_tipianagrafiche_anagrafiche` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')) ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` WHERE (`title`=\'Tecnico\') AND `deleted_at` IS NULL ORDER BY `ragione_sociale`", "value": "'.$idtecnico.'" ]}
</div>';
// Data di partenza

View File

@ -3,7 +3,7 @@
include_once __DIR__.'/../../../core.php';
use Models\Module;
$link_id = (new Module())->getByField('name', 'Automezzi', Models\Locale::getPredefined()->id);
$link_id = (new Module())->getByField('title', 'Automezzi', Models\Locale::getPredefined()->id);
$fields = [
'Nome' => 'nome',

View File

@ -52,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 (new Module())->getByField('name', 'Automezzi', Models\Locale::getPredefined()->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())->getByField('title', 'Automezzi', Models\Locale::getPredefined()->id); ?>&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

@ -9,7 +9,7 @@ $rs2 = $dbo->fetchArray('SELECT
`idarticolo`,
SUM(`mg_movimenti`.`qta`) AS qta_automezzo,
`mg_articoli`.`qta` AS qta_magazzino,
`mg_articoli_lang`.`name`,
`mg_articoli_lang`.`title`,
`mg_articoli`.`prezzo_vendita`,
(SELECT `percentuale` FROM `co_iva` LEFT JOIN `co_iva_lang` ON ( `co_iva`.`id` = `co_iva_lang`.`id_record` AND `co_iva_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_iva`.`id`=`mg_articoli`.`idiva_vendita`) AS prciva_vendita
FROM
@ -23,7 +23,7 @@ $rs2 = $dbo->fetchArray('SELECT
HAVING
`qta_automezzo`>0
ORDER BY
`mg_articoli_lang`.`name`');
`mg_articoli_lang`.`title`');
if (!empty($rs2)) {
echo '

View File

@ -23,8 +23,8 @@ switch (post('op')) {
case 'update':
$descrizione = post('descrizione');
if (empty($dbo->fetchArray('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione).' AND `dt_aspettobeni`.`id`!='.prepare($id_record)))) {
$dbo->query('UPDATE `dt_aspettobeni_lang` SET `name`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)).' AND `id_lang`='.prepare(Models\Locale::getDefault()->id);
if (empty($dbo->fetchArray('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `title`='.prepare($descrizione).' AND `dt_aspettobeni`.`id`!='.prepare($id_record)))) {
$dbo->query('UPDATE `dt_aspettobeni_lang` SET `title`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)).' AND `id_lang`='.prepare(Models\Locale::getDefault()->id);
flash()->info(tr('Salvataggio completato.'));
} else {
flash()->error(tr("E' già presente un aspetto beni con questa descrizione."));
@ -34,11 +34,11 @@ switch (post('op')) {
case 'add':
$descrizione = post('descrizione');
if (empty($dbo->fetchArray('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione)))) {
if (empty($dbo->fetchArray('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `title`='.prepare($descrizione)))) {
$dbo->query('INSERT INTO `dt_aspettobeni` (`created_at`) VALUES (NOW())');
$id_record = $dbo->lastInsertedID();
$dbo->query('INSERT INTO `dt_aspettobeni_lang` (`name`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(Models\Locale::getDefault()->id).')');
$dbo->query('INSERT INTO `dt_aspettobeni_lang` (`title`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(Models\Locale::getDefault()->id).')');
if (isAjaxRequest()) {
echo json_encode(['id' => $id_record, 'text' => $descrizione]);

View File

@ -21,14 +21,14 @@ include_once __DIR__.'/../../../core.php';
switch ($resource) {
case 'aspetto-beni':
$query = 'SELECT `dt_aspettobeni`.`id`, `dt_aspettobeni_lang`.`name` as descrizione FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `name` ASC';
$query = 'SELECT `dt_aspettobeni`.`id`, `dt_aspettobeni_lang`.`title` as descrizione FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `title` ASC';
foreach ($elements as $element) {
$filter[] = '`dt_aspettobeni`.`id`='.prepare($element);
}
if (!empty($search)) {
$search_fields[] = '`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`title` LIKE '.prepare('%'.$search.'%');
}
break;

View File

@ -31,7 +31,7 @@ switch (filter('op')) {
$categoria->nota = $nota;
$categoria->colore = $colore;
$categoria->parent = $id_original ?: null;
$categoria->setTranslation('name', $nome);
$categoria->setTranslation('title', $nome);
$categoria->save();
flash()->info(tr('Salvataggio completato!'));
@ -54,7 +54,7 @@ switch (filter('op')) {
$colore = filter('colore');
$id_original = filter('id_original') ?: null;
$categoria_new = Categoria::where('id', '=', (new Categoria())->getByField('name', $nome));
$categoria_new = Categoria::where('id', '=', (new Categoria())->getByField('title', $nome));
if (!empty($id_original)) {
$categoria_new = $categoria_new->where('parent', '=', $id_original);
} else {
@ -68,7 +68,7 @@ switch (filter('op')) {
$categoria = Categoria::build($nota, $colore);
$id_record = $dbo->lastInsertedID();
$categoria->parent = $id_original;
$categoria->setTranslation('name', $nome);
$categoria->setTranslation('title', $nome);
$categoria->save();
flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [

View File

@ -28,7 +28,7 @@ foreach ($subcategorie as $sub) {
echo '
<tr>
<td>'.$sub->getTranslation('name').'</td>
<td>'.$sub->getTranslation('title').'</td>
<td>'.$sub->colore.'</td>
<td>'.$sub->nota.'</td>
<td>

View File

@ -24,14 +24,14 @@ use Modules\CategorieDocumentali\Categoria;
switch (post('op')) {
case 'update':
$descrizione = post('descrizione');
$categoria_new = Categoria::where('id', '=', (new Categoria())->getByField('name', $descrizione))->where('deleted_at', '=', null)->first();
$categoria_new = Categoria::where('id', '=', (new Categoria())->getByField('title', $descrizione))->where('deleted_at', '=', null)->first();
if (!empty($categoria_new) && $categoria_new->id != $id_record) {
flash()->error(tr('Categoria _NAME_ già esistente!', [
'_NAME_' => $descrizione,
]));
} else {
$categoria->setTranslation('name', $descrizione);
$categoria->setTranslation('title', $descrizione);
$categoria->save();
$categoria->syncPermessi(post('permessi') ?: []);
@ -43,7 +43,7 @@ switch (post('op')) {
case 'add':
$descrizione = post('descrizione');
$categoria_new = Categoria::where('id', '=', (new Categoria())->getByField('name', $descrizione))->where('deleted_at', '=', null)->first();
$categoria_new = Categoria::where('id', '=', (new Categoria())->getByField('title', $descrizione))->where('deleted_at', '=', null)->first();
if (!empty($categoria_new) && $categoria_new->id != $id_record) {
flash()->error(tr('Categoria _NAME_ già esistente!', [
@ -52,7 +52,7 @@ switch (post('op')) {
} else {
$categoria = Categoria::build();
$id_record = $dbo->lastInsertedID();
$categoria->setTranslation('name', $descrizione);
$categoria->setTranslation('title', $descrizione);
$categoria->save();
if (isAjaxRequest()) {

View File

@ -21,7 +21,7 @@ include_once __DIR__.'/../../../core.php';
switch ($resource) {
case 'categorie_documenti':
$query = 'SELECT `do_categorie`.`id`, `do_categorie_lang`.`name` as descrizione FROM `do_categorie` LEFT JOIN `do_categorie_lang` ON (`do_categorie_lang`.`id_record` = `do_categorie`.`id` AND `do_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')|where| ORDER BY `name` ASC';
$query = 'SELECT `do_categorie`.`id`, `do_categorie_lang`.`title` as descrizione FROM `do_categorie` LEFT JOIN `do_categorie_lang` ON (`do_categorie_lang`.`id_record` = `do_categorie`.`id` AND `do_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')|where| ORDER BY `title` ASC';
foreach ($elements as $element) {
$filter[] = '`do_categorie`.`id`='.prepare($element);
@ -32,7 +32,7 @@ switch ($resource) {
}
if (!empty($search)) {
$search_fields[] = '`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`title` LIKE '.prepare('%'.$search.'%');
}
break;

View File

@ -37,7 +37,7 @@ if ($record['doc_associati'] > 0) {
</div>
<div class="col-md-3">
{[ "type": "select", "label": "<?php echo tr('Gruppi abilitati'); ?>", "name": "permessi[]", "value": "$permessi$", "values": "query=SELECT `zz_groups`.`id`, `zz_groups_lang`.`name` AS text FROM `zz_groups` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>)", "multiple": 1 ]}
{[ "type": "select", "label": "<?php echo tr('Gruppi abilitati'); ?>", "name": "permessi[]", "value": "$permessi$", "values": "query=SELECT `zz_groups`.`id`, `zz_groups_lang`.`title` AS text FROM `zz_groups` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>)", "multiple": 1 ]}
</div>
</div>
</form>

View File

@ -34,7 +34,7 @@ class Categoria extends Model
protected $table = 'do_categorie';
protected static $translated_fields = [
'name',
'title',
];
public static function build()

View File

@ -23,7 +23,7 @@ use Models\Module;
use Modules\Checklists\Check;
use Modules\Impianti\Categoria;
$modulo_impianti = (new Module())->getByField('name', 'Impianti', Models\Locale::getPredefined()->id);
$modulo_impianti = (new Module())->getByField('title', 'Impianti', Models\Locale::getPredefined()->id);
switch (filter('op')) {
case 'update':
@ -36,7 +36,7 @@ switch (filter('op')) {
$categoria->nota = $nota;
$categoria->colore = $colore;
$categoria->parent = $id_original ?: null;
$categoria->setTranslation('name', $nome);
$categoria->setTranslation('title', $nome);
$categoria->save();
flash()->info(tr('Salvataggio completato!'));
@ -60,7 +60,7 @@ switch (filter('op')) {
$id_original = filter('id_original') ?: null;
$categoria_new = Categoria::where('id', '=', (new Categoria())->getByField('name', $nome));
$categoria_new = Categoria::where('id', '=', (new Categoria())->getByField('title', $nome));
if (!empty($id_original)) {
$categoria_new = $categoria_new->where('parent', '=', $id_original);
} else {
@ -74,7 +74,7 @@ switch (filter('op')) {
$categoria = Categoria::build($nota, $colore);
$id_record = $dbo->lastInsertedID();
$categoria->parent = $id_original;
$categoria->setTranslation('name', $nome);
$categoria->setTranslation('title', $nome);
$categoria->save();
flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [

View File

@ -26,7 +26,7 @@ foreach ($subcategorie as $sub) {
$n_impianti = $dbo->fetchNum('SELECT * FROM `my_impianti` WHERE `id_sottocategoria`='.prepare($sub->id).' AND deleted_at IS NULL');
echo '
<tr>
<td>'.$sub->getTranslation('name').'</td>
<td>'.$sub->getTranslation('title').'</td>
<td>'.$sub->colore.'</td>
<td>'.$sub->nota.'</td>
<td>

View File

@ -25,7 +25,7 @@ switch (filter('op')) {
$predefined = post('predefined');
if (isset($descrizione)) {
if (empty($dbo->fetchArray('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `name`='.prepare($descrizione).' AND `dt_causalet`.`id`!='.prepare($id_record)))) {
if (empty($dbo->fetchArray('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `title`='.prepare($descrizione).' AND `dt_causalet`.`id`!='.prepare($id_record)))) {
if (!empty($predefined)) {
$dbo->query('UPDATE dt_causalet SET predefined = 0');
}
@ -55,7 +55,7 @@ switch (filter('op')) {
$descrizione = filter('descrizione');
if (isset($descrizione)) {
if (empty($dbo->fetchArray('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `name`='.prepare($descrizione)))) {
if (empty($dbo->fetchArray('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `title`='.prepare($descrizione)))) {
$dbo->insert('dt_causalet', [
'is_importabile' => 1,
]);

View File

@ -21,7 +21,7 @@ include_once __DIR__.'/../../../core.php';
switch ($resource) {
case 'causali':
$query = 'SELECT `dt_causalet`.`id`, `dt_causalet_lang`.`name` as descrizione FROM dt_causalet LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `name` ASC';
$query = 'SELECT `dt_causalet`.`id`, `dt_causalet_lang`.`title` as descrizione FROM dt_causalet LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') |where| ORDER BY `title` ASC';
foreach ($elements as $element) {
$filter[] = '`dt_causalet`.`id`='.prepare($element);
@ -30,7 +30,7 @@ switch ($resource) {
$where[] = '`dt_causalet`.`deleted_at` IS NULL';
}
if (!empty($search)) {
$search_fields[] = '`name` LIKE '.prepare('%'.$search.'%');
$search_fields[] = '`title` LIKE '.prepare('%'.$search.'%');
}
break;

View File

@ -56,7 +56,7 @@ echo '
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Gruppo assegnato').'", "name": "group_id", "values": "query=SELECT `zz_groups`.`id`, `name` AS text FROM `zz_groups` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')" ]}
{[ "type": "select", "label": "'.tr('Gruppo assegnato').'", "name": "group_id", "values": "query=SELECT `zz_groups`.`id`, `title` AS text FROM `zz_groups` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')" ]}
</div>
<div class="col-md-6">

View File

@ -44,7 +44,7 @@ echo '
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Gruppo assegnato').'", "name": "group_id", "values": "query=SELECT `zz_groups`.`id`, `name` AS text FROM `zz_groups` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')" ]}
{[ "type": "select", "label": "'.tr('Gruppo assegnato').'", "name": "group_id", "values": "query=SELECT `zz_groups`.`id`, `title` AS text FROM `zz_groups` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')" ]}
</div>
</div>

View File

@ -41,7 +41,7 @@ echo '
</div>
<div class="col-md-3">
{[ "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`.`idmodule_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(Models\Locale::getDefault()->id).') LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `zz_plugins`.`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`.`title` AS optgroup FROM zz_plugins INNER JOIN `zz_modules` ON `zz_plugins`.`idmodule_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(Models\Locale::getDefault()->id).') LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `zz_plugins`.`enabled` = 1", "value": "'.$record->id_plugin.'", "disabled": "'.!empty($record->id_module).'" ]}
</div>
</div>
</div>

View File

@ -22,7 +22,7 @@ include_once __DIR__.'/../../core.php';
use Models\Module;
use Modules\Checklists\Checklist;
$checklist_module = Module::find((new Module())->getByField('name', 'Checklists', Models\Locale::getPredefined()->id));
$checklist_module = Module::find((new Module())->getByField('title', 'Checklists', Models\Locale::getPredefined()->id));
if (!empty($id_record)) {
$record = Checklist::find($id_record);

View File

@ -10,7 +10,7 @@ switch (filter('op')) {
$nome = post('nome');
// Ricerca combinazione con nome indicato
$combinazione_new = (new Combinazione())->getByField('name', $nome);
$combinazione_new = (new Combinazione())->getByField('title', $nome);
if (!empty($combinazione_new) && !empty($id_record) && $combinazione_new != $id_record) {
flash()->error(tr('Questo nome è già stato utilizzato per un altra combinazione.'));
@ -19,7 +19,7 @@ switch (filter('op')) {
$combinazione = Combinazione::build();
$id_record = $dbo->lastInsertedID();
}
$combinazione->setTranslation('name', $nome);
$combinazione->setTranslation('title', $nome);
$combinazione->codice = post('codice');
$combinazione->id_categoria = post('id_categoria')?: null;
$combinazione->id_sottocategoria = post('id_sottocategoria')?: null;
@ -27,7 +27,7 @@ switch (filter('op')) {
$id_record = $combinazione->id;
$database->query('INSERT INTO `mg_combinazioni_lang` (`id_record`, `id_lang`, `name`) VALUES ('.$id_record.', '.prepare(Models\Locale::getDefault()->id).', \''.post('nome').'\')');
$database->query('INSERT INTO `mg_combinazioni_lang` (`id_record`, `id_lang`, `title`) VALUES ('.$id_record.', '.prepare(Models\Locale::getDefault()->id).', \''.post('nome').'\')');
// Selezione attributi per la combinazione
$combinazione->attributi()->sync((array) post('attributi'));

View File

@ -32,7 +32,7 @@ $attributi = $combinazione->attributi;
foreach ($attributi as $key => $attributo) {
echo '
<div class="col-md-4">
{[ "type": "select", "label": "'.$attributo->getTranslation('name').'", "name": "attributo['.$key.']", "values": "query=SELECT id, nome AS descrizione FROM mg_valori_attributi WHERE id_attributo = '.prepare($attributo->id).' AND deleted_at IS NULL", "required": 1 ]}
{[ "type": "select", "label": "'.$attributo->getTranslation('title').'", "name": "attributo['.$key.']", "values": "query=SELECT id, nome AS descrizione FROM mg_valori_attributi WHERE id_attributo = '.prepare($attributo->id).' AND deleted_at IS NULL", "required": 1 ]}
</div>';
}

View File

@ -22,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|'.(new Module())->getByField('name', 'Categorie articoli', Models\Locale::getPredefined()->id).'" ]}
{[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.(new Module())->getByField('title', 'Categorie articoli', Models\Locale::getPredefined()->id).'" ]}
</div>
<div class="col-md-6">
@ -32,7 +32,7 @@ echo '
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Attributi').'", "name": "attributi[]", "values": "query=SELECT `mg_attributi`.`id`, `mg_attributi_lang`.`name` AS descrizione FROM `mg_attributi` LEFT JOIN `mg_attributi_lang` ON (`mg_attributi_lang`.`id_record` = `mg_attributi`.`id` AND `mg_attributi_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL", "required": 1, "multiple": 1, "help": "'.tr('Attributi abilitati per la combinazione corrente').'" ]}
{[ "type": "select", "label": "'.tr('Attributi').'", "name": "attributi[]", "values": "query=SELECT `mg_attributi`.`id`, `mg_attributi_lang`.`title` AS descrizione FROM `mg_attributi` LEFT JOIN `mg_attributi_lang` ON (`mg_attributi_lang`.`id_record` = `mg_attributi`.`id` AND `mg_attributi_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL", "required": 1, "multiple": 1, "help": "'.tr('Attributi abilitati per la combinazione corrente').'" ]}
</div>
</div>

View File

@ -15,7 +15,7 @@ foreach ($attributi as $key => $attributo) {
$value = $dbo->fetchOne('SELECT mg_valori_attributi.id AS valore FROM mg_valori_attributi LEFT JOIN mg_articolo_attributo ON mg_articolo_attributo.id_valore=mg_valori_attributi.id WHERE id_articolo='.prepare(get('id_articolo')).' AND id_attributo='.prepare($attributo->id).' AND deleted_at IS NULL')['valore'];
echo '
<div class="col-md-4">
{[ "type": "select", "label": "'.$attributo->getTranslation('name').'", "name": "attributo['.$key.']", "values": "query=SELECT id, nome AS descrizione FROM mg_valori_attributi WHERE id_attributo = '.prepare($attributo->id).' AND deleted_at IS NULL", "value": "'.$value.'", "required": 1 ]}
{[ "type": "select", "label": "'.$attributo->getTranslation('title').'", "name": "attributo['.$key.']", "values": "query=SELECT id, nome AS descrizione FROM mg_valori_attributi WHERE id_attributo = '.prepare($attributo->id).' AND deleted_at IS NULL", "value": "'.$value.'", "required": 1 ]}
</div>';
}
echo '

View File

@ -22,7 +22,7 @@ echo '
</div>
<div class="col-md-6">
{[ "type": "text", "label": "'.tr('Nome').'", "name": "nome", "value": "'.$combinazione->getTranslation('name').'", "required": 1, "help": "'.tr('Nome univoco della combinazione').'" ]}
{[ "type": "text", "label": "'.tr('Nome').'", "name": "nome", "value": "'.$combinazione->getTranslation('title').'", "required": 1, "help": "'.tr('Nome univoco della combinazione').'" ]}
</div>
</div>
@ -33,7 +33,7 @@ if (!empty($combinazione->id_categoria)) {
'.Modules::link('Categorie articoli', $combinazione->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|'.(new Module())->getByField('name', 'Categorie articoli', Models\Locale::getPredefined()->id).'" ]}
{[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.(new Module())->getByField('title', 'Categorie articoli', Models\Locale::getPredefined()->id).'" ]}
</div>
<div class="col-md-6">
@ -43,7 +43,7 @@ echo '
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Attributi').'", "name": "attributi[]", "value": "'.implode(',', $combinazione->attributi->pluck('id')->all()).'", "values": "query=SELECT `mg_attributi`.`id`, `mg_attributi_lang`.`name` AS descrizione FROM `mg_attributi` LEFT JOIN `mg_attributi_lang` ON (`mg_attributi_lang`.`id_record` = `mg_attributi`.`id` AND `mg_attributi_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL", "required": 1, "multiple": 1, "help": "'.tr('Attributi abilitati per la combinazione corrente').'" ]}
{[ "type": "select", "label": "'.tr('Attributi').'", "name": "attributi[]", "value": "'.implode(',', $combinazione->attributi->pluck('id')->all()).'", "values": "query=SELECT `mg_attributi`.`id`, `mg_attributi_lang`.`title` AS descrizione FROM `mg_attributi` LEFT JOIN `mg_attributi_lang` ON (`mg_attributi_lang`.`id_record` = `mg_attributi`.`id` AND `mg_attributi_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL", "required": 1, "multiple": 1, "help": "'.tr('Attributi abilitati per la combinazione corrente').'" ]}
</div>
</div>
</div>
@ -84,7 +84,7 @@ foreach ($articoli as $articolo) {
<tr data-id="'.$articolo->id.'">
<td><img class="img-thumbnail img-responsive" src="'.$articolo->image.'"></td>
<td>'.$articolo->nome_variante.'</td>
<td>'.Modules::link('Articoli', $articolo->id, $articolo->codice.' - '.$articolo->getTranslation('name')).'</td>
<td>'.Modules::link('Articoli', $articolo->id, $articolo->codice.' - '.$articolo->getTranslation('title')).'</td>
<td class="text-center">
<button type="button" class="btn btn-warning btn-xs" onclick="modificaVariante('.$articolo->id.')">
<i class="fa fa-edit"></i> '.tr('Modifica').'

View File

@ -19,7 +19,7 @@ class Combinazione extends Model
protected $table = 'mg_combinazioni';
protected static $translated_fields = [
'name',
'title',
];
/**
@ -107,7 +107,7 @@ class Combinazione extends Model
$articolo_base = $articoli->first();
$articolo = $articolo_base->replicate();
$nome_immagine = $articolo_base->immagine_upload->getTranslation('name');
$nome_immagine = $articolo_base->immagine_upload->getTranslation('title');
$allegato = $articolo_base->uploads()->where('name', $nome_immagine)->first();
if (!empty($allegato)) {
@ -120,7 +120,7 @@ class Combinazione extends Model
$articolo->save();
}
}
$database->query("INSERT INTO `mg_articoli_lang` (`id_record`, `id_lang`, `name`) VALUES ('".$articolo->id."', ".\Models\Locale::getDefault()->id.", '".implode("', '", $variante)."')");
$database->query("INSERT INTO `mg_articoli_lang` (`id_record`, `id_lang`, `title`) VALUES ('".$articolo->id."', ".\Models\Locale::getDefault()->id.", '".implode("', '", $variante)."')");
$articolo->codice = $this->codice.'-'.implode('|', $variante);
$articolo->save();
}

View File

@ -149,7 +149,7 @@ switch (post('op')) {
$new = $contratto->replicate(['idcontratto_prev']);
$new->numero = Contratto::getNextNumero($contratto->data_bozza, $contratto->id_segment);
$stato = (new Stato())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
$stato = (new Stato())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
$new->stato()->associate($stato);
$new->save();
@ -179,7 +179,7 @@ switch (post('op')) {
$qta = post('qta');
$articolo->setTranslation('name', post('descrizione'));
$articolo->setTranslation('title', post('descrizione'));
$articolo->note = post('note');
$articolo->um = post('um') ?: null;
@ -351,7 +351,7 @@ switch (post('op')) {
`co_documenti`.`numero` AS `numero`,
`co_documenti`.`numero_esterno` AS `numero_esterno`,
`co_documenti`.`data`,
`co_tipidocumento_lang`.`name` AS `tipo_documento`,
`co_tipidocumento_lang`.`title` AS `tipo_documento`,
`co_tipidocumento`.`dir` AS `dir`
FROM
`co_documenti`
@ -404,7 +404,7 @@ switch (post('op')) {
$new_contratto->data_bozza = Carbon::now();
$new_contratto->numero = Contratto::getNextNumero($new_contratto->data_bozza, $new_contratto->id_segment);
$stato = (new Stato())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
$stato = (new Stato())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
$new_contratto->stato()->associate($stato);
$new_contratto->save();
@ -455,14 +455,14 @@ switch (post('op')) {
foreach ($allegati as $allegato) {
$allegato->copia([
'id_module' => $id_module,
'id_plugin' => (new Plugin())->getByField('name', 'Pianificazione interventi', Models\Locale::getPredefined()->id),
'id_plugin' => (new Plugin())->getByField('title', 'Pianificazione interventi', Models\Locale::getPredefined()->id),
'id_record' => $id_promemoria,
]);
}
}
// Cambio stato precedente contratto in concluso (non più pianificabile)
$dbo->query('UPDATE `co_contratti` SET `rinnovabile`= 0, `idstato`= (SELECT `co_staticontratti`.`id` FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id`=`co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).') WHERE `name` = \'Concluso\') WHERE `co_staticontratti`.`id` = '.prepare($id_record));
$dbo->query('UPDATE `co_contratti` SET `rinnovabile`= 0, `idstato`= (SELECT `co_staticontratti`.`id` FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id`=`co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).') WHERE `title` = \'Concluso\') WHERE `co_staticontratti`.`id` = '.prepare($id_record));
flash()->info(tr('Contratto rinnovato!'));

View File

@ -23,9 +23,9 @@ use Modules\Contratti\Stato;
$id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
$stati = get('pianificabile') ? 'SELECT `co_staticontratti`.`id`, `name` AS descrizione FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `is_pianificabile`=1' : 'SELECT `co_staticontratti`.`id`, `name` AS descrizione FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')';
$stati = get('pianificabile') ? 'SELECT `co_staticontratti`.`id`, `title` AS descrizione FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `is_pianificabile`=1' : 'SELECT `co_staticontratti`.`id`, `title` AS descrizione FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')';
$stato = (new Stato())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
$stato = (new Stato())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
echo '
<form action="" method="post" id="add-form">
@ -41,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|'.(new Module())->getByField('name', 'Anagrafiche', Models\Locale::getPredefined()->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())->getByField('title', 'Anagrafiche', Models\Locale::getPredefined()->id).'|tipoanagrafica=Cliente&readonly_tipo=1", "readonly": "'.((empty(get('idanagrafica'))) ? 0 : 1).'" ]}
</div>
</div>

View File

@ -26,7 +26,7 @@ switch ($resource) {
* - stato
*/
case 'contratti':
$query = 'SELECT `co_contratti`.`id` AS id, CONCAT("Contratto ", `numero`, " del ", DATE_FORMAT(`data_bozza`, "%d/%m/%Y"), " - ", `co_contratti`.`nome`, " [", (SELECT `name` FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_staticontratti`.`id` = `idstato`) , "]") AS descrizione, (SELECT SUM(`subtotale`) FROM `co_righe_contratti` WHERE `idcontratto`=`co_contratti`.`id`) AS totale, (SELECT SUM(`sconto`) FROM `co_righe_contratti` WHERE `idcontratto`=`co_contratti`.`id`) AS sconto, (SELECT COUNT(`id`) FROM `co_righe_contratti` WHERE `idcontratto`=`co_contratti`.`id`) AS n_righe FROM `co_contratti` INNER JOIN `an_anagrafiche` ON `co_contratti`.`idanagrafica`=`an_anagrafiche`.`idanagrafica` |where| ORDER BY `co_contratti`.`id`';
$query = 'SELECT `co_contratti`.`id` AS id, CONCAT("Contratto ", `numero`, " del ", DATE_FORMAT(`data_bozza`, "%d/%m/%Y"), " - ", `co_contratti`.`nome`, " [", (SELECT `title` FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_staticontratti`.`id` = `idstato`) , "]") AS descrizione, (SELECT SUM(`subtotale`) FROM `co_righe_contratti` WHERE `idcontratto`=`co_contratti`.`id`) AS totale, (SELECT SUM(`sconto`) FROM `co_righe_contratti` WHERE `idcontratto`=`co_contratti`.`id`) AS sconto, (SELECT COUNT(`id`) FROM `co_righe_contratti` WHERE `idcontratto`=`co_contratti`.`id`) AS n_righe FROM `co_contratti` INNER JOIN `an_anagrafiche` ON `co_contratti`.`idanagrafica`=`an_anagrafiche`.`idanagrafica` |where| ORDER BY `co_contratti`.`id`';
foreach ($elements as $element) {
$filter[] = '`co_contratti`.`id`='.prepare($element);

View File

@ -31,7 +31,7 @@ use Modules\Fatture\Tipo;
use Plugins\PianificazioneInterventi\Promemoria;
// Segmenti
$id_fatture = (new Module())->getByField('name', 'Fatture di vendita', Models\Locale::getPredefined()->id);
$id_fatture = (new Module())->getByField('title', 'Fatture di vendita', Models\Locale::getPredefined()->id);
if (!isset($_SESSION['module_'.$id_fatture]['id_segment'])) {
$segments = Modules::getSegments($id_fatture);
$_SESSION['module_'.$id_fatture]['id_segment'] = $segments[0]['id'] ?? null;
@ -42,7 +42,7 @@ $idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
'predefined' => 1,
'dir' => 'entrata',
])['id'];
$stati_completati = $dbo->fetchOne('SELECT GROUP_CONCAT(`name` SEPARATOR ", ") AS stati_completati FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `is_completato` = 1')['stati_completati'];
$stati_completati = $dbo->fetchOne('SELECT GROUP_CONCAT(`title` SEPARATOR ", ") AS stati_completati FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `is_completato` = 1')['stati_completati'];
switch (post('op')) {
case 'crea_fattura':
@ -52,7 +52,7 @@ switch (post('op')) {
// Informazioni della fattura
$tipo_documento = Tipo::where('id', post('idtipodocumento'))->first();
$stato_documenti_accodabili = (new Stato())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
$stato_documenti_accodabili = (new Stato())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
$accodare = post('accodare');
$data = date('Y-m-d');
@ -161,7 +161,7 @@ switch (post('op')) {
$new_contratto->data_conclusione = $new_contratto->data_accettazione->copy()->add($diff);
$new_contratto->data_bozza = Carbon::now();
$stato = (new StatoContratto())->getByField('name', 'Bozza', Models\Locale::getPredefined()->id);
$stato = (new StatoContratto())->getByField('title', 'Bozza', Models\Locale::getPredefined()->id);
$new_contratto->stato()->associate($stato);
$new_contratto->save();
@ -212,14 +212,14 @@ switch (post('op')) {
foreach ($allegati as $allegato) {
$allegato->copia([
'id_module' => $id_module,
'id_plugin' => (new Plugin())->getByField('name', 'Pianificazione interventi', Models\Locale::getPredefined()->id),
'id_plugin' => (new Plugin())->getByField('title', 'Pianificazione interventi', Models\Locale::getPredefined()->id),
'id_record' => $id_promemoria,
]);
}
}
// Cambio stato precedente contratto in concluso (non più pianificabile)
$dbo->query('UPDATE `co_contratti` SET `rinnovabile`= 0, `idstato`= (SELECT `co_staticontratti`.`id` FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `name` = \'Concluso\') WHERE `co_staticontratti`.`id` = '.prepare($contratto->id));
$dbo->query('UPDATE `co_contratti` SET `rinnovabile`= 0, `idstato`= (SELECT `co_staticontratti`.`id` FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `title` = \'Concluso\') WHERE `co_staticontratti`.`id` = '.prepare($contratto->id));
++$numero_totale;
}
@ -262,12 +262,12 @@ switch (post('op')) {
}
$operations['crea_fattura'] = [
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('name'))]),
'text' => '<span><i class="fa fa-file-code-o"></i> '.tr('Fattura _TYPE_', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
'data' => [
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('name'))]),
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('title'))]),
'msg' => '{[ "type": "checkbox", "label": "<small>'.tr('Aggiungere alle fatture di vendita non ancora emesse?').'</small>", "placeholder": "'.tr('Aggiungere alle fatture esistenti non ancora emesse?').'", "name": "accodare" ]}<br>
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_fatture, 'is_sezionale' => 1]).', "value": "'.$id_segment.'", "select-options-escape": true ]}<br>
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `name`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` =\'entrata\' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}<br>
{[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `title`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` =\'entrata\' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}<br>
{[ "type": "select", "label": "'.tr('Raggruppa per').'", "name": "raggruppamento", "required": 1, "values": "list=\"cliente\":\"Cliente\",\"sede\":\"Sede\"" ]}',
'button' => tr('Procedi'),
'class' => 'btn btn-lg btn-warning',
@ -290,7 +290,7 @@ $operations['cambia_stato'] = [
'text' => '<span><i class="fa fa-refresh"></i> '.tr('Cambia stato'),
'data' => [
'title' => tr('Vuoi davvero aggiornare lo stato di questi contratti?'),
'msg' => '<br>{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `co_staticontratti`.`id`, `name` AS descrizione, `colore` as _bgcolor_ FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') ORDER BY `name`" ]}',
'msg' => '<br>{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `co_staticontratti`.`id`, `title` AS descrizione, `colore` as _bgcolor_ FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') ORDER BY `title`" ]}',
'button' => tr('Procedi'),
'class' => 'btn btn-lg btn-warning',
'blank' => false,

View File

@ -23,7 +23,7 @@ $rs_documento = $dbo->fetchArray('SELECT * FROM co_righe_contratti WHERE idcontr
$is_fatturabile = $record['is_fatturabile'] && !empty($rs_documento);
$stati_fatturabili = $dbo->fetchOne('SELECT GROUP_CONCAT(`name` SEPARATOR ", ") AS stati_abilitati FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `is_fatturabile` = 1')['stati_abilitati'];
$stati_fatturabili = $dbo->fetchOne('SELECT GROUP_CONCAT(`title` SEPARATOR ", ") AS stati_abilitati FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `is_fatturabile` = 1')['stati_abilitati'];
/* permetto di fatturare il contratto solo se contiene righe e si trova in uno stato fatturabile */
echo '
@ -37,7 +37,7 @@ echo '
$rinnova = !empty($record['data_accettazione']) && !empty($record['data_conclusione']) && $record['data_accettazione'] != '0000-00-00' && $record['data_conclusione'] != '0000-00-00' && $record['is_completato'] && $record['rinnovabile'];
$stati_completati = $dbo->fetchOne('SELECT GROUP_CONCAT(`name` SEPARATOR ", ") AS stati_completati FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `is_completato` = 1')['stati_completati'];
$stati_completati = $dbo->fetchOne('SELECT GROUP_CONCAT(`title` SEPARATOR ", ") AS stati_completati FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `is_completato` = 1')['stati_completati'];
echo '
<div class="tip" data-toggle="tooltip" title="'.tr('Il contratto è rinnovabile se sono definite le date di accettazione e conclusione e si trova in uno di questi stati: _STATE_LIST_', [

View File

@ -100,11 +100,11 @@ echo '
</div>
<div class="col-md-3">
{[ "type": "select", "label": "<?php echo tr('Pagamento'); ?>", "name": "idpagamento", "values": "query=SELECT `co_pagamenti`.`id`, `co_pagamenti_lang`.`name` AS `descrizione` FROM `co_pagamenti` LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) GROUP BY `descrizione` ORDER BY `descrizione`", "value": "$idpagamento$" ]}
{[ "type": "select", "label": "<?php echo tr('Pagamento'); ?>", "name": "idpagamento", "values": "query=SELECT `co_pagamenti`.`id`, `co_pagamenti_lang`.`title` AS `descrizione` FROM `co_pagamenti` LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) GROUP BY `descrizione` ORDER BY `descrizione`", "value": "$idpagamento$" ]}
</div>
<div class="col-md-3">
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstato", "required": 1, "values": "query=SELECT `co_staticontratti`.`id`, `name` as `descrizione`, `colore` AS _bgcolor_ FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) ORDER BY `name`", "value": "$idstato$", "class": "unblockable" ]}
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstato", "required": 1, "values": "query=SELECT `co_staticontratti`.`id`, `title` as `descrizione`, `colore` AS _bgcolor_ FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = <?php echo prepare(Models\Locale::getDefault()->id); ?>) ORDER BY `title`", "value": "$idstato$", "class": "unblockable" ]}
</div>
</div>
@ -115,7 +115,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 (new Module())->getByField('name', 'Impianti', Models\Locale::getPredefined()->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())->getByField('title', 'Impianti', Models\Locale::getPredefined()->id); ?>|<?php echo 'id_anagrafica='.$record['idanagrafica']; ?>||<?php echo (empty($block_edit)) ? '' : 'disabled'; ?>" ]}
</div>
<div class="col-md-3">
@ -224,7 +224,7 @@ echo '
$idtipiintervento = ['-1'];
// Loop fra i tipi di attività e i relativi costi del tipo intervento
$rs = $dbo->fetchArray('SELECT `co_contratti_tipiintervento`.*, `in_tipiintervento_lang`.`name` FROM `co_contratti_tipiintervento` INNER JOIN `in_tipiintervento` ON `in_tipiintervento`.`id` = `co_contratti_tipiintervento`.`idtipointervento` LEFT JOIN `in_tipiintervento_lang` ON `in_tipiintervento_lang`.`id_record` = `in_tipiintervento`.`id` AND `in_tipiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).' WHERE `idcontratto`='.prepare($id_record).' AND (`co_contratti_tipiintervento`.`costo_ore` != `in_tipiintervento`.`costo_orario` OR `co_contratti_tipiintervento`.`costo_km` != `in_tipiintervento`.`costo_km` OR `co_contratti_tipiintervento`.`costo_dirittochiamata` != `in_tipiintervento`.`costo_diritto_chiamata`) ORDER BY `in_tipiintervento_lang`.`name`');
$rs = $dbo->fetchArray('SELECT `co_contratti_tipiintervento`.*, `in_tipiintervento_lang`.`title` FROM `co_contratti_tipiintervento` INNER JOIN `in_tipiintervento` ON `in_tipiintervento`.`id` = `co_contratti_tipiintervento`.`idtipointervento` LEFT JOIN `in_tipiintervento_lang` ON `in_tipiintervento_lang`.`id_record` = `in_tipiintervento`.`id` AND `in_tipiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).' WHERE `idcontratto`='.prepare($id_record).' AND (`co_contratti_tipiintervento`.`costo_ore` != `in_tipiintervento`.`costo_orario` OR `co_contratti_tipiintervento`.`costo_km` != `in_tipiintervento`.`costo_km` OR `co_contratti_tipiintervento`.`costo_dirittochiamata` != `in_tipiintervento`.`costo_diritto_chiamata`) ORDER BY `in_tipiintervento_lang`.`title`');
if (!empty($rs)) {
echo '
@ -275,7 +275,7 @@ echo '
<div class="hide">';
// Loop fra i tipi di attività e i relativi costi del tipo intervento (quelli a 0)
$rs = $dbo->fetchArray('SELECT * FROM `co_contratti_tipiintervento` INNER JOIN `in_tipiintervento` ON `in_tipiintervento`.`id` = `co_contratti_tipiintervento`.`idtipointervento` LEFT JOIN `in_tipiintervento_lang` ON (`in_tipiintervento`.`id`=`in_tipiintervento_lang`.`id_record` AND `in_tipiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_contratti_tipiintervento`.`idtipointervento` NOT IN('.implode(',', $idtipiintervento).') AND `idcontratto`='.prepare($id_record).' ORDER BY `name`');
$rs = $dbo->fetchArray('SELECT * FROM `co_contratti_tipiintervento` INNER JOIN `in_tipiintervento` ON `in_tipiintervento`.`id` = `co_contratti_tipiintervento`.`idtipointervento` LEFT JOIN `in_tipiintervento_lang` ON (`in_tipiintervento`.`id`=`in_tipiintervento_lang`.`id_record` AND `in_tipiintervento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `co_contratti_tipiintervento`.`idtipointervento` NOT IN('.implode(',', $idtipiintervento).') AND `idcontratto`='.prepare($id_record).' ORDER BY `title`');
if (!empty($rs)) {
echo '
@ -349,7 +349,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|'.(new Module())->getByField('name', 'Articoli', Models\Locale::getPredefined()->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())->getByField('title', 'Articoli', Models\Locale::getPredefined()->id).'" ]}
</div>
<div class="col-md-3" style="margin-top: 25px">
@ -564,7 +564,7 @@ $elementi = $dbo->fetchArray('
`co_documenti`.`data`,
`co_documenti`.`numero`,
`co_documenti`.`numero_esterno`,
`co_tipidocumento_lang`.`name` AS tipo_documento,
`co_tipidocumento_lang`.`title` AS tipo_documento,
IF(`co_tipidocumento`.`dir` = \'entrata\', \'Fatture di vendita\', \'Fatture di acquisto\') AS modulo
FROM `co_documenti`
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`

View File

@ -30,7 +30,7 @@ if (!empty($id_record)) {
`co_staticontratti`.`is_fatturabile` AS is_fatturabile,
`co_staticontratti`.`is_pianificabile` AS is_pianificabile,
`co_staticontratti`.`is_completato` AS is_completato,
`co_staticontratti_lang`.`name` AS stato,
`co_staticontratti_lang`.`title` AS stato,
GROUP_CONCAT(`my_impianti_contratti`.`idimpianto`) AS idimpianti
FROM
`co_contratti`

View File

@ -29,7 +29,7 @@ $righe = $_GET['righe'];
$righe = $dbo->fetchArray(
'SELECT
`mg_articoli_lang`.`name`,
`mg_articoli_lang`.`title`,
`mg_articoli`.`codice`,
`co_righe_contratti`.*
FROM
@ -71,7 +71,7 @@ $righe = $dbo->fetchArray(
WHERE
`co_preventivi`.`idanagrafica` ='.prepare($id_anagrafica).' AND
`co_righe_contratti`.`idarticolo` ='.prepare($riga['idarticolo']).' AND
`co_statipreventivi_lang`.`name` NOT IN ("Bozza", "In attesa di conferma", "Rifiutato")
`co_statipreventivi_lang`.`title` NOT IN ("Bozza", "In attesa di conferma", "Rifiutato")
GROUP BY
`mg_articoli`.`id`, `co_righe_preventivi`.`id`
ORDER BY
@ -91,7 +91,7 @@ $righe = $dbo->fetchArray(
INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).')
WHERE
`co_documenti`.`idanagrafica` ='.prepare($id_anagrafica).' AND `co_righe_documenti`.`idarticolo` ='.prepare($riga['idarticolo']).' AND `co_statidocumento_lang`.`name` IN ("Emessa", "Pagato", "Parzialmente pagato")
`co_documenti`.`idanagrafica` ='.prepare($id_anagrafica).' AND `co_righe_documenti`.`idarticolo` ='.prepare($riga['idarticolo']).' AND `co_statidocumento_lang`.`title` IN ("Emessa", "Pagato", "Parzialmente pagato")
GROUP BY
`mg_articoli`.`id`, `co_righe_documenti`.`id`
ORDER BY

View File

@ -104,7 +104,7 @@ if (!empty($interventi)) {
echo '
<tr>
<td>'.$sessione->anagrafica->ragione_sociale.'</td>
<td>'.$sessione->tipo->getTranslation('name').'</td>
<td>'.$sessione->tipo->getTranslation('title').'</td>
<td class="text-right">'.numberFormat($sessione->ore).'</td>
<td class="text-right">'.numberFormat($sessione->km).'</td>
<td class="text-right danger">'.moneyFormat($sessione->costo_manodopera).'</td>
@ -116,9 +116,9 @@ if (!empty($interventi)) {
</tr>';
// Raggruppamento per tipologia descrizione
$tipologie[$sessione->tipo->getTranslation('name')]['ore'] += $sessione->ore;
$tipologie[$sessione->tipo->getTranslation('name')]['costo'] += $sessione->costo_manodopera + $sessione->costo_viaggio + $sessione->costo_diritto_chiamata;
$tipologie[$sessione->tipo->getTranslation('name')]['ricavo'] += $sessione->prezzo_manodopera - $sessione->sconto_totale_manodopera + $sessione->prezzo_viaggio - $sessione->sconto_totale_viaggio + $sessione->prezzo_diritto_chiamata;
$tipologie[$sessione->tipo->getTranslation('title')]['ore'] += $sessione->ore;
$tipologie[$sessione->tipo->getTranslation('title')]['costo'] += $sessione->costo_manodopera + $sessione->costo_viaggio + $sessione->costo_diritto_chiamata;
$tipologie[$sessione->tipo->getTranslation('title')]['ricavo'] += $sessione->prezzo_manodopera - $sessione->sconto_totale_manodopera + $sessione->prezzo_viaggio - $sessione->sconto_totale_viaggio + $sessione->prezzo_diritto_chiamata;
// Raggruppamento per tecnico
$tecnici[$sessione->anagrafica->ragione_sociale]['ore'] += $sessione->ore;
@ -127,10 +127,10 @@ if (!empty($interventi)) {
$tecnici[$sessione->anagrafica->ragione_sociale]['ricavo'] += $sessione->prezzo_manodopera - $sessione->sconto_totale_manodopera + $sessione->prezzo_viaggio - $sessione->sconto_totale_viaggio + $sessione->prezzo_diritto_chiamata;
// Raggruppamento per stato intervento
$stati_intervento[$intervento->stato->getTranslation('name')]['colore'] = $intervento->stato->colore;
$stati_intervento[$intervento->stato->getTranslation('name')]['ore'] += $sessione->ore;
$stati_intervento[$intervento->stato->getTranslation('name')]['costo'] += $sessione->costo_manodopera + $sessione->costo_viaggio + $sessione->costo_diritto_chiamata;
$stati_intervento[$intervento->stato->getTranslation('name')]['ricavo'] += $sessione->prezzo_manodopera - $sessione->sconto_totale_manodopera + $sessione->prezzo_viaggio - $sessione->sconto_totale_viaggio + $sessione->prezzo_diritto_chiamata;
$stati_intervento[$intervento->stato->getTranslation('title')]['colore'] = $intervento->stato->colore;
$stati_intervento[$intervento->stato->getTranslation('title')]['ore'] += $sessione->ore;
$stati_intervento[$intervento->stato->getTranslation('title')]['costo'] += $sessione->costo_manodopera + $sessione->costo_viaggio + $sessione->costo_diritto_chiamata;
$stati_intervento[$intervento->stato->getTranslation('title')]['ricavo'] += $sessione->prezzo_manodopera - $sessione->sconto_totale_manodopera + $sessione->prezzo_viaggio - $sessione->sconto_totale_viaggio + $sessione->prezzo_diritto_chiamata;
}
echo '
@ -155,7 +155,7 @@ if (!empty($interventi)) {
echo '
<tr>
<td>
'.Modules::link('Articoli', $articolo->idarticolo, $articolo->getTranslation('name')).'
'.Modules::link('Articoli', $articolo->idarticolo, $articolo->getTranslation('title')).'
</td>
<td class="text-right">'.numberFormat($articolo->qta, 'qta').'</td>
<td class="text-right danger">'.moneyFormat($articolo->spesa).'</td>
@ -165,7 +165,7 @@ if (!empty($interventi)) {
// Raggruppamento per articolo con lo stesso prezzo
$ricavo = ($articolo->imponibile - $articolo->sconto) / $articolo->qta;
$costo = $articolo->spesa / $articolo->qta;
$descrizione = $articolo->articolo->codice.' - '.$articolo->articolo->getTranslation('name');
$descrizione = $articolo->articolo->codice.' - '.$articolo->articolo->getTranslation('title');
$materiali_art[$descrizione][$ricavo][$costo]['id'] = $articolo->articolo->id;
$materiali_art[$descrizione][$ricavo][$costo]['qta'] += $articolo->qta;

View File

@ -201,7 +201,7 @@ foreach ($righe as $riga) {
// Iva
echo '
<br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' text-muted">'.$riga->aliquota->getTranslation('name').(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
<br><small class="'.(($riga->aliquota->deleted_at) ? 'text-red' : '').' text-muted">'.$riga->aliquota->getTranslation('title').(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).'</small>
</td>';
}
@ -619,10 +619,10 @@ function modificaSeriali(button) {
}
init();';
if (Plugin::find((new Plugin())->getByField('name', 'Distinta base', Models\Locale::getPredefined()->id))) {
if (Plugin::find((new Plugin())->getByField('title', 'Distinta base', Models\Locale::getPredefined()->id))) {
echo '
async function viewDistinta(id_articolo) {
openModal("'.tr('Distinta base').'", "'.Plugin::find((new Plugin())->getByField('name', 'Distinta base', Models\Locale::getPredefined()->id))->fileurl('view.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&id_articolo=" + id_articolo);
openModal("'.tr('Distinta base').'", "'.Plugin::find((new Plugin())->getByField('title', 'Distinta base', Models\Locale::getPredefined()->id))->fileurl('view.php').'?id_module=" + globals.id_module + "&id_record=" + globals.id_record + "&id_articolo=" + id_articolo);
}';
}
echo '

View File

@ -67,7 +67,7 @@ class Contratto extends Document
{
$model = new static();
$stato_documento = (new Stato())->getByField('name', 'Bozza', \Models\Locale::getPredefined()->id);
$stato_documento = (new Stato())->getByField('title', 'Bozza', \Models\Locale::getPredefined()->id);
$id_agente = $anagrafica->idagente;
$id_segment = $id_segment ?: getSegmentPredefined($model->getModule()->id);
@ -248,7 +248,7 @@ class Contratto extends Document
$codice_intervento = 'FAT';
}
$stato = (new Stato())->getByField('name', $descrizione, \Models\Locale::getPredefined()->id);
$stato = (new Stato())->getByField('title', $descrizione, \Models\Locale::getPredefined()->id);
$this->stato()->associate($stato);
$this->save();

View File

@ -30,7 +30,7 @@ class Stato extends Model
protected $table = 'co_staticontratti';
protected static $translated_fields = [
'name',
'title',
];
public static function build($icona = null, $colore = null, $is_completato = null, $is_fatturabile = null, $is_pianificabile = null)

View File

@ -41,7 +41,7 @@ $rs = $dbo->fetchArray('SELECT
`co_contratti`.`rinnovabile` = 1 AND
YEAR(`data_conclusione`) > 1970 AND
`co_contratti`.`id` NOT IN (SELECT `idcontratto_prev` FROM `co_contratti` contratti) AND
`co_staticontratti_lang`.`name` NOT IN ("Concluso", "Rifiutato", "Bozza")
`co_staticontratti_lang`.`title` NOT IN ("Concluso", "Rifiutato", "Bozza")
GROUP BY
`co_contratti`.`id`
HAVING

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