diff --git a/assets/src/js/functions/select.js b/assets/src/js/functions/select.js index 2da53863d..67e542085 100755 --- a/assets/src/js/functions/select.js +++ b/assets/src/js/functions/select.js @@ -289,5 +289,27 @@ function initDynamicSelectInput(input) { }, width: '100%' }); + + // Rimozione delle option presenti nell'HTML per permettere l'aggiornamento dei dati via AJAX + // Rimozione per select multipli + if ($input.prop("multiple")) { + $input.on('select2:unselecting', function (e) { + let data = e.params ? e.params.data : null; + if (data) { + let option = $input.find('option[value="' + data.id + '"]'); + option.remove(); + } + }); + } + // Rimozione per select singoli + else { + $input.on('select2:selecting', function (e) { + let data = $input.selectData(); + if (data) { + let option = $input.find('option[value="' + data.id + '"]'); + option.remove(); + } + }); + } } diff --git a/modules/anagrafiche/src/API/v1/Anagrafiche.php b/modules/anagrafiche/src/API/v1/Anagrafiche.php index a24c8d631..894aefbfd 100755 --- a/modules/anagrafiche/src/API/v1/Anagrafiche.php +++ b/modules/anagrafiche/src/API/v1/Anagrafiche.php @@ -58,7 +58,6 @@ class Anagrafiche extends Resource implements RetrieveInterface, CreateInterface 'an_anagrafiche.deleted_at' )->orderBy('an_anagrafiche.ragione_sociale'); - $filters = []; if ($request['resource'] != 'anagrafiche') { $type = 'Cliente'; diff --git a/modules/articoli/ajax/select.php b/modules/articoli/ajax/select.php index 8c7fd0d8a..f0eea9041 100755 --- a/modules/articoli/ajax/select.php +++ b/modules/articoli/ajax/select.php @@ -148,6 +148,9 @@ switch ($resource) { $data = AJAX::selectResults($query, $where, $filter, $search_fields, $limit, $custom); $rs = $data['results']; + // Utilizzo dell'impostazione per disabilitare articoli con quantità <= 0 + $permetti_movimenti_sotto_zero = setting('Permetti selezione articoli con quantità minore o uguale a zero in Documenti di Vendita') ? true : $superselect['permetti_movimento_a_zero']; + // IVA da impostazioni foreach ($rs as $k => $r) { // Lettura movimenti delle mie sedi @@ -164,7 +167,7 @@ switch ($resource) { $rs[$k] = array_merge($r, [ 'text' => $r['codice'].' - '.$r['descrizione'].' '.(!$r['servizio'] ? '('.Translator::numberToLocale($qta).(!empty($r['um']) ? ' '.$r['um'] : '').')' : ''), - 'disabled' => $r['qta'] <= 0 && !$superselect['permetti_movimento_a_zero'] && !$r['servizio'], + 'disabled' => $r['qta'] <= 0 && !$permetti_movimenti_sotto_zero && !$r['servizio'], ]); } @@ -256,14 +259,14 @@ switch ($resource) { } break; - + case 'fornitori-articolo': $query = 'SELECT an_anagrafiche.idanagrafica AS id, an_anagrafiche.ragione_sociale AS descrizione, (mg_prezzi_articoli.prezzo_unitario-(mg_prezzi_articoli.prezzo_unitario*mg_prezzi_articoli.sconto_percentuale)/100) AS prezzo_unitario FROM mg_prezzi_articoli LEFT JOIN an_anagrafiche ON mg_prezzi_articoli.id_anagrafica=an_anagrafiche.idanagrafica |where| ORDER BY an_anagrafiche.ragione_sociale'; foreach ($elements as $element) { $filter[] = 'an_anagrafiche.idanagrafica='.prepare($element); } - + $where[] = 'dir="uscita"'; $where[] = 'minimo IS NULL'; $where[] = 'massimo IS NULL'; diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php index b4cbfdf31..176c01b05 100755 --- a/modules/articoli/edit.php +++ b/modules/articoli/edit.php @@ -175,7 +175,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "select", "label": "", "name": "id_fornitore", "ajax-source": "fornitori-articolo", "select-options": $id_record]); ?>, "value":"$id_fornitore$", "help": "." ]} + {[ "type": "select", "label": "", "name": "id_fornitore", "ajax-source": "fornitori-articolo", "select-options": $id_record]); ?>, "value":"$id_fornitore$", "help": "." ]}
@@ -460,7 +460,7 @@ if (!empty($elementi)) { \ No newline at end of file + diff --git a/modules/articoli/src/Import/CSV.php b/modules/articoli/src/Import/CSV.php index 3407ae5ad..a6234e392 100644 --- a/modules/articoli/src/Import/CSV.php +++ b/modules/articoli/src/Import/CSV.php @@ -21,11 +21,11 @@ namespace Modules\Articoli\Import; use Carbon\Carbon; use Importer\CSVImporter; +use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Sede; use Modules\Articoli\Articolo; use Modules\Articoli\Categoria; use Modules\Iva\Aliquota; -use Modules\Anagrafiche\Anagrafica; use Plugins\DettagliArticolo\DettaglioPrezzo; /** diff --git a/modules/checklists/modutil.php b/modules/checklists/modutil.php index cf6b9d4ec..e671b6460 100755 --- a/modules/checklists/modutil.php +++ b/modules/checklists/modutil.php @@ -28,14 +28,13 @@ function renderChecklist($check, $level = 0) '.$check->content.''; - if (empty($check->user) || $check->user->id == $user->id) { $result .= '
'; } - + if ($level == 0) { $result .= ' @@ -46,10 +45,10 @@ function renderChecklist($check, $level = 0) $result .= ' '.(!empty($check->checked_at) ? tr('Verificato da _NAME_ il _DATE_', [ - '_NAME_' => $check->checkUser->username, - '_DATE_' => timestampFormat($check->checked_at), + '_NAME_' => $check->checkUser->username, + '_DATE_' => timestampFormat($check->checked_at), ]) : '').''; - + $result .= '