diff --git a/modules/anagrafiche/ajax/select.php b/modules/anagrafiche/ajax/select.php index 116122fce..e78469b5d 100755 --- a/modules/anagrafiche/ajax/select.php +++ b/modules/anagrafiche/ajax/select.php @@ -389,17 +389,12 @@ switch ($resource) { $user = Auth::user(); $id_azienda = setting('Azienda predefinita'); - $query = "SELECT * FROM (SELECT '0' AS id, 'Sede legale' AS `nomesede`, CONCAT_WS(' - ', \"".tr('Sede legale')."\" , (SELECT CONCAT (`citta`, IF(`indirizzo`!='',CONCAT(' (', `indirizzo`, ')'), ''),' (', `ragione_sociale`,')') FROM `an_anagrafiche` |where|)) AS descrizione UNION SELECT `id`, `nomesede`, CONCAT_WS(' - ', `nomesede`, CONCAT(`citta`, IF(`indirizzo`!='',CONCAT(' (', `indirizzo`, ')'), '')) ) FROM `an_sedi` |where|) AS tab |filter| ORDER BY descrizione"; - - foreach ($elements as $element) { - $filter[] = '`id`='.prepare($element); - } + $query = "SELECT * FROM (SELECT '0' AS id, 'Sede legale' AS `nomesede`, CONCAT_WS(' - ', \"".tr('Sede legale')."\" , (SELECT CONCAT (`citta`, IF(`indirizzo`!='',CONCAT(' (', `indirizzo`, ')'), ''),' (', `ragione_sociale`,')') FROM `an_anagrafiche` |where|)) AS descrizione UNION SELECT `id`, `nomesede`, CONCAT_WS(' - ', `nomesede`, CONCAT(`citta`, IF(`indirizzo`!='',CONCAT(' (', `indirizzo`, ')'), '')) ) FROM `an_sedi`) AS tab |filter| ORDER BY descrizione"; $where[] = '`idanagrafica`='.prepare($id_azienda); - // admin o utente senza una sede prefissata, avrà accesso a tutte le sedi - if (!empty($user->sedi) and !$user->is_admin) { - $where[] = '`id` IN('.implode(',', $user->sedi).')'; - } + + // filtro in base alle sedi abilitate all'anagrafica + $filter[] = '`id` IN('.implode(',', $user->sedi).')'; if (!empty($search)) { $search_fields[] = '`nomesede` LIKE '.prepare('%'.$search.'%'); diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index d8c3ed26f..0c89d7458 100755 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -83,7 +83,8 @@ switch (post('op')) { if (!empty(post('qta'))) { $data_movimento = new Carbon(); - $articolo->movimenta(post('qta'), tr('Carico manuale'), $data_movimento->format('Y-m-d'), true); + $sede = post('sede'); + $articolo->movimenta(post('qta'), tr('Carico manuale'), $data_movimento->format('Y-m-d'), true, $sede); } $id_record = $articolo->id; diff --git a/modules/articoli/add.php b/modules/articoli/add.php index 28a476774..b47d5ade4 100755 --- a/modules/articoli/add.php +++ b/modules/articoli/add.php @@ -92,13 +92,11 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
- {[ "type": "number", "label": "", "name": "threshold_qta", "decimals": "qta", "min-value": "undefined" ]} + {[ "type": "select", "label": "", "name": "sede", "ajax-source": "sedi_azienda", "value": "0", "required": 1 ]}
- {[ "type": "select", "label": "", "name": "idiva_vendita", "ajax-source": "iva", "valore_predefinito": "Iva predefinita", "help": "" ]} - - + {[ "type": "number", "label": "", "name": "threshold_qta", "decimals": "qta", "min-value": "undefined" ]}
@@ -116,17 +114,23 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
-
+
{[ "type": "select", "label": "", "name": "idconto_acquisto", "ajax-source": "conti-acquisti" ]}
-
+
{[ "type": "select", "label": "", "name": "idconto_vendita", "ajax-source": "conti-vendite" ]}
+ +
+ {[ "type": "select", "label": "", "name": "idiva_vendita", "ajax-source": "iva", "valore_predefinito": "Iva predefinita", "help": "" ]} + + +
-
+
{[ "type": "checkbox", "label": "", "name": "abilita_serial_add", "help": "", "value": "","placeholder": "" ]}
diff --git a/modules/articoli/src/Articolo.php b/modules/articoli/src/Articolo.php index b79a61876..5c5f546b9 100755 --- a/modules/articoli/src/Articolo.php +++ b/modules/articoli/src/Articolo.php @@ -71,10 +71,10 @@ class Articolo extends Model * * @return bool */ - public function movimenta($qta, $descrizone = null, $data = null, $manuale = false, $array = []) + public function movimenta($qta, $descrizone = null, $data = null, $manuale = false, $id_sede = null, $array = [], ) { $data = ($data ?: date('Y-m-d H:i:s')); - $id = $this->registra($qta, $descrizone, $data, $manuale, $array); + $id = $this->registra($qta, $descrizone, $data, $manuale, $array, $id_sede); if (empty($this->servizio)) { $this->qta += $qta; @@ -95,7 +95,7 @@ class Articolo extends Model * * @return bool */ - public function registra($qta, $descrizone = null, $data = null, $manuale = false, $array = []) + public function registra($qta, $descrizone = null, $data = null, $manuale = false, $array = [], $id_sede = null) { if (empty($qta)) { return false; @@ -112,6 +112,7 @@ class Articolo extends Model 'movimento' => $descrizone, 'data' => $data, 'manuale' => $manuale, + 'idsede' => $id_sede ?: 0, 'idutente' => $user->id, ])); } diff --git a/modules/movimenti/add.php b/modules/movimenti/add.php index 5cb803532..4a78c00ab 100755 --- a/modules/movimenti/add.php +++ b/modules/movimenti/add.php @@ -30,9 +30,6 @@ if (setting('Attiva scorciatoie da tastiera')) { ?> - - -