Aggiunta condizione di filtraggio nella selezione degli articoli per il caricamento AJAX tramite Select2.
This commit is contained in:
Thomas Zilio 2017-12-14 16:17:34 +01:00
parent 62303ae3e0
commit 23779bda3a
3 changed files with 13 additions and 9 deletions

View File

@ -57,10 +57,9 @@ if (!function_exists('completeResults')) {
switch ($op) {
case 'clienti':
if (Modules::get('Anagrafiche')['permessi'] != '-') {
//$citta_cliente = ", IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))";
//$citta_cliente = ", IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))";
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale $citta_cliente) 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 $citta_cliente) 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";
foreach ($elements as $element) {
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
@ -224,12 +223,12 @@ switch ($op) {
case 'articoli':
$query = 'SELECT mg_articoli.*, co_iva.descrizione AS iva_vendita FROM mg_articoli LEFT OUTER JOIN co_iva ON mg_articoli.idiva_vendita=co_iva.id |where| ORDER BY mg_articoli.id_categoria ASC, mg_articoli.id_sottocategoria ASC';
$idiva_predefinita = get_var("Iva predefinita");
$idiva_predefinita = get_var('Iva predefinita');
$rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id='".$idiva_predefinita."'");
$iva_predefinita = $rs[0]['descrizione'];
foreach ($elements as $element) {
$filter[] = 'id='.prepare($element);
$filter[] = 'mg_articoli.id='.prepare($element);
}
$where[] = 'attivo=1';
@ -246,6 +245,11 @@ switch ($op) {
if (!empty($search_fields)) {
$where[] = '('.implode(' OR ', $search_fields).')';
}
if (!empty($filter)) {
$where[] = '('.implode(' OR ', $filter).')';
}
if (count($where) != 0) {
$wh = 'WHERE '.implode(' AND ', $where);
}
@ -259,7 +263,7 @@ switch ($op) {
$results[] = ['text' => $dbo->fetchArray('SELECT `nome` FROM `mg_categorie` WHERE `id`='.prepare($r['id_categoria']))[0]['nome'], 'children' => []];
}
if( empty($r['idiva_vendita']) ){
if (empty($r['idiva_vendita'])) {
$idiva = $idiva_predefinita;
$iva = $iva_predefinita;
} else {

View File

@ -70,7 +70,7 @@ echo '
<input type="hidden" id="idautomezzo" name="idautomezzo" value="'.$idautomezzo.'">
<input type="hidden" name="idriga" value="'.$idriga.'">';
if ($idarticolo != '') {
if (!empty($idarticolo)) {
echo '
<input type="hidden" id="idarticolo_originale" name="idarticolo_originale" value="'.$idarticolo.'">';
}
@ -78,7 +78,7 @@ if ($idarticolo != '') {
// Articolo
echo '
<div class="row">
<div class="col-md-6">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Articolo').'", "name": "idarticolo", "required": 1, "value": "'.$idarticolo.'", "ajax-source": "articoli" ]}
</div>
</div>';

View File

@ -49,7 +49,7 @@ if (!empty($rs)) {
<tr '.$extra.'>
<td>
<input type="hidden" name="id" value="'.$r['id'].'">
'.Modules::link('Articoli', $r['idarticolo'], $r['descrizione']);
'.Modules::link('Articoli', $r['idarticolo'], (!empty($r['codice']) ? $r['codice'].' - ' : '').$r['descrizione']);
// Info extra (lotto, serial, altro)
if (!empty($r['abilita_serial'])) {