Fix del codice

This commit is contained in:
Thomas Zilio 2018-05-11 15:56:08 +02:00
parent 6b58c22308
commit 4806973ec7
22 changed files with 387 additions and 378 deletions

View File

@ -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,
]);
}
}

View File

@ -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 '
<div class="row">';
// Rivalsa INPS
if ( $show_idrivalsainps == 1 ) {
if ($show_idrivalsainps == 1) {
echo '
<div class="col-md-4">
{[ "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 '
<div class="col-md-4">
{[ "type": "select", "label": "'.tr("Ritenuta d'acconto").'", "name": "idritenutaacconto", "value": "'.$idritenutaacconto.'", "values": "query=SELECT * FROM co_ritenutaacconto" ]}
</div>';
}
//Calcola ritenuta d'acconto su
if ( $show_calcolo_ritenutaacconto == 1 ) {
// Calcola ritenuta d'acconto su
if ($show_calcolo_ritenutaacconto == 1) {
echo '
<div class="col-md-4">
{[ "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" ]}
</div>';
}
echo '
</div>';
}

View File

@ -51,7 +51,7 @@ if (count(Modules::getSegments($id_module)) > 1) {
?>
<div class="row">
<div class="col-md-4 pull-right">
{[ "type": "select", "label": "", "name": "id_segment_", "required": 0, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module = '<?php echo $id_module; ?>'", "value": "<?php echo $_SESSION['m'.$id_module]['id_segment']; ?>", "extra": "" ]}
{[ "type": "select", "label": "", "name": "id_segment_", "required": 0, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module = '<?php echo $id_module; ?>'", "value": "<?php echo $_SESSION['m'.$id_module]['id_segment']; ?>" ]}
</div>
</div>
<br>

View File

@ -336,12 +336,12 @@ function readDate($data)
/**
* Genera una porzione di codice html a partire da una stringa nei seguenti formati:
* campo <input> 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 <select> da JSON
// esempio creazione select con opzioni: Maschio, Femmina, Unisex
// {[ "type": "select", "label": "Sesso", "name": "sesso", "values": "list=\"\": \"\", \"M\": \"Maschio\", \"F\": \"Femmina\", \"U\": \"Unisex\"", "value": "$sesso$", "extra": "" ]}
// {[ "type": "select", "label": "Sesso", "name": "sesso", "values": "list=\"\": \"\", \"M\": \"Maschio\", \"F\": \"Femmina\", \"U\": \"Unisex\"", "value": "$sesso$" ]}
elseif (preg_match_all('/^list=(.+?)$/', $values, $m)) {
$data = json_decode('{'.$m[1][0].'}');
foreach ($data as $id => $etichetta) {

View File

@ -5,7 +5,7 @@ include_once __DIR__.'/../../core.php';
/*
TECNICI ASSEGNATI ALL'AUTOMEZZO
*/
$q_art = "SELECT *, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=dt_automezzi_tecnici.idtecnico) AS nometecnico FROM dt_automezzi_tecnici WHERE idautomezzo='".$id_record."'";
$q_art = "SELECT *, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=dt_automezzi_tecnici.idtecnico) AS nometecnico FROM dt_automezzi_tecnici WHERE idautomezzo=".prepare($id_record);
$rs_art = $dbo->fetchArray($q_art);
if (!empty($rs_art)) {
@ -30,13 +30,13 @@ if (!empty($rs_art)) {
// Data di inizio
echo '
<td>
{[ "type": "date", "name": "data_inizio['.$r['id'].']", "required": 1, "maxlength": 10, "value": "'.$r['data_inizio'].'", "extra": "" ]}
{[ "type": "date", "name": "data_inizio['.$r['id'].']", "required": 1, "maxlength": 10, "value": "'.$r['data_inizio'].'" ]}
</td>';
// Data di fine
echo '
<td>
{[ "type": "date", "name": "data_fine['.$r['id'].']", "maxlength": 10, "value": "'.$r['data_fine'].'", "min-date": "'.$r['data_inizio'].'", "extra": "" ]}
{[ "type": "date", "name": "data_fine['.$r['id'].']", "maxlength": 10, "value": "'.$r['data_fine'].'", "min-date": "'.$r['data_inizio'].'" ]}
</td>';
// Pulsanti per aggiornamento date tecnici

View File

@ -2,9 +2,7 @@
include_once __DIR__.'/../../core.php';
?>
<form action="" method="post" id="edit-form">
?><form action="" method="post" id="edit-form">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="update">
@ -24,10 +22,10 @@ include_once __DIR__.'/../../core.php';
{[ "type": "text", "label": "<?php echo tr('Filiale'); ?>", "name": "filiale", "value": "$filiale$" ]}
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Conto predefinito'); ?>", "name": "id_pianodeiconti3", "value": "$id_pianodeiconti3$", "values": "query=SELECT id, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2 = 1" ]}
{[ "type": "select", "label": "<?php echo tr('Conto predefinito'); ?>", "name": "id_pianodeiconti3", "value": "$id_pianodeiconti3$", "values": "query=SELECT id, descrizione FROM co_pianodeiconti3 WHERE idpianodeiconti2 = 1" ]}
</div>
</div>
<div class="row">
<div class="col-md-8">
{[ "type": "text", "label": "<?php echo tr('IBAN'); ?>", "name": "iban", "required": "1", "class": "alphanumeric-mask", "maxlength": 32, "value": "$iban$" ]}
@ -36,10 +34,10 @@ include_once __DIR__.'/../../core.php';
{[ "type": "text", "label": "<?php echo tr('BIC'); ?>", "name": "bic", "class": "alphanumeric-mask", "maxlength": 11, "value": "$bic$" ]}
</div>
</div>
<div class="row">
<div class="col-md-12">
{[ "type": "textarea", "label": "<?php echo tr('Note'); ?>", "name": "note", "required": 0, "class": "", "value": "$note$", "extra": "" ]}
{[ "type": "textarea", "label": "<?php echo tr('Note'); ?>", "name": "note", "required": 0, "value": "$note$" ]}
</div>
</div>
</div>

View File

@ -33,7 +33,7 @@ if (!isset($id_original)) {
<div class="row">
<div class="col-md-8">
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "nome", "required": 1, "value": "$nome$", "extra": "" ]}
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "nome", "required": 1, "value": "$nome$" ]}
</div>
<div class="col-md-4">

View File

@ -20,29 +20,29 @@ echo '
echo '
<div class="row">
<div class="col-md-4">
{[ "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-" ]}
</div>';
// Tipo di documento
echo '
<div class="col-md-4">
{[ "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\'" ]}
</div>';
// Sezionale
echo '
<div class="col-md-4">
{[ "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'].'" ]}
</div>
</div>';
// Note
echo '
<div class="row">
<div class="col-md-12">
{[ "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.'" ]}
</div>
</div>';

View File

@ -18,7 +18,7 @@ $idanagrafica = $dbo->fetchArray('SELECT `idanagrafica` FROM `co_contratti` WHER
$list = '\"1\":\"'.tr('Pianificare a partire da oggi ').date('d/m/Y').'\"';
if (!empty($get['idcontratto_riga'])){
$idcontratto_riga = $get['idcontratto_riga'];
$qp = 'SELECT *, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento=co_righe_contratti.idtipointervento) AS tipointervento FROM co_righe_contratti WHERE id = '.$idcontratto_riga;
$rsp = $dbo->fetchArray($qp);
@ -26,12 +26,12 @@ if (!empty($get['idcontratto_riga'])){
$data_richiesta = readDate($rsp[0]['data_richiesta']);
$matricoleimpianti = trim($rsp[0]['idimpianti']);
$idsede = $rsp[0]['idsede'];
$readonly = 'readonly';
$hide = '';
$list .= ', \"0\":\"'.tr('Pianificare a partire da questo promemoria ').$data_richiesta.'\"';
}
//se non è impostata idcontratto_riga allora sono in fase di inserimento di nuovo promemoria e mi calcolo il prossimo id per co_righe_contratti
@ -46,8 +46,8 @@ echo '
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="pianificazione">';
echo '
<!-- DATI PROMEMORIA? -->
<div class="panel panel-primary">
@ -56,36 +56,36 @@ echo '
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-6">
{[ "type": "date", "label": "'.tr('Entro il').'", "name": "data_richiesta", "required": 1, "value": "'.$data_richiesta.'", "extra":"'.$readonly.'" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Tipo intervento').'", "name": "idtipointervento", "required": 1, "id": "idtipointervento_", "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento ORDER BY descrizione ASC", "value": "'.$rsp[0]['idtipointervento'].'", "extra": "'.$readonly.'" ]}
</div>
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "select", "multiple": "1", "label": "'.tr('Impianti').'", "name": "matricolaimpianto_[]", "values": "query=SELECT my_impianti.id AS id, my_impianti.nome AS descrizione FROM my_impianti_contratti INNER JOIN my_impianti ON my_impianti_contratti.idimpianto = my_impianti.id WHERE my_impianti_contratti.idcontratto = '.$id_record.' ORDER BY descrizione", "value": "'.$matricoleimpianti.'", "extra":"'.$readonly.'" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Sede').'", "name": "idsede_c", "values": "query=SELECT 0 AS id, \'Sede legale\' AS descrizione UNION SELECT id, CONCAT( CONCAT_WS( \' (\', CONCAT_WS(\', \', `nomesede`, `citta`), `indirizzo` ), \')\') AS descrizione FROM an_sedi WHERE idanagrafica='.$idanagrafica.'", "value": "'.$idsede.'", "extra":"'.$readonly.'" ]}
</div>
</div>
<div class="row">
<div class="col-md-12">
@ -93,10 +93,10 @@ echo '
</div>
</div>';
?>
<!-- ARTICOLI -->
<div class="panel panel-primary">
<div class="panel-heading">
@ -115,10 +115,10 @@ echo '
} ?>
</div>
</div>
<!-- SPESE AGGIUNTIVE -->
<div class="panel panel-primary">
<div class="panel-heading">
@ -137,9 +137,9 @@ echo '
} ?>
</div>
</div>
<?php
<?php
echo '</div>
</div>
@ -159,13 +159,13 @@ echo '
</div>
<div class="panel-body">';
echo '<div class="row">
<div class="col-md-2">
{[ "type": "number", "label": "'.tr('Intervallo').'", "name": "intervallo", "class": "", "decimals": 0, "required": 1, "icon-after": "GG", "min-value": "1" ]}
{[ "type": "number", "label": "'.tr('Intervallo').'", "name": "intervallo", "decimals": 0, "required": 1, "icon-after": "GG", "min-value": "1" ]}
</div>';
?>
<div class="col-md-7">
@ -183,8 +183,8 @@ echo '
</div>
</div>
</div>';
@ -198,7 +198,7 @@ echo '
</div>
<div class="panel-body">
<div class="row">
@ -220,7 +220,7 @@ echo '
</div>
</div>
</div>
</div>

View File

@ -34,7 +34,7 @@ if ($module['name'] == 'Fatture di vendita') {
{[ "type": "select", "label": "<?php echo tr('Tipo fattura'); ?>", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, descrizione FROM co_tipidocumento WHERE dir='<?php echo $dir; ?>'", "value": "" ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_segment", "required": 1, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='<?php echo $id_module; ?>' ORDER BY name", "value": "<?php echo $_SESSION['m'.$id_module]['id_segment']; ?>", "extra": "" ]}
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='<?php echo $id_module; ?>' ORDER BY name", "value": "<?php echo $_SESSION['m'.$id_module]['id_segment']; ?>" ]}
</div>
</div>

View File

@ -52,13 +52,13 @@ foreach ($rs as $key => $value) {
// Intervento
echo '
<div class="row">
<div class="col-md-6">
{[ "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);\"" ]}
</div>
<div class="col-md-6">
{[ "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').'." ]}
</div>
</div>';

View File

@ -101,10 +101,10 @@ if (!empty($rs)) {
if ($module_name=='Fatture di vendita' || $module_name == 'Fatture di acquisto'){
echo '
<div class="col-md-6">
{[ "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'].'" ]}
</div>';
}
echo
'</div>';
}
@ -267,7 +267,7 @@ echo '
ricalcola_totale();
}
function ricalcola_totale(){
tot_qta = 0;
r = 0;
@ -297,7 +297,7 @@ echo '
});
$('#totale').html( (totale.toLocale()) + " &euro;" );
if( tot_qta>0 )
$('#submit_btn').show();
else

View File

@ -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 '

View File

@ -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;
}

View File

@ -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);

View File

@ -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));
}

View File

@ -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;
}

View File

@ -1,28 +1,29 @@
<form action="" method="post" id="add-form">
<?php
include_once __DIR__.'/../../core.php';
?><form action="" method="post" id="add-form">
<input type="hidden" name="op" value="add">
<input type="hidden" name="backto" value="record-edit">
<div class="row">
<div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "name", "required": 1, "value": "$name$" ]}
</div>
<div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "name", "required": 1, "class": "", "value": "$name$", "extra": "" ]}
{[ "type": "text", "label": "<?php echo tr('Maschera'); ?>", "name": "pattern", "required": 0, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY" ]}
</div>
<div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Maschera'); ?>", "name": "pattern", "required": 0, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": "" ]}
</div>
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Modulo'); ?>", "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": "<?php echo tr('Modulo'); ?>", "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$" ]}
</div>
<div class="col-md-6">
{[ "type": "checkbox", "label": "<?php echo tr('Predefinito'); ?>", "name": "predefined", "value": "0", "help": "<?php echo tr('Seleziona per rendere il segmento predefinito.'); ?>", "placeholder": "<?php echo tr('Segmento predefinito'); ?>" ]}
{[ "type": "checkbox", "label": "<?php echo tr('Predefinito'); ?>", "name": "predefined", "value": "0", "help": "<?php echo tr('Seleziona per rendere il segmento predefinito.'); ?>", "placeholder": "<?php echo tr('Segmento predefinito'); ?>" ]}
</div>
</div>
@ -30,17 +31,15 @@
<div class="row">
<div class="col-md-12">
{[ "type": "textarea", "label": "Note", "name": "note", "required": 0, "class": "", "value": "", "extra": "" ]}
{[ "type": "textarea", "label": "Note", "name": "note", "required": 0, "value": "" ]}
</div>
</div>
<button type="submit" class="btn btn-primary pull-right"><i class="fa fa-plus"></i> Inserisci</button>
<div class="clearfix"></div>
<!-- PULSANTI -->
<div class="row">
<div class="col-md-12 text-right">
<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi'); ?></button>
</div>
</div>
</form>
<!--script>
$(document).ready( function(){
start_jquerychosen();
});
</script-->

View File

@ -1,4 +1,8 @@
<form action="" method="post" id="edit-form">
<?php
include_once __DIR__.'/../../core.php';
?><form action="" method="post" id="edit-form">
<input type="hidden" name="backto" value="record-edit">
<input type="hidden" name="op" value="update">
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
@ -11,49 +15,45 @@
<div class="panel-body">
<div class="row">
<div class="col-md-4">
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "name", "required": 1, "class": "", "value": "$name$", "extra": "" ]}
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "name", "required": 1, "value": "$name$" ]}
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Modulo'); ?>", "name": "id_module_", "required": 1, "class": "", "values": "query=SELECT id, name AS descrizione FROM zz_modules WHERE ( enabled = 1 AND options != 'custom' ) OR id = <?php echo $records[0]['id_module']; ?> ORDER BY name ASC", "value": "$id_module$", "extra": "<?php echo ($records[0]['predefined']) ? 'readonly' : ''; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Modulo'); ?>", "name": "module", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_modules WHERE ( enabled = 1 AND options != 'custom' ) OR id = <?php echo $records[0]['id_module']; ?> ORDER BY name ASC", "value": "$id_module$", "extra": "<?php echo ($records[0]['predefined']) ? 'readonly' : ''; ?>" ]}
</div>
<div class="col-md-4">
<?php
//($records[0]['n_sezionali']<2) ? $records[0]['predefined']=1 : '';
?>
{[ "type": "checkbox", "label": "<?php echo tr('Predefinito'); ?>", "name": "predefined", "value": "$predefined$", "help": "<?php echo tr('Seleziona per rendere il segmento predefinito.'); ?>", "placeholder": "<?php echo tr('Segmento predefinito'); ?>", "extra": "<?php echo ($records[0]['predefined']) ? 'readonly' : ''; ?>" ]}
</div>
</div>
<div class="row">
<div class="col-md-8">
{[ "type": "textarea", "label": "<?php echo tr('Filtro'); ?>", "name": "clause", "required": 1, "class": "", "value": "$clause$", "extra": "" ]}
{[ "type": "textarea", "label": "<?php echo tr('Filtro'); ?>", "name": "clause", "required": 1, "value": "$clause$" ]}
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Posizione'); ?>", "name": "position", "required": 1, "values":"list=\"WHR\": \"WHERE\", \"HVN\": \"HAVING\"", "value": "$position$" ]}
</div>
</div>
<div class="row">
<div class="col-md-12">
{[ "type": "textarea", "label": "<?php echo tr('Note'); ?>", "name": "note", "required": 0, "class": "", "value": "$note$", "extra": "" ]}
{[ "type": "textarea", "label": "<?php echo tr('Note'); ?>", "name": "note", "required": 0, "value": "$note$" ]}
</div>
</div>
</div>
</div>
<!-- Campi extra -->
<div class="panel panel-primary">
<div class="panel-heading">
@ -62,21 +62,19 @@
<div class="panel-body">
<div class="row">
<?php
$array = preg_match('/(?<=FROM)\s([^\s]+)\s/', $records[0]['options'], $table);
if (strpos($table[0], 'co_documenti') !== false) {
$righe = $dbo->fetchArray('SELECT COUNT(*) AS tot FROM '.$table[0].' WHERE id_segment = '.prepare($id_record));
$tot = $righe[0]['tot'];
}
?>
<?php
$array = preg_match('/(?<=FROM)\s([^\s]+)\s/', $records[0]['options'], $table);
if (strpos($table[0], 'co_documenti') !== false) {
$righe = $dbo->fetchArray('SELECT COUNT(*) AS tot FROM '.$table[0].' WHERE id_segment = '.prepare($id_record));
$tot = $righe[0]['tot'];
}
?>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Maschera'); ?>", "name": "pattern", "required": 0, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": "<?php echo ($tot > 0) ? 'readonly' : ''; ?>" ]}
{[ "type": "text", "label": "<?php echo tr('Maschera'); ?>", "name": "pattern", "required": 0, "class": "alphanumeric-mask", "value": "$pattern$", "maxlength": 25, "placeholder":"####/YY", "extra": "<?php echo ($tot > 0) ? 'readonly' : ''; ?>" ]}
</div>
</div>
<div class="row">
<div class="col-md-12">
@ -100,47 +98,43 @@
</div>
</div>
</div>
</div>
</form>
<?php
if ($tot > 0) {
echo "<div class='alert alert-danger' style='margin:0px;'>";
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 "<div class='alert alert-danger' style='margin:0px;'>";
echo '</div>';
} elseif ($records[0]['predefined']) {
echo "<div class='alert alert-danger' style='margin:0px;'>";
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 '</div>';
} elseif ($records[0]['predefined']) {
echo "<div class='alert alert-danger' style='margin:0px;'>";
echo '</div>';
} elseif ($records[0]['n_sezionali'] < 2) {
echo "<div class='alert alert-danger' style='margin:0px;'>";
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 '</div>';
} elseif ($records[0]['n_sezionali'] < 2) {
echo "<div class='alert alert-danger' style='margin:0px;'>";
echo tr("Questo è l'unico segmento per il modulo '_MODULO_'. Il comando elimina è stato disattivato.", [
'_MODULO_' => $records[0]['modulo'],
]);
echo '</div>';
} else {
echo '
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> '.tr('Elimina').'
</a>';
}
?>
echo '</div>';
} else {
echo '
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> '.tr('Elimina').'
</a>';
}
?>

View File

@ -1,5 +1,7 @@
<?php
if ($docroot == '') {
die(_('Accesso negato!'));
}
$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='$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));
}

View File

@ -1,4 +0,0 @@
<?php
if ($docroot == '') {
die(_('Accesso negato!'));
}

View File

@ -126,10 +126,6 @@ class Modules
*/
public static function getAdditionals($module)
{
if (Update::isUpdateAvailable()) {
return [];
}
$module = self::get($module);
if (!isset(self::$additionals[$module])) {