diff --git a/actions.php b/actions.php index 20f8fbca2..642990643 100644 --- a/actions.php +++ b/actions.php @@ -169,12 +169,12 @@ if (filter('op') == 'link_file' || filter('op') == 'unlink_file') { // Creazione file fisico if (move_uploaded_file($src, $upload_dir.'/'.$filename)) { $dbo->insert('zz_files', [ - 'nome' => $nome, - 'filename' => $filename, - 'original' => $_FILES['blob']['name'], - 'id_module' => $id_module, - 'id_record' => $id_record, - ]); + 'nome' => $nome, + 'filename' => $filename, + 'original' => $_FILES['blob']['name'], + 'id_module' => $id_module, + 'id_record' => $id_record, + ]); $_SESSION['infos'][] = tr('File caricato correttamente!'); } else { @@ -407,10 +407,10 @@ if (Modules::getPermission($permesso) == 'r' || Modules::getPermission($permesso if (starts_with(post('op'), 'add')) { foreach ($values as $key => $value) { $dbo->insert('zz_field_record', [ - 'id_record' => $id_record, - 'id_field' => $key, - 'value' => $value, - ]); + 'id_record' => $id_record, + 'id_field' => $key, + 'value' => $value, + ]); } } diff --git a/include/common/riga.php b/include/common/riga.php index dae39cd8e..422f113da 100644 --- a/include/common/riga.php +++ b/include/common/riga.php @@ -12,66 +12,93 @@ $calcolo_ritenutaacconto = 0; // Informazioni aggiuntive per Fatture if ($module['name'] == 'Fatture di acquisto' || $module['name'] == 'Fatture di vendita') { - // Percentuale rivalsa INPS e Percentuale ritenuta d'acconto - if ($options['action'] == 'edit'){ - - if($options['dir'] == 'uscita'){ + if ($options['action'] == 'edit') { + if ($options['dir'] == 'uscita') { $show_idrivalsainps = 1; $show_idritenutaacconto = 1; $show_calcolo_ritenutaacconto = 1; + } elseif (($options['dir'] == 'entrata' && (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d'acconto") != ''))) { + if (get_var('Percentuale rivalsa INPS') != '') { + $show_idrivalsainps = 1; + } else { + $show_idrivalsainps = 0; + } + if (get_var("Percentuale ritenuta d'acconto") != '') { + $show_idritenutaacconto = 1; + } else { + $show_idritenutaacconto = 0; + } + if (get_var("Percentuale ritenuta d'acconto") != '') { + $show_calcolo_ritenutaacconto = 1; + } else { + $show_calcolo_ritenutaacconto = 0; + } } - else if (($options['dir'] == 'entrata' && ( get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d'acconto") != ''))) { - if( get_var('Percentuale rivalsa INPS') != '' ){ $show_idrivalsainps = 1; }else{ $show_idrivalsainps = 0; } - if( get_var("Percentuale ritenuta d'acconto") != '' ){ $show_idritenutaacconto = 1; }else{ $show_idritenutaacconto = 0; } - if( get_var("Percentuale ritenuta d'acconto") != '' ){ $show_calcolo_ritenutaacconto = 1; }else{ $show_calcolo_ritenutaacconto = 0; } - } - + $idrivalsainps = $result['idrivalsainps']; $idritenutaacconto = $result['idritenutaacconto']; $calcolo_ritenutaacconto = $result['calcolo_ritenutaacconto']; - - } - - else if ($options['action'] == 'add'){ - - if($options['dir'] == 'uscita'){ + } elseif ($options['action'] == 'add') { + if ($options['dir'] == 'uscita') { $show_idrivalsainps = 1; $show_idritenutaacconto = 1; $show_calcolo_ritenutaacconto = 1; - - $idrivalsainps = ""; - $idritenutaacconto = ""; + + $idrivalsainps = ''; + $idritenutaacconto = ''; $calcolo_ritenutaacconto = get_var("Metodologia calcolo ritenuta d'acconto predefinito"); - } - else if ($options['dir'] == 'entrata' && $options['op']=='addriga' && ( get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d'acconto") != '')) { - if( get_var('Percentuale rivalsa INPS') != '' ){ $show_idrivalsainps = 1; }else{ $show_idrivalsainps = 0; } - if( get_var("Percentuale ritenuta d'acconto") != '' ){ $show_idritenutaacconto = 1; }else{ $show_idritenutaacconto = 0; } - if( get_var("Percentuale ritenuta d'acconto") != '' ){ $show_calcolo_ritenutaacconto = 1; }else{ $show_calcolo_ritenutaacconto = 0; } - + } elseif ($options['dir'] == 'entrata' && $options['op'] == 'addriga' && (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d'acconto") != '')) { + if (get_var('Percentuale rivalsa INPS') != '') { + $show_idrivalsainps = 1; + } else { + $show_idrivalsainps = 0; + } + if (get_var("Percentuale ritenuta d'acconto") != '') { + $show_idritenutaacconto = 1; + } else { + $show_idritenutaacconto = 0; + } + if (get_var("Percentuale ritenuta d'acconto") != '') { + $show_calcolo_ritenutaacconto = 1; + } else { + $show_calcolo_ritenutaacconto = 0; + } + $idrivalsainps = get_var('Percentuale rivalsa INPS'); $idritenutaacconto = get_var("Percentuale ritenuta d'acconto"); $calcolo_ritenutaacconto = get_var("Metodologia calcolo ritenuta d'acconto predefinito"); } - //Caso particolare per aggiunta articolo in fatture di vendita - else if($options['dir'] == 'entrata' && $options['op']=='addarticolo' && ( get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d'acconto") != '')){ - if( get_var('Percentuale rivalsa INPS') != '' ){ $show_idrivalsainps = 1; }else{ $show_idrivalsainps = 0; } - if( get_var("Percentuale ritenuta d'acconto") != '' ){ $show_idritenutaacconto = 1; }else{ $show_idritenutaacconto = 0; } - if( get_var("Percentuale ritenuta d'acconto") != '' ){ $show_calcolo_ritenutaacconto = 1; }else{ $show_calcolo_ritenutaacconto = 0; } - - $idrivalsainps = ""; + // Caso particolare per aggiunta articolo in fatture di vendita + elseif ($options['dir'] == 'entrata' && $options['op'] == 'addarticolo' && (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d'acconto") != '')) { + if (get_var('Percentuale rivalsa INPS') != '') { + $show_idrivalsainps = 1; + } else { + $show_idrivalsainps = 0; + } + if (get_var("Percentuale ritenuta d'acconto") != '') { + $show_idritenutaacconto = 1; + } else { + $show_idritenutaacconto = 0; + } + if (get_var("Percentuale ritenuta d'acconto") != '') { + $show_calcolo_ritenutaacconto = 1; + } else { + $show_calcolo_ritenutaacconto = 0; + } + + $idrivalsainps = ''; $idritenutaacconto = get_var("Percentuale ritenuta d'acconto"); $calcolo_ritenutaacconto = get_var("Metodologia calcolo ritenuta d'acconto predefinito"); } - } - - if($show_idrivalsainps==1 || $show_idritenutaacconto==1){ + + if ($show_idrivalsainps == 1 || $show_idritenutaacconto == 1) { echo '
'; // Rivalsa INPS - if ( $show_idrivalsainps == 1 ) { + if ($show_idrivalsainps == 1) { echo '
{[ "type": "select", "label": "'.tr('Rivalsa INPS').'", "name": "idrivalsainps", "value": "'.$idrivalsainps.'", "values": "query=SELECT * FROM co_rivalsainps" ]} @@ -79,21 +106,21 @@ if ($module['name'] == 'Fatture di acquisto' || $module['name'] == 'Fatture di v } // Ritenuta d'acconto - if ( $show_idritenutaacconto == 1 ) { + if ($show_idritenutaacconto == 1) { echo '
{[ "type": "select", "label": "'.tr("Ritenuta d'acconto").'", "name": "idritenutaacconto", "value": "'.$idritenutaacconto.'", "values": "query=SELECT * FROM co_ritenutaacconto" ]}
'; } - - //Calcola ritenuta d'acconto su - if ( $show_calcolo_ritenutaacconto == 1 ) { + + // Calcola ritenuta d'acconto su + if ($show_calcolo_ritenutaacconto == 1) { echo '
{[ "type": "select", "label": "'.tr("Calcola ritenuta d'acconto su").'", "name": "calcolo_ritenutaacconto", "value": "'.$calcolo_ritenutaacconto.'", "values": "list=\"Imponibile\":\"Imponibile\", \"Imponibile + rivalsa inps\":\"Imponibile + rivalsa inps\"", "required": "1" ]}
'; } - + echo '
'; } diff --git a/include/manager.php b/include/manager.php index 4782ead91..2124e8bad 100644 --- a/include/manager.php +++ b/include/manager.php @@ -51,7 +51,7 @@ if (count(Modules::getSegments($id_module)) > 1) { ?>
- {[ "type": "select", "label": "", "name": "id_segment_", "required": 0, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module = ''", "value": "", "extra": "" ]} + {[ "type": "select", "label": "", "name": "id_segment_", "required": 0, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module = ''", "value": "" ]}

diff --git a/lib/deprecated.php b/lib/deprecated.php index e2491de5f..dbc478dc1 100644 --- a/lib/deprecated.php +++ b/lib/deprecated.php @@ -336,12 +336,12 @@ function readDate($data) /** * Genera una porzione di codice html a partire da una stringa nei seguenti formati: * campo generico: - * {[ "type": "text", "required": 1, "value": "$idintervento$", "extra": "" ]}. + * {[ "type": "text", "required": 1, "value": "$idintervento$" ]}. * * campo di testo normale e non modificabile * {[ "type": "span", "value": "$testo$" ]} * - * {[ "type": "select", "required": 1, "values": "query='SELECT id, descrizione FROM co_contratti WHERE idanagrafica=$idanagrafica$"', "value": "$idcontratto$", "extra": "" ]} + * {[ "type": "select", "required": 1, "values": "query='SELECT id, descrizione FROM co_contratti WHERE idanagrafica=$idanagrafica$"', "value": "$idcontratto$" ]} * * Il parametro $records contiene il risultato della query di selezione record per fare i vari replace delle variabili racchiuse tra $$ nel template * @@ -622,7 +622,7 @@ function build_html_element($string) // Generazione @@ -24,10 +22,10 @@ include_once __DIR__.'/../../core.php'; {[ "type": "text", "label": "", "name": "filiale", "value": "$filiale$" ]}
- {[ "type": "select", "label": "", "name": "id_pianodeiconti3", "value": "$id_pianodeiconti3$", "values": "query=SELECT id, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2 = 1" ]} + {[ "type": "select", "label": "", "name": "id_pianodeiconti3", "value": "$id_pianodeiconti3$", "values": "query=SELECT id, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2 = 1" ]}
- +
{[ "type": "text", "label": "", "name": "iban", "required": "1", "class": "alphanumeric-mask", "maxlength": 32, "value": "$iban$" ]} @@ -36,10 +34,10 @@ include_once __DIR__.'/../../core.php'; {[ "type": "text", "label": "", "name": "bic", "class": "alphanumeric-mask", "maxlength": 11, "value": "$bic$" ]}
- +
- {[ "type": "textarea", "label": "", "name": "note", "required": 0, "class": "", "value": "$note$", "extra": "" ]} + {[ "type": "textarea", "label": "", "name": "note", "required": 0, "value": "$note$" ]}
diff --git a/modules/categorie/add.php b/modules/categorie/add.php index 14a95f648..404452285 100644 --- a/modules/categorie/add.php +++ b/modules/categorie/add.php @@ -33,7 +33,7 @@ if (!isset($id_original)) {
- {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$nome$", "extra": "" ]} + {[ "type": "text", "label": "", "name": "nome", "required": 1, "value": "$nome$" ]}
diff --git a/modules/contratti/plugins/addfattura.php b/modules/contratti/plugins/addfattura.php index 663239a11..cd13ba222 100644 --- a/modules/contratti/plugins/addfattura.php +++ b/modules/contratti/plugins/addfattura.php @@ -20,29 +20,29 @@ echo ' echo '
- {[ "type": "date", "label": "'.tr('Data').'", "name": "data", "required": 1, "class": "text-center", "value": "-now-", "extra": "" ]} + {[ "type": "date", "label": "'.tr('Data').'", "name": "data", "required": 1, "class": "text-center", "value": "-now-" ]}
'; // Tipo di documento echo '
- {[ "type": "select", "label": "'.tr('Tipo di fattura').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT * FROM co_tipidocumento WHERE dir=\'entrata\'", "extra": "" ]} + {[ "type": "select", "label": "'.tr('Tipo di fattura').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT * FROM co_tipidocumento WHERE dir=\'entrata\'" ]}
'; - - + + // Sezionale echo '
- {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.Modules::get('Fatture di vendita')['id'].' ORDER BY name", "value":"'.$_SESSION['m'.Modules::get('Fatture di vendita')['id']]['id_segment'].'", "extra": "" ]} + {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.Modules::get('Fatture di vendita')['id'].' ORDER BY name", "value":"'.$_SESSION['m'.Modules::get('Fatture di vendita')['id']]['id_segment'].'" ]}
- +
'; // Note echo '
- {[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "note", "value": "Rata '.$n_rata.' del contratto numero '.$numero.', zona '.$zona.'", "extra": "" ]} + {[ "type": "textarea", "label": "'.tr('Descrizione').'", "name": "note", "value": "Rata '.$n_rata.' del contratto numero '.$numero.', zona '.$zona.'" ]}
'; diff --git a/modules/fatture/add.php b/modules/fatture/add.php index 5bc653dbc..8942fe238 100644 --- a/modules/fatture/add.php +++ b/modules/fatture/add.php @@ -34,7 +34,7 @@ if ($module['name'] == 'Fatture di vendita') { {[ "type": "select", "label": "", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, descrizione FROM co_tipidocumento WHERE dir=''", "value": "" ]}
- {[ "type": "select", "label": "", "name": "id_segment", "required": 1, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='' ORDER BY name", "value": "", "extra": "" ]} + {[ "type": "select", "label": "", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='' ORDER BY name", "value": "" ]}
diff --git a/modules/fatture/add_intervento.php b/modules/fatture/add_intervento.php index 7b00f383b..8f258c648 100644 --- a/modules/fatture/add_intervento.php +++ b/modules/fatture/add_intervento.php @@ -52,13 +52,13 @@ foreach ($rs as $key => $value) { // Intervento echo '
- +
{[ "type": "select", "label": "'.tr('Intervento').'", "name": "idintervento", "required": 1, "values": '.json_encode($rs).', "extra": "onchange=\"$data = $(this).selectData(); $(\'#descrizione\').val($data.descrizione); if($(\'#copia_descrizione\').is(\':checked\')){ $(\'#descrizione\').val($data.descrizione + $data.descrizione_intervento); }; $(\'#prezzo\').val($data.prezzo);\"" ]}
- +
- {[ "type": "checkbox", "label": "'.tr('Copia descrizione').'", "name": "copia_descrizione", "required": 0, "values": "", "extra": "", "help": "", "placeholder": "'.tr('In fase di selezione copia la descrizione dell\'intervento').'." ]} + {[ "type": "checkbox", "label": "'.tr('Copia descrizione').'", "name": "copia_descrizione", "required": 0, "values": "", "help": "", "placeholder": "'.tr('In fase di selezione copia la descrizione dell\'intervento').'." ]}
'; diff --git a/modules/fatture/crea_documento.php b/modules/fatture/crea_documento.php index d0d7e05e0..2f32ea1f7 100644 --- a/modules/fatture/crea_documento.php +++ b/modules/fatture/crea_documento.php @@ -101,10 +101,10 @@ if (!empty($rs)) { if ($module_name=='Fatture di vendita' || $module_name == 'Fatture di acquisto'){ echo '
- {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.prepare(Modules::get($module_name)['id']).' ORDER BY name", "value": "'.Modules::get($module_name)['id_segment'].'", "extra": "" ]} + {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.prepare(Modules::get($module_name)['id']).' ORDER BY name", "value": "'.Modules::get($module_name)['id_segment'].'" ]}
'; } - + echo ''; } @@ -267,7 +267,7 @@ echo ' ricalcola_totale(); } - + function ricalcola_totale(){ tot_qta = 0; r = 0; @@ -297,7 +297,7 @@ echo ' }); $('#totale').html( (totale.toLocale()) + " €" ); - + if( tot_qta>0 ) $('#submit_btn').show(); else diff --git a/modules/interventi/ajax_tecnici.php b/modules/interventi/ajax_tecnici.php index d5bc62157..be92a7a91 100644 --- a/modules/interventi/ajax_tecnici.php +++ b/modules/interventi/ajax_tecnici.php @@ -130,7 +130,7 @@ if (!empty($rs2)) { if ($rs[0]['stato'] != 'Fatturato') { // Elenco tipologie di interventi echo ' - {[ "type": "select", "name": "idtipointerventot['.$id.']", "value": "'.$r['idtipointervento'].'", "values": "query=SELECT idtipointervento AS id, descrizione, IFNULL((SELECT costo_ore FROM in_tariffe WHERE idtipointervento=in_tipiintervento.idtipointervento AND idtecnico='.prepare($r['idtecnico']).'), 0) AS costo_orario FROM in_tipiintervento ORDER BY descrizione", "class": "", "extra": "'.$readonly.'" ]}'; + {[ "type": "select", "name": "idtipointerventot['.$id.']", "value": "'.$r['idtipointervento'].'", "values": "query=SELECT idtipointervento AS id, descrizione, IFNULL((SELECT costo_ore FROM in_tariffe WHERE idtipointervento=in_tipiintervento.idtipointervento AND idtecnico='.prepare($r['idtecnico']).'), 0) AS costo_orario FROM in_tipiintervento ORDER BY descrizione", "extra": "'.$readonly.'" ]}'; } echo ' diff --git a/modules/modelli_primanota/actions.php b/modules/modelli_primanota/actions.php index 9b06771b9..00e210a21 100644 --- a/modules/modelli_primanota/actions.php +++ b/modules/modelli_primanota/actions.php @@ -32,7 +32,7 @@ switch (post('op')) { if ($dbo->query($query)) { $id_record = $dbo->lastInsertedID(); } - + } break; @@ -40,12 +40,12 @@ switch (post('op')) { case 'delete': $idmastrino = post('idmastrino'); - if ($idmastrino != '') { + if (!empty($idmastrino)) { // Eliminazione prima nota $dbo->query('DELETE FROM co_movimenti_modelli WHERE idmastrino='.prepare($idmastrino)); $_SESSION['infos'][] = tr('Movimento eliminato!'); } - + break; } diff --git a/modules/ordini/actions.php b/modules/ordini/actions.php index 5aacc3e1e..8db4e8304 100644 --- a/modules/ordini/actions.php +++ b/modules/ordini/actions.php @@ -55,85 +55,85 @@ switch (post('op')) { break; case 'update': - if ($id_record != '') { - $numero_esterno = post('numero_esterno'); - $numero = post('numero'); - $data = $post['data']; - $idanagrafica = post('idanagrafica'); - $note = post('note'); - $idstatoordine = post('idstatoordine'); - $idpagamento = post('idpagamento'); - $idsede = post('idsede'); - $idconto = post('idconto'); - $idagente = post('idagente'); - $totale_imponibile = get_imponibile_ordine($id_record); - $totale_ordine = get_totale_ordine($id_record); - $tipo_sconto = $post['tipo_sconto_generico']; - $sconto = $post['sconto_generico']; + $numero_esterno = post('numero_esterno'); + $numero = post('numero'); + $data = $post['data']; + $idanagrafica = post('idanagrafica'); + $note = post('note'); + $idstatoordine = post('idstatoordine'); + $idpagamento = post('idpagamento'); + $idsede = post('idsede'); + $idconto = post('idconto'); + $idagente = post('idagente'); + $totale_imponibile = get_imponibile_ordine($id_record); + $totale_ordine = get_totale_ordine($id_record); - if ($dir == 'uscita') { - $idrivalsainps = post('idrivalsainps'); - $idritenutaacconto = post('idritenutaacconto'); - $bollo = post('bollo'); - } else { - $idrivalsainps = 0; - $idritenutaacconto = 0; - $bollo = 0; - } + $tipo_sconto = $post['tipo_sconto_generico']; + $sconto = $post['sconto_generico']; - // Leggo la descrizione del pagamento - $query = 'SELECT descrizione FROM co_pagamenti WHERE id='.prepare($idpagamento); - $rs = $dbo->fetchArray($query); - $pagamento = $rs[0]['descrizione']; - - // Query di aggiornamento - $query = 'UPDATE or_ordini SET idanagrafica='.prepare($idanagrafica).','. - ' numero='.prepare($numero).','. - ' data='.prepare($data).','. - ' idagente='.prepare($idagente).','. - ' idstatoordine='.prepare($idstatoordine).','. - ' idpagamento='.prepare($idpagamento).','. - ' idsede='.prepare($idsede).','. - ' numero_esterno='.prepare($numero_esterno).','. - ' note='.prepare($note).','. - ' idconto='.prepare($idconto).','. - ' idrivalsainps='.prepare($idrivalsainps).','. - ' idritenutaacconto='.prepare($idritenutaacconto).','. - ' tipo_sconto_globale='.prepare($tipo_sconto).','. - ' sconto_globale='.prepare($sconto).','. - ' bollo=0, rivalsainps=0, ritenutaacconto=0 WHERE id='.prepare($id_record); - - if ($dbo->query($query)) { - aggiorna_sconto([ - 'parent' => 'or_ordini', - 'row' => 'or_righe_ordini', - ], [ - 'parent' => 'id', - 'row' => 'idordine', - ], $id_record); - - $query = 'SELECT descrizione FROM or_statiordine WHERE id='.prepare($idstatoordine); - $rs = $dbo->fetchArray($query); - - // Ricalcolo inps, ritenuta e bollo (se l'ordine non è stato evaso) - if ($dir == 'entrata') { - if ($rs[0]['descrizione'] != 'Evaso') { - ricalcola_costiagg_ordine($id_record); - } - } else { - if ($rs[0]['descrizione'] != 'Evaso') { - ricalcola_costiagg_ordine($id_record, $idrivalsainps, $idritenutaacconto, $bollo); - } - } - - $_SESSION['infos'][] = tr('Ordine modificato correttamente!'); - } + if ($dir == 'uscita') { + $idrivalsainps = post('idrivalsainps'); + $idritenutaacconto = post('idritenutaacconto'); + $bollo = post('bollo'); + } else { + $idrivalsainps = 0; + $idritenutaacconto = 0; + $bollo = 0; } + + // Leggo la descrizione del pagamento + $query = 'SELECT descrizione FROM co_pagamenti WHERE id='.prepare($idpagamento); + $rs = $dbo->fetchArray($query); + $pagamento = $rs[0]['descrizione']; + + // Query di aggiornamento + $query = 'UPDATE or_ordini SET idanagrafica='.prepare($idanagrafica).','. + ' numero='.prepare($numero).','. + ' data='.prepare($data).','. + ' idagente='.prepare($idagente).','. + ' idstatoordine='.prepare($idstatoordine).','. + ' idpagamento='.prepare($idpagamento).','. + ' idsede='.prepare($idsede).','. + ' numero_esterno='.prepare($numero_esterno).','. + ' note='.prepare($note).','. + ' idconto='.prepare($idconto).','. + ' idrivalsainps='.prepare($idrivalsainps).','. + ' idritenutaacconto='.prepare($idritenutaacconto).','. + ' tipo_sconto_globale='.prepare($tipo_sconto).','. + ' sconto_globale='.prepare($sconto).','. + ' bollo=0, rivalsainps=0, ritenutaacconto=0 WHERE id='.prepare($id_record); + + if ($dbo->query($query)) { + aggiorna_sconto([ + 'parent' => 'or_ordini', + 'row' => 'or_righe_ordini', + ], [ + 'parent' => 'id', + 'row' => 'idordine', + ], $id_record); + + $query = 'SELECT descrizione FROM or_statiordine WHERE id='.prepare($idstatoordine); + $rs = $dbo->fetchArray($query); + + // Ricalcolo inps, ritenuta e bollo (se l'ordine non è stato evaso) + if ($dir == 'entrata') { + if ($rs[0]['descrizione'] != 'Evaso') { + ricalcola_costiagg_ordine($id_record); + } + } else { + if ($rs[0]['descrizione'] != 'Evaso') { + ricalcola_costiagg_ordine($id_record, $idrivalsainps, $idritenutaacconto, $bollo); + } + } + + $_SESSION['infos'][] = tr('Ordine modificato correttamente!'); + } + break; case 'addarticolo': - if ($id_record != '' && isset($post['idarticolo'])) { + if (isset($post['idarticolo'])) { $idarticolo = post('idarticolo'); $idiva = post('idiva'); $descrizione = post('descrizione'); @@ -154,46 +154,45 @@ switch (post('op')) { break; case 'addriga': - if ($id_record != '') { - // Selezione costi da intervento - $descrizione = post('descrizione'); - $prezzo = post('prezzo'); - $qta = post('qta'); - $idiva = post('idiva'); - $um = post('um'); - $subtot = $prezzo * $qta; + // Selezione costi da intervento + $descrizione = post('descrizione'); + $prezzo = post('prezzo'); + $qta = post('qta'); + $idiva = post('idiva'); + $um = post('um'); + $subtot = $prezzo * $qta; - // Calcolo dello sconto - $sconto_unitario = $post['sconto']; - $tipo_sconto = $post['tipo_sconto']; - $sconto = ($tipo_sconto == 'PRC') ? ($prezzo * $sconto_unitario) / 100 : $sconto_unitario; - $sconto = $sconto * $qta; + // Calcolo dello sconto + $sconto_unitario = $post['sconto']; + $tipo_sconto = $post['tipo_sconto']; + $sconto = ($tipo_sconto == 'PRC') ? ($prezzo * $sconto_unitario) / 100 : $sconto_unitario; + $sconto = $sconto * $qta; - // Calcolo iva - $query = 'SELECT descrizione, percentuale, indetraibile FROM co_iva WHERE id='.prepare($idiva); - $rs = $dbo->fetchArray($query); - $iva = ($subtot - $sconto) / 100 * $rs[0]['percentuale']; - $iva_indetraibile = $iva / 100 * $rs[0]['indetraibile']; + // Calcolo iva + $query = 'SELECT descrizione, percentuale, indetraibile FROM co_iva WHERE id='.prepare($idiva); + $rs = $dbo->fetchArray($query); + $iva = ($subtot - $sconto) / 100 * $rs[0]['percentuale']; + $iva_indetraibile = $iva / 100 * $rs[0]['indetraibile']; - $query = 'INSERT INTO or_righe_ordini(idordine, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, is_descrizione, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', '.prepare(empty($qta)).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM or_righe_ordini AS t WHERE idordine='.prepare($id_record).'))'; - $dbo->query($query); + $query = 'INSERT INTO or_righe_ordini(idordine, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, sconto_unitario, tipo_sconto, um, qta, is_descrizione, `order`) VALUES('.prepare($id_record).', '.prepare($idiva).', '.prepare($rs[0]['descrizione']).', '.prepare($iva).', '.prepare($iva_indetraibile).', '.prepare($descrizione).', '.prepare($subtot).', '.prepare($sconto).', '.prepare($sconto_unitario).', '.prepare($tipo_sconto).', '.prepare($um).', '.prepare($qta).', '.prepare(empty($qta)).', (SELECT IFNULL(MAX(`order`) + 1, 0) FROM or_righe_ordini AS t WHERE idordine='.prepare($id_record).'))'; + $dbo->query($query); - // Messaggi informativi - if (!empty($idarticolo)) { - $_SESSION['infos'][] = tr('Articolo aggiunto!'); - } elseif (!empty($qta)) { - $_SESSION['infos'][] = tr('Riga aggiunta!'); - } else { - $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); - } - - // Ricalcolo inps, ritenuta e bollo - if ($dir == 'entrata') { - ricalcola_costiagg_ordine($id_record); - } else { - ricalcola_costiagg_ordine($id_record); - } + // Messaggi informativi + if (!empty($idarticolo)) { + $_SESSION['infos'][] = tr('Articolo aggiunto!'); + } elseif (!empty($qta)) { + $_SESSION['infos'][] = tr('Riga aggiunta!'); + } else { + $_SESSION['infos'][] = tr('Riga descrittiva aggiunta!'); } + + // Ricalcolo inps, ritenuta e bollo + if ($dir == 'entrata') { + ricalcola_costiagg_ordine($id_record); + } else { + ricalcola_costiagg_ordine($id_record); + } + break; // Scollegamento articolo da ordine @@ -201,7 +200,7 @@ switch (post('op')) { $idarticolo = post('idarticolo'); $idriga = post('idriga'); - if ($id_record != '' && $idarticolo != '') { + if (!empty($idarticolo)) { if (!rimuovi_articolo_daordine($idarticolo, $id_record, $idriga)) { $_SESSION['errors'][] = tr('Alcuni serial number sono già stati utilizzati!'); @@ -225,7 +224,7 @@ switch (post('op')) { case 'unlink_riga': $idriga = post('idriga'); - if ($id_record != '' && $idriga != '') { + if (!empty($idriga)) { $query = 'DELETE FROM or_righe_ordini WHERE idordine='.prepare($id_record).' AND id='.prepare($idriga); $dbo->query($query); diff --git a/modules/ordini/init.php b/modules/ordini/init.php index a2fce4f8d..317177138 100644 --- a/modules/ordini/init.php +++ b/modules/ordini/init.php @@ -3,10 +3,9 @@ include_once __DIR__.'/../../core.php'; if (isset($id_record)) { - // Aggiornamento stato di questo ordine (?) if (!empty(get_stato_ordine($id_record))) $dbo->query( 'UPDATE or_ordini SET idstatoordine=(SELECT id FROM or_statiordine WHERE descrizione="'.get_stato_ordine($id_record).'") WHERE id='.prepare($id_record) ); - + $records = $dbo->fetchArray('SELECT *, or_ordini.note, or_ordini.idpagamento, or_ordini.id AS idordine, or_statiordine.descrizione AS `stato`, or_tipiordine.descrizione AS `descrizione_tipodoc` FROM ((or_ordini LEFT OUTER JOIN or_statiordine ON or_ordini.idstatoordine=or_statiordine.id) INNER JOIN an_anagrafiche ON or_ordini.idanagrafica=an_anagrafiche.idanagrafica) INNER JOIN or_tipiordine ON or_ordini.idtipoordine=or_tipiordine.id WHERE or_ordini.id='.prepare($id_record)); } diff --git a/modules/segmenti/actions.php b/modules/segmenti/actions.php index 36da7b3cc..8f846490a 100644 --- a/modules/segmenti/actions.php +++ b/modules/segmenti/actions.php @@ -3,67 +3,66 @@ include_once __DIR__.'/../../core.php'; switch (post('op')) { - case 'update': + case 'update': + $pattern = str_contains(post('pattern'), '#') ? post('pattern') : '####'; + $predefined = post('predefined'); - $name = post('name'); - $category = post('category'); - (strpos(post('pattern'), '#') !== false) ? $pattern = post('pattern') : $maschera = '####'; - $id_module_ = post('id_module_'); - $note = post('note'); - $clause = post('clause'); - $predefined = $post['predefined']; - $position = post('position'); + if (empty(Modules::getSegments($id_module))) { + $predefined = 1; + } - if (count($dbo->fetchArray("SELECT id FROM zz_segments WHERE id_module = \"$id_module_\"")) == 0) { - $predefined = 1; - } + if ($predefined) { + $dbo->query('UPDATE zz_segments SET predefined = 0 WHERE id_module = '.prepare($id_module)); + } - if ($predefined) { - $dbo->query("UPDATE zz_segments SET predefined = 0 WHERE id_module = \"$id_module_\""); - } + $dbo->update('an_anagrafiche', [ + 'id_module' => post('module'), + 'name' => post('name'), + 'clause' => post('clause'), + 'pattern' => $pattern, + 'note' => post('note'), + 'position' => post('pisition'), + 'predefined' => $predefined, + ], ['id' => $id_record]); - $query = "UPDATE zz_segments SET name=\"$name\", clause=\"$clause\", position=\"$position\", pattern=\"$pattern\", id_module=\"$id_module_\", note=\"$note\", predefined=\"$predefined\" WHERE id=\"$id_record\""; + $_SESSION['infos'][] = tr('Modifiche salvate correttamente'); - $rs = $dbo->query($query); + break; - $_SESSION['infos'][] = tr('Modifiche salvate correttamente.'); + case 'add': + $pattern = str_contains(post('pattern'), '#') ? post('pattern') : '####'; + $predefined = post('predefined'); - break; + if (empty(Modules::getSegments($id_module))) { + $predefined = 1; + } - case 'add': + if ($predefined) { + $dbo->query('UPDATE zz_segments SET predefined = 0 WHERE id_module = '.prepare($id_module)); + } - $name = post('name'); - $category = post('category'); - (strpos(post('pattern'), '#') !== false) ? $pattern = post('pattern') : $pattern = '####'; - $id_module_ = post('id_module_'); - $note = post('note'); - $predefined = $post['predefined']; - $clause = '1=1'; + $dbo->insert('zz_segments', [ + 'id_module' => post('module'), + 'name' => post('name'), + 'clause' => '1=1', + 'pattern' => $pattern, + 'note' => post('note'), + 'predefined' => $predefined, + ]); - if (count($dbo->fetchArray("SELECT id FROM zz_segments WHERE id_module = \"$id_module_\"")) == 0) { - $predefined = 1; - } + $id_record = $dbo->last_inserted_id(); - if ($predefined) { - $dbo->query("UPDATE zz_segments SET predefined = 0 WHERE id_module = \"$id_module_\""); - } + $_SESSION['infos'][] = tr('Nuovo segmento aggiunto'); - $dbo->query("INSERT INTO zz_segments( name, clause, pattern, id_module, note, predefined ) VALUES ( \"$name\", \"$clause\", \"$pattern\", \"$id_module_\", \"$note\", \"$predefined\" )"); - $id_record = $dbo->last_inserted_id(); + break; - $_SESSION['infos'][] = tr('Nuovo segmento aggiunto.'); + case 'delete': + $dbo->query('DELETE FROM zz_segments WHERE id='.prepare($id_record)); - break; + // TODO + // eliminare riferimento sulle fatture eventuali collegate a questo segmento? - case 'delete': + $_SESSION['infos'][] = tr('Segmento eliminato'); - $query = "DELETE FROM zz_segments WHERE id=\"$id_record\""; - $rs = $dbo->query($query); - - // TODO - // eliminare riferimento sulle fatture eventuali collegate a questo segmento? - - $_SESSION['infos'][] = tr('Segmento eliminato.'); - - break; - } + break; +} diff --git a/modules/segmenti/add.php b/modules/segmenti/add.php index 7bb66d01b..a4cd39b10 100644 --- a/modules/segmenti/add.php +++ b/modules/segmenti/add.php @@ -1,28 +1,29 @@ -
+
+
+ {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$name$" ]} +
- {[ "type": "text", "label": "", "name": "name", "required": 1, "class": "", "value": "$name$", "extra": "" ]} + {[ "type": "text", "label": "", "name": "pattern", "required": 0, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY" ]}
- -
- {[ "type": "text", "label": "", "name": "pattern", "required": 0, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": "" ]} -
- -
- +
- +
- {[ "type": "select", "label": "", "name": "id_module_", "required": 1, "class": "", "values": "query=SELECT id, IF(title!='', title, name) AS descrizione FROM zz_modules WHERE enabled = 1 AND options != 'custom' ORDER BY descrizione ASC", "value": "$id_module$", "extra": "" ]} + {[ "type": "select", "label": "", "name": "module", "required": 1, "values": "query=SELECT id, IF(title!='', title, name) AS descrizione FROM zz_modules WHERE enabled = 1 AND options != 'custom' ORDER BY descrizione ASC", "value": "$id_module$" ]}
- +
- {[ "type": "checkbox", "label": "", "name": "predefined", "value": "0", "help": "", "placeholder": "" ]} + {[ "type": "checkbox", "label": "", "name": "predefined", "value": "0", "help": "", "placeholder": "" ]}
@@ -30,17 +31,15 @@
- {[ "type": "textarea", "label": "Note", "name": "note", "required": 0, "class": "", "value": "", "extra": "" ]} + {[ "type": "textarea", "label": "Note", "name": "note", "required": 0, "value": "" ]}
- - -
+ +
+
+ +
+
- diff --git a/modules/segmenti/edit.php b/modules/segmenti/edit.php index 0ac4c8c10..9e23bf278 100644 --- a/modules/segmenti/edit.php +++ b/modules/segmenti/edit.php @@ -1,4 +1,8 @@ -
+ @@ -11,49 +15,45 @@
- +
- {[ "type": "text", "label": "", "name": "name", "required": 1, "class": "", "value": "$name$", "extra": "" ]} + {[ "type": "text", "label": "", "name": "name", "required": 1, "value": "$name$" ]}
- +
- {[ "type": "select", "label": "", "name": "id_module_", "required": 1, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_modules WHERE ( enabled = 1 AND options != 'custom' ) OR id = ORDER BY name ASC", "value": "$id_module$", "extra": "" ]} + {[ "type": "select", "label": "", "name": "module", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_modules WHERE ( enabled = 1 AND options != 'custom' ) OR id = ORDER BY name ASC", "value": "$id_module$", "extra": "" ]}
- +
{[ "type": "checkbox", "label": "", "name": "predefined", "value": "$predefined$", "help": "", "placeholder": "", "extra": "" ]}
- +
- +
- +
- {[ "type": "textarea", "label": "", "name": "clause", "required": 1, "class": "", "value": "$clause$", "extra": "" ]} + {[ "type": "textarea", "label": "", "name": "clause", "required": 1, "value": "$clause$" ]}
- +
{[ "type": "select", "label": "", "name": "position", "required": 1, "values":"list=\"WHR\": \"WHERE\", \"HVN\": \"HAVING\"", "value": "$position$" ]}
- - +
- +
- {[ "type": "textarea", "label": "", "name": "note", "required": 0, "class": "", "value": "$note$", "extra": "" ]} + {[ "type": "textarea", "label": "", "name": "note", "required": 0, "value": "$note$" ]}
- - -
- - + +
@@ -62,21 +62,19 @@
- fetchArray('SELECT COUNT(*) AS tot FROM '.$table[0].' WHERE id_segment = '.prepare($id_record)); - $tot = $righe[0]['tot']; - } - ?> - +fetchArray('SELECT COUNT(*) AS tot FROM '.$table[0].' WHERE id_segment = '.prepare($id_record)); + $tot = $righe[0]['tot']; +} +?> +
- {[ "type": "text", "label": "", "name": "pattern", "required": 0, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": " 0) ? 'readonly' : ''; ?>" ]} + {[ "type": "text", "label": "", "name": "pattern", "required": 0, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": " 0) ? 'readonly' : ''; ?>" ]}
- - - +
@@ -100,47 +98,43 @@
- - + +
- - 0) { + echo "
"; + echo tr("Ci sono _TOT_ righe collegate al segmento per il modulo '_MODULO_'. Il comando elimina è stato disattivato, eliminare le righe per attivare il comando 'Elimina segmento'.", [ + '_TOT_' => $tot, + '_MODULO_' => $records[0]['modulo'], + ]); - if ($tot > 0) { - echo "
"; + echo '
'; +} elseif ($records[0]['predefined']) { + echo "
"; - echo tr("Ci sono _TOT_ righe collegate al segmento per il modulo '_MODULO_'. Il comando elimina è stato disattivato, eliminare le righe per attivare il comando 'Elimina segmento'.", [ - '_TOT_' => $tot, - '_MODULO_' => $records[0]['modulo'], - ]); + echo tr("Questo è il segmento predefinito per il modulo '_MODULO_'. Il comando elimina è stato disattivato.", [ + '_MODULO_' => $records[0]['modulo'], + ]); - echo '
'; - } elseif ($records[0]['predefined']) { - echo "
"; + echo '
'; +} elseif ($records[0]['n_sezionali'] < 2) { + echo "
"; - echo tr("Questo è il segmento predefinito per il modulo '_MODULO_'. Il comando elimina è stato disattivato.", [ - '_MODULO_' => $records[0]['modulo'], - ]); + echo tr("Questo è l'unico segmento per il modulo '_MODULO_'. Il comando elimina è stato disattivato.", [ + '_MODULO_' => $records[0]['modulo'], + ]); - echo '
'; - } elseif ($records[0]['n_sezionali'] < 2) { - echo "
"; - - echo tr("Questo è l'unico segmento per il modulo '_MODULO_'. Il comando elimina è stato disattivato.", [ - '_MODULO_' => $records[0]['modulo'], - ]); - - echo '
'; - } else { - echo ' - - '.tr('Elimina').' - '; - } -?> \ No newline at end of file + echo '
'; +} else { + echo ' + + '.tr('Elimina').' +'; +} +?> diff --git a/modules/segmenti/init.php b/modules/segmenti/init.php index ffbe4593a..71448a1db 100644 --- a/modules/segmenti/init.php +++ b/modules/segmenti/init.php @@ -1,5 +1,7 @@ fetchArray("SELECT *, (SELECT options FROM zz_modules WHERE id = zz_segments.id_module) options, (SELECT name FROM zz_modules WHERE id = zz_segments.id_module) AS modulo, (SELECT COUNT(t.id) FROM zz_segments t WHERE t.id_module = zz_segments.id_module) AS n_sezionali FROM zz_segments WHERE id='$id_record'"); + +include_once __DIR__.'/../../core.php'; + +if (isset($id_record)) { + $records = $dbo->fetchArray('SELECT *, (SELECT options FROM zz_modules WHERE id = zz_segments.id_module) options, (SELECT name FROM zz_modules WHERE id = zz_segments.id_module) AS modulo, (SELECT COUNT(t.id) FROM zz_segments t WHERE t.id_module = zz_segments.id_module) AS n_sezionali FROM zz_segments WHERE id='.prepare($id_record)); +} diff --git a/modules/segmenti/modutil.php b/modules/segmenti/modutil.php deleted file mode 100644 index d9e35a661..000000000 --- a/modules/segmenti/modutil.php +++ /dev/null @@ -1,4 +0,0 @@ -