diff --git a/assets/src/js/functions/input.js b/assets/src/js/functions/input.js index 134df50f1..bad31355e 100644 --- a/assets/src/js/functions/input.js +++ b/assets/src/js/functions/input.js @@ -21,7 +21,7 @@ function input(name) { } function Input(name) { - this.element = $("[name=" + name + "]").last(); + this.element = $("[name='" + name + "']").last(); // Fix per select multipli if (this.element.length === 0) { diff --git a/assets/src/js/functions/select.js b/assets/src/js/functions/select.js index 9887ba781..8e31ece9f 100755 --- a/assets/src/js/functions/select.js +++ b/assets/src/js/functions/select.js @@ -99,8 +99,28 @@ function start_superselect() { params.page = params.page || 0; params.length = params.length || 100; + let results = data.results; + + // Interpretazione forzata per campi optgroup + if (results[0]['optgroup']) { + let groups = results.reduce(function (r, a) { + r[a.optgroup] = r[a.optgroup] || []; + r[a.optgroup].push(a); + return r; + }, {}); + + let results_groups = []; + for (const key in groups) { + results_groups.push({ + text: key, + children: groups[key], + }); + } + results = results_groups; + } + return { - results: data.results, + results: results, pagination: { more: (params.page + 1) * params.length < data.recordsFiltered, } @@ -236,8 +256,8 @@ jQuery.fn.getSelectOption = function (name) { * @param name * @param value */ -function updateSelectOption(name, value){ - $(".superselectajax").each(function (){ +function updateSelectOption(name, value) { + $(".superselectajax").each(function () { $(this).setSelectOption(name, value); }) } diff --git a/modules/contratti/row-list.php b/modules/contratti/row-list.php index dea713eee..3e2a48eea 100755 --- a/modules/contratti/row-list.php +++ b/modules/contratti/row-list.php @@ -210,9 +210,9 @@ echo ' echo ' '; diff --git a/plugins/importFE/riferimento.php b/plugins/importFE/riferimento.php index f0693d43e..3dc1a6086 100755 --- a/plugins/importFE/riferimento.php +++ b/plugins/importFE/riferimento.php @@ -24,22 +24,20 @@ include_once __DIR__.'/../../core.php'; include_once __DIR__.'/init.php'; $direzione = 'uscita'; -$id_anagrafica = $anagrafica->id; $id_riga = get('id_riga'); $qta = get('qta'); $id_documento = get('id_documento'); $tipo_documento = get('tipo_documento'); -if (!empty($tipo_documento)) { - if ($tipo_documento == 'ordine') { - $documento = Ordine::find($id_documento); - $righe_utilizzate = get('righe_ordini'); - } else { - $documento = DDT::find($id_documento); - $righe_utilizzate = get('righe_ddt'); - } +if ($tipo_documento == 'ordine') { + $documento = Ordine::find($id_documento); + $righe_utilizzate = get('righe_ordini'); +} else { + $documento = DDT::find($id_documento); + $righe_utilizzate = get('righe_ddt'); +} - echo ' +echo ' @@ -49,140 +47,55 @@ if (!empty($tipo_documento)) { '; - $id_riferimento = get('id_riferimento'); - $righe = $documento->getRighe(); - foreach ($righe as $riga) { - $qta_rimanente = $riga->qta_rimanente - $righe_utilizzate[$riga->id]; +$id_riferimento = get('id_riferimento'); +$righe = $documento->getRighe(); +foreach ($righe as $riga) { + $qta_rimanente = $riga->qta_rimanente - $righe_utilizzate[$riga->id]; - echo ' - id ? 'class="success"' : '').'> + $dettagli = [ + 'tipo' => get_class($riga), + 'id' => $riga->id, + 'qta' => $riga->qta, + 'prezzo_unitario' => $riga->prezzo_unitario, + 'id_iva' => $riga->id_iva, + 'iva_percentuale' => $riga->aliquota->percentuale, + ]; + + echo ' + id ? 'class="success"' : '').' data-dettagli='.json_encode($dettagli).'> '; - } - - echo ' - -
'.tr('Descrizione').'
'.$riga->descrizione.' '.numberFormat($qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '; - if ($qta_rimanente >= $qta) { - echo ' - '; - } + } - echo ' + echo '
'; - - return; } echo ' -
-
- {[ "type": "select", "label": "'.tr('Ordine').'", "name": "id_ordine", "values": "query=SELECT or_ordini.id, CONCAT(\'Ordine num. \', IF(numero_esterno != \'\', numero_esterno, numero), \' del \', DATE_FORMAT(data, \'%d-%m-%Y\'), \' [\', (SELECT descrizione FROM or_statiordine WHERE id = idstatoordine) , \']\') AS descrizione FROM or_ordini WHERE idanagrafica = '.prepare($id_anagrafica).' AND idstatoordine IN (SELECT id FROM or_statiordine WHERE descrizione IN(\'Bozza\', \'Accettato\', \'Parzialmente evaso\')) AND idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir='.prepare($direzione).') ORDER BY data DESC, numero DESC", "value": "" ]} -
- -
- {[ "type": "select", "label": "'.tr('Ddt').'", "name": "id_ddt", "values": "query=SELECT dt_ddt.id, CONCAT(\'DDT num. \', IF(numero_esterno != \'\', numero_esterno, numero), \' del \', DATE_FORMAT(data, \'%d-%m-%Y\'), \' [\', (SELECT descrizione FROM dt_statiddt WHERE id = idstatoddt) , \']\') AS descrizione FROM dt_ddt WHERE idanagrafica = '.prepare($id_anagrafica).' AND idstatoddt IN (SELECT id FROM dt_statiddt WHERE descrizione IN(\'Bozza\', \'Parzialmente evaso\')) AND idtipoddt IN (SELECT id FROM dt_tipiddt WHERE dir='.prepare($direzione).') ORDER BY data DESC, numero DESC" ]} -
-
- -
- -
- -
- '.tr('Caricamento in corso').'... -
'; - -$file = basename(__FILE__); -echo ' - + + '; diff --git a/src/API/App/v1/Interventi.php b/src/API/App/v1/Interventi.php index 80c75bf0d..5089a0372 100644 --- a/src/API/App/v1/Interventi.php +++ b/src/API/App/v1/Interventi.php @@ -138,7 +138,6 @@ class Interventi extends AppResource codice, richiesta, data_richiesta, - (SELECT MIN(`orario_inizio`) FROM `in_interventi_tecnici` WHERE `in_interventi_tecnici`.`idintervento` = `in_interventi`.`id`) AS `data`, descrizione, idanagrafica AS id_cliente, id_contratto, diff --git a/src/HTMLBuilder/Wrapper/HTMLWrapper.php b/src/HTMLBuilder/Wrapper/HTMLWrapper.php index 11017455d..9a839f3dc 100755 --- a/src/HTMLBuilder/Wrapper/HTMLWrapper.php +++ b/src/HTMLBuilder/Wrapper/HTMLWrapper.php @@ -185,6 +185,10 @@ class HTMLWrapper implements WrapperInterface $values['icon-custom'] = 'no-padding'; } + if (str_contains($string, '