Rimozione dipendenza da custom per select via AJAX

This commit is contained in:
Dasc3er 2020-08-26 18:03:59 +02:00
parent ae53d4d7a9
commit 97bd2d20a8
11 changed files with 19 additions and 83 deletions

View File

@ -4,7 +4,7 @@ include_once __DIR__.'/../../../core.php';
switch ($resource) {
case 'clienti':
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default, in_tipiintervento.descrizione AS idtipointervento_descrizione, an_anagrafiche.idzona FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN in_tipiintervento ON an_anagrafiche.idtipointervento_default=in_tipiintervento.idtipointervento |where| ORDER BY ragione_sociale";
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento, in_tipiintervento.descrizione AS idtipointervento_descrizione, an_anagrafiche.idzona FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN in_tipiintervento ON an_anagrafiche.idtipointervento_default=in_tipiintervento.idtipointervento |where| ORDER BY ragione_sociale";
foreach ($elements as $element) {
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
@ -21,14 +21,10 @@ switch ($resource) {
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
}
$custom['idtipointervento'] = 'idtipointervento_default';
$custom['idtipointervento_descrizione'] = 'idtipointervento_descrizione';
$custom['idzona'] = 'idzona';
break;
case 'fornitori':
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
foreach ($elements as $element) {
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
@ -45,12 +41,10 @@ switch ($resource) {
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
}
$custom['idtipointervento'] = 'idtipointervento_default';
break;
case 'vettori':
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
foreach ($elements as $element) {
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
@ -67,8 +61,6 @@ switch ($resource) {
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
}
$custom['idtipointervento'] = 'idtipointervento_default';
break;
/*
@ -137,7 +129,6 @@ switch ($resource) {
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
}
// $custom['idtipointervento'] = 'idtipointervento_default';
break;
case 'clienti_fornitori':
@ -247,8 +238,6 @@ switch ($resource) {
if (!empty($search)) {
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
}
$custom['idzona'] = 'idzona';
}
break;

View File

@ -110,29 +110,6 @@ switch ($resource) {
}
}
$custom = [
'id' => 'id',
'codice' => 'codice',
'descrizione' => 'descrizione',
'qta_minima' => 'qta_minima',
'id_dettaglio_fornitore' => 'id_dettaglio_fornitore',
'servizio' => 'servizio',
'qta' => 'qta',
'um' => 'um',
'categoria' => 'categoria',
'sottocategoria' => 'sottocategoria',
'idiva_vendita' => 'idiva_vendita',
'iva_vendita' => 'iva_vendita',
'idconto_vendita' => 'idconto_vendita',
'idconto_vendita_title' => 'idconto_vendita_title',
'idconto_acquisto' => 'idconto_acquisto',
'idconto_acquisto_title' => 'idconto_acquisto_title',
'prezzo_acquisto' => 'prezzo_acquisto',
'prezzo_vendita' => 'prezzo_vendita',
'prezzo_vendita_ivato' => 'prezzo_vendita_ivato',
'barcode' => 'barcode',
];
$data = AJAX::selectResults($query, $where, $filter, $search_fields, $limit, $custom);
$rs = $data['results'];
@ -214,7 +191,7 @@ switch ($resource) {
'prezzo_acquisto' => $r['prezzo_acquisto'],
'prezzo_vendita' => $prezzo_vendita,
'prezzo_vendita_ivato' => $r['prezzo_vendita_ivato'],
'disabled' => ($r['qta'] <= 0 && !$superselect['permetti_movimento_a_zero'] && !$r['servizio'] ? true : false),
'disabled' => $r['qta'] <= 0 && !$superselect['permetti_movimento_a_zero'] && !$r['servizio'],
];
}
@ -281,6 +258,11 @@ switch ($resource) {
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
$query = 'SELECT mg_articoli.*,
mg_articoli.id,
mg_articoli.qta,
mg_articoli.um,
mg_articoli.id,
mg_articoli.id,
IFNULL(mg_fornitore_articolo.codice_fornitore, mg_articoli.codice) AS codice,
IFNULL(mg_fornitore_articolo.descrizione, mg_articoli.descrizione) AS descrizione,
IFNULL(mg_fornitore_articolo.prezzo_acquisto, mg_articoli.prezzo_acquisto) AS prezzo_acquisto,
@ -296,25 +278,5 @@ switch ($resource) {
$where[] = 'mg_articoli.attivo = 1';
$where[] = 'mg_articoli.deleted_at IS NULL';
$custom = [
'id' => 'id',
'codice' => 'codice',
'descrizione' => 'descrizione',
'qta' => 'qta',
'um' => 'um',
'categoria' => 'categoria',
'sottocategoria' => 'sottocategoria',
'idiva_vendita' => 'idiva_vendita',
'iva_vendita' => 'iva_vendita',
'idconto_vendita' => 'idconto_vendita',
'idconto_vendita_title' => 'idconto_vendita_title',
'idconto_acquisto' => 'idconto_acquisto',
'idconto_acquisto_title' => 'idconto_acquisto_title',
'prezzo_acquisto' => 'prezzo_acquisto',
'prezzo_vendita' => 'prezzo_vendita',
'id_dettaglio_fornitore' => 'id_dettaglio_fornitore',
'barcode' => 'barcode',
];
break;
}

View File

@ -26,9 +26,5 @@ switch ($resource) {
$search_fields[] = 'co_contratti.nome LIKE '.prepare('%'.$search.'%');
}
$custom['totale'] = 'totale';
$custom['sconto'] = 'sconto';
$custom['n_righe'] = 'n_righe';
break;
}

View File

@ -1,5 +1,7 @@
<?php
use Util\Ini;
include_once __DIR__.'/../../../core.php';
switch ($resource) {
@ -26,16 +28,14 @@ switch ($resource) {
$search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
}
$custom['contenuto'] = 'contenuto';
$results = AJAX::selectResults($query, $where, $filter, $search, $limit, $custom);
$data = $results['results'];
foreach ($data as $key => $value) {
$matricola = \Util\Ini::getValue($r['contenuto'], 'Matricola');
$matricola = Ini::getValue($value['contenuto'], 'Matricola');
$data[$key]['text'] = (empty($matricola) ? '' : $matricola.' - ').$data[$key]['text'];
unset($data[$key]['content']);
unset($data[$key]['contenuto']);
}
$results['results'] = $data;

View File

@ -22,7 +22,7 @@ $id_anagrafica = filter('id_anagrafica');
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede", "value": "$idsede$", "ajax-source": "sedi", "select-options": {"idanagrafica": <?php echo $id_anagrafica; ?>}, "placeholder": "Sede legale" ]}
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "idsede", "value": "$idsede$", "ajax-source": "sedi", "select-options": <?php echo json_encode(["idanagrafica" => $id_anagrafica]); ?>, "placeholder": "Sede legale" ]}
</div>
<div class="col-md-4">

View File

@ -64,7 +64,7 @@ if (!empty($record['immagine'])) {
<?php
echo '
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Sede').'", "name": "idsede", "value": "$idsede$", "required": "1", "ajax-source": "sedi", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "placeholder": "'.tr('Sede legale').'" ]}
{[ "type": "select", "label": "'.tr('Sede').'", "name": "idsede", "value": "$idsede$", "required": "1", "ajax-source": "sedi", "select-options": '.json_encode(["idanagrafica" => $record['idanagrafica']]).', "placeholder": "'.tr('Sede legale').'" ]}
</div>';
?>
</div>

View File

@ -13,7 +13,5 @@ switch ($resource) {
$search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
}
$custom['tempo_standard'] = 'tempo_standard';
break;
}

View File

@ -28,7 +28,5 @@ switch ($resource) {
}
}
$custom['percentuale'] = 'percentuale';
break;
}

View File

@ -26,8 +26,5 @@ switch ($resource) {
$search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
}
$custom['id_banca_vendite'] = 'id_banca_vendite';
$custom['id_banca_acquisti'] = 'id_banca_acquisti';
break;
}

View File

@ -27,12 +27,6 @@ switch ($resource) {
if (!empty($search)) {
$search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
}
$custom['idtipointervento'] = 'idtipointervento';
$custom['tempo_standard'] = 'tempo_standard';
$custom['idtipointervento_descrizione'] = 'idtipointervento_descrizione';
$custom['totale'] = 'totale';
$custom['sconto'] = 'sconto';
}
break;

View File

@ -1,5 +1,7 @@
<?php
use Util\Query;
/**
* Classe per la gestione delle funzioni AJAX richiamabili del progetto.
*
@ -88,12 +90,12 @@ class AJAX
$query = str_replace('|where|', !empty($where) ? 'WHERE '.implode(' AND ', $where) : '', $query);
$query .= ' LIMIT '.$limit['offset'].', '.$limit['length'];
$data = \Util\Query::executeAndCount($query);
$data = Query::executeAndCount($query);
$rows = $data['results'];
$results = [];
foreach ($rows as $row) {
$result = [];
$result = $row;
foreach ($custom as $key => $value) {
$result[$key] = $row[$value];
}