fix: gestione movimentazioni e creazioni articoli fra sedi abilitate
This commit is contained in:
parent
9544ff1b5d
commit
f4e0e373ec
|
@ -389,17 +389,12 @@ switch ($resource) {
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
$id_azienda = setting('Azienda predefinita');
|
$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";
|
$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";
|
||||||
|
|
||||||
foreach ($elements as $element) {
|
|
||||||
$filter[] = '`id`='.prepare($element);
|
|
||||||
}
|
|
||||||
|
|
||||||
$where[] = '`idanagrafica`='.prepare($id_azienda);
|
$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) {
|
// filtro in base alle sedi abilitate all'anagrafica
|
||||||
$where[] = '`id` IN('.implode(',', $user->sedi).')';
|
$filter[] = '`id` IN('.implode(',', $user->sedi).')';
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($search)) {
|
if (!empty($search)) {
|
||||||
$search_fields[] = '`nomesede` LIKE '.prepare('%'.$search.'%');
|
$search_fields[] = '`nomesede` LIKE '.prepare('%'.$search.'%');
|
||||||
|
|
|
@ -83,7 +83,8 @@ switch (post('op')) {
|
||||||
|
|
||||||
if (!empty(post('qta'))) {
|
if (!empty(post('qta'))) {
|
||||||
$data_movimento = new Carbon();
|
$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;
|
$id_record = $articolo->id;
|
||||||
|
|
|
@ -92,13 +92,11 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "number", "label": "<?php echo tr('Soglia minima quantità'); ?>", "name": "threshold_qta", "decimals": "qta", "min-value": "undefined" ]}
|
{[ "type": "select", "label": "<?php echo tr('Sede'); ?>", "name": "sede", "ajax-source": "sedi_azienda", "value": "0", "required": 1 ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "ajax-source": "iva", "valore_predefinito": "Iva predefinita", "help": "<?php echo tr('Se non specificata, verrà utilizzata l\'iva di default delle impostazioni'); ?>" ]}
|
{[ "type": "number", "label": "<?php echo tr('Soglia minima quantità'); ?>", "name": "threshold_qta", "decimals": "qta", "min-value": "undefined" ]}
|
||||||
<input type="hidden" name="prezzi_ivati" value="<?php echo $prezzi_ivati; ?>">
|
|
||||||
<input type="hidden" name="aliquota_predefinita" value="<?php echo $aliquota_predefinita; ?>">
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -116,17 +114,23 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Conto predefinito di acquisto'); ?>", "name": "idconto_acquisto", "ajax-source": "conti-acquisti" ]}
|
{[ "type": "select", "label": "<?php echo tr('Conto predefinito di acquisto'); ?>", "name": "idconto_acquisto", "ajax-source": "conti-acquisti" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-4">
|
||||||
{[ "type": "select", "label": "<?php echo tr('Conto predefinito di vendita'); ?>", "name": "idconto_vendita", "ajax-source": "conti-vendite" ]}
|
{[ "type": "select", "label": "<?php echo tr('Conto predefinito di vendita'); ?>", "name": "idconto_vendita", "ajax-source": "conti-vendite" ]}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
|
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "ajax-source": "iva", "valore_predefinito": "Iva predefinita", "help": "<?php echo tr('Se non specificata, verrà utilizzata l\'iva di default delle impostazioni'); ?>" ]}
|
||||||
|
<input type="hidden" name="prezzi_ivati" value="<?php echo $prezzi_ivati; ?>">
|
||||||
|
<input type="hidden" name="aliquota_predefinita" value="<?php echo $aliquota_predefinita; ?>">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-4">
|
||||||
{[ "type": "checkbox", "label": "<?php echo tr('Abilita serial number'); ?>", "name": "abilita_serial_add", "help": "<?php echo tr('Abilita serial number in fase di aggiunta articolo in fattura o ddt'); ?>", "value": "<?php echo setting('Serial number abilitato di default'); ?>","placeholder": "<?php echo tr('Serial number'); ?>" ]}
|
{[ "type": "checkbox", "label": "<?php echo tr('Abilita serial number'); ?>", "name": "abilita_serial_add", "help": "<?php echo tr('Abilita serial number in fase di aggiunta articolo in fattura o ddt'); ?>", "value": "<?php echo setting('Serial number abilitato di default'); ?>","placeholder": "<?php echo tr('Serial number'); ?>" ]}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -71,10 +71,10 @@ class Articolo extends Model
|
||||||
*
|
*
|
||||||
* @return bool
|
* @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'));
|
$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)) {
|
if (empty($this->servizio)) {
|
||||||
$this->qta += $qta;
|
$this->qta += $qta;
|
||||||
|
@ -95,7 +95,7 @@ class Articolo extends Model
|
||||||
*
|
*
|
||||||
* @return bool
|
* @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)) {
|
if (empty($qta)) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -112,6 +112,7 @@ class Articolo extends Model
|
||||||
'movimento' => $descrizone,
|
'movimento' => $descrizone,
|
||||||
'data' => $data,
|
'data' => $data,
|
||||||
'manuale' => $manuale,
|
'manuale' => $manuale,
|
||||||
|
'idsede' => $id_sede ?: 0,
|
||||||
'idutente' => $user->id,
|
'idutente' => $user->id,
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,9 +30,6 @@ if (setting('Attiva scorciatoie da tastiera')) {
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<form action="" method="post" id="add-form">
|
<form action="" method="post" id="add-form">
|
||||||
<input type="hidden" name="op" value="add">
|
<input type="hidden" name="op" value="add">
|
||||||
<input type="hidden" name="backto" value="record-edit">
|
<input type="hidden" name="backto" value="record-edit">
|
||||||
|
|
Loading…
Reference in New Issue