Merge branch 'master' into 2.4

This commit is contained in:
Thomas Zilio 2018-02-22 09:38:31 +01:00
commit 013ff189d1
14 changed files with 155 additions and 137 deletions

View File

@ -7,6 +7,16 @@ ob_start();
// Impostazioni di configurazione PHP
date_default_timezone_set('Europe/Rome');
// Controllo sulla versione PHP
$minimum = '5.6.0';
if (version_compare(phpversion(), $minimum) < 0) {
echo '
<p>Stai utilizzando la versione PHP '.phpversion().', non compatibile con OpenSTAManager.</p>
<p>Aggiorna PHP alla versione >= '.$minimum.'.</p>';
exit();
}
// Caricamento delle impostazioni personalizzabili
if (file_exists(__DIR__.'/config.inc.php')) {
include_once __DIR__.'/config.inc.php';

View File

@ -19,7 +19,7 @@ if (file_exists($docroot.'/include/custom/top.php')) {
// Controllo sull'esistenza di nuovi parametri di configurazione
if (post('db_host') !== null) {
$db_host = post('db_host');
$db_host = $_POST['db_host']; // Fix per evitare la conversione in numero
$db_name = post('db_name');
$db_username = post('db_username');
$db_password = post('db_password');
@ -291,7 +291,9 @@ if (empty($creation) && (!file_exists('config.inc.php') || !$valid_config)) {
<div id="step-1">
<p>'.tr('Benvenuto in <strong>OpenSTAManager</strong>!').'</p>
<p>'.tr("Prima di procedere alla configurazione e all'installazione del software, sono necessari alcuni accorgimenti per garantire il corretto funzionamento del gestionale. Stai utilizzando la versione PHP ".phpversion().'').'.</p>
<p>'.tr("Prima di procedere alla configurazione e all'installazione del software, sono necessari alcuni accorgimenti per garantire il corretto funzionamento del gestionale").'. '.tr('Stai utilizzando la versione PHP _PHP_', [
'_PHP_' => phpversion(),
]).'.</p>
<hr>';
// Estensioni di PHP

View File

@ -58,70 +58,67 @@ switch (post('op')) {
break;
case 'disable_widget':
//if (Modules::getPermission($module_name) == 'rw') {
$dbo->query('UPDATE zz_widgets SET enabled=0 WHERE id='.prepare($id));
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
$widget = $rs[0]['name'];
$_SESSION['infos'][] = tr('Widget _WIDGET_ disabilitato!', [
'_WIDGET_' => '"'.$widget.'"',
]);
//}
$dbo->query('UPDATE zz_widgets SET enabled=0 WHERE id='.prepare($id));
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
$widget = $rs[0]['name'];
$_SESSION['infos'][] = tr('Widget _WIDGET_ disabilitato!', [
'_WIDGET_' => '"'.$widget.'"',
]);
break;
case 'enable_widget':
//if (Modules::getPermission($module_name) == 'rw') {
$dbo->query('UPDATE zz_widgets SET enabled=1 WHERE id='.prepare($id));
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
$widget = $rs[0]['name'];
$_SESSION['infos'][] = tr('Widget _WIDGET_ abilitato!', [
'_WIDGET_' => '"'.$widget.'"',
]);
//}
$dbo->query('UPDATE zz_widgets SET enabled=1 WHERE id='.prepare($id));
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
$widget = $rs[0]['name'];
$_SESSION['infos'][] = tr('Widget _WIDGET_ abilitato!', [
'_WIDGET_' => '"'.$widget.'"',
]);
break;
case 'change_position_widget_top':
//if (Modules::getPermission($module_name) == 'rw') {
$dbo->query("UPDATE zz_widgets SET location='controller_top' WHERE id=".prepare($id));
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
$widget = $rs[0]['name'];
$_SESSION['infos'][] = tr('Posizione del widget _WIDGET_ aggiornata!', [
'_WIDGET_' => '"'.$widget.'"',
]);
//}
$dbo->query("UPDATE zz_widgets SET location='controller_top' WHERE id=".prepare($id));
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
$widget = $rs[0]['name'];
$_SESSION['infos'][] = tr('Posizione del widget _WIDGET_ aggiornata!', [
'_WIDGET_' => '"'.$widget.'"',
]);
break;
case 'change_position_widget_right':
//if (Modules::getPermission($module_name) == 'rw') {
$dbo->query("UPDATE zz_widgets SET location='controller_right' WHERE id=".prepare($id));
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
$widget = $rs[0]['name'];
$_SESSION['infos'][] = tr('Posizione del widget _WIDGET_ aggiornata!', [
'_WIDGET_' => '"'.$widget.'"',
]);
//}
$dbo->query("UPDATE zz_widgets SET location='controller_right' WHERE id=".prepare($id));
$rs = $dbo->fetchArray('SELECT id, name FROM zz_widgets WHERE id='.prepare($id));
$widget = $rs[0]['name'];
$_SESSION['infos'][] = tr('Posizione del widget _WIDGET_ aggiornata!', [
'_WIDGET_' => '"'.$widget.'"',
]);
break;
// Ordinamento moduli di primo livello
case 'sortmodules':
$ids = explode(',', $_POST['ids']);
for ($i = 0; $i < count($ids); ++$i) {
$dbo->query('UPDATE zz_modules SET `order`='.prepare($i).' WHERE id='.prepare($ids[$i]));
$rs = $dbo->fetchArray('SELECT id FROM zz_modules WHERE enabled = 1 AND parent IS NULL ORDER BY `order` ASC');
/*$rs = $dbo->fetchArray('SELECT id, name FROM zz_modules WHERE id='.prepare($ids[$i]));
$voce = $rs[0]['name'];
if ($_POST['ids'] != implode(',', array_column($rs, 'id'))) {
$ids = explode(',', $_POST['ids']);
$_SESSION['infos'][] = tr('Posizione della voce _VOCE_ aggiornata!', [
'_VOCE_' => '"'.$voce.'"',
]);*/
for ($i = 0; $i < count($ids); ++$i) {
$dbo->query('UPDATE zz_modules SET `order`='.prepare($i).' WHERE id='.prepare($ids[$i]));
/*$rs = $dbo->fetchArray('SELECT id, name FROM zz_modules WHERE id='.prepare($ids[$i]));
$voce = $rs[0]['name'];
$_SESSION['infos'][] = tr('Posizione della voce _VOCE_ aggiornata!', [
'_VOCE_' => '"'.$voce.'"',
]);*/
}
$_SESSION['infos'][] = tr('Posizione voci di menù aggiornate!');
}
$_SESSION['infos'][] = tr('Posizione voci di menù aggiornate!');
break;
case 'sortwidget':

View File

@ -10,7 +10,7 @@ if (get('tipoanagrafica') != '') {
}
echo '
<form action="editor.php?id_module=$id_module$" method="post">
<form action="editor.php?id_module=$id_module$" method="post" onsubmit="return add_anagrafica();">
<input type="hidden" name="op" value="add">
<input type="hidden" name="backto" value="record-edit">
@ -31,3 +31,16 @@ echo '
</div>
</div>
</form>';
?>
<script>
function add_anagrafica(){
if ( $('#ragione_sociale').val()==''){
alert( "Specifica una ragione sociale." );
return false;
}
else if( $('#idtipoanagrafica option:selected').length == 0 ){
alert( "Seleziona almeno un tipo di anagrafica." );
return false;
}
}
</script>

View File

@ -146,7 +146,7 @@ if (!$cliente) {
</div>
<div class="col-md-4">
{[ "type": "text", "label": "<?php echo tr('Sito web'); ?>", "name": "sitoweb", "value": "$sitoweb$", "icon-before": "<i class='fa fa-globe'></i>" ]}
{[ "type": "text", "label": "<?php echo tr('Sito web'); ?>", "name": "sitoweb", "placeholder":"www.dominio.ext", "value": "$sitoweb$", "icon-before": "<i class='fa fa-globe'></i>" ]}
</div>
<div class="col-md-4">
@ -176,11 +176,11 @@ if ($fornitore) {
{[ "type": "select", "label": "<?php echo tr('Pagamento predefinito (per acquisti)'); ?>", "name": "idpagamento_acquisti", "values": "query=SELECT id, descrizione FROM co_pagamenti GROUP BY descrizione ORDER BY descrizione ASC", "value": "$idpagamento_acquisti$" ]}
</div>
<div class="col-md-3">
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Listino articoli (per acquisti)'); ?>", "name": "idlistino_acquisti", "values": "query=SELECT id, nome AS descrizione FROM mg_listini ORDER BY nome ASC", "value": "$idlistino_acquisti$" ]}
</div>
<div class="col-md-3">
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Iva predefinita (per acquisti)'); ?>", "name": "idiva_acquisti", "values": "query=SELECT id, descrizione FROM co_iva ORDER BY descrizione ASC", "value": "$idiva_acquisti$" ]}
</div>
</div>
@ -194,29 +194,28 @@ if ($fornitore) {
{[ "type": "select", "label": "<?php echo tr('Pagamento predefinito (per vendite)'); ?>", "name": "idpagamento_vendite", "values": "query=SELECT id, descrizione FROM co_pagamenti GROUP BY descrizione ORDER BY descrizione ASC", "value": "$idpagamento_vendite$" ]}
</div>
<div class="col-md-3">
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Listino articoli (per vendite)'); ?>", "name": "idlistino_vendite", "values": "query=SELECT id, nome AS descrizione FROM mg_listini ORDER BY nome ASC", "value": "$idlistino_vendite$" ]}
</div>
<div class="col-md-3">
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Iva predefinita (per vendite)'); ?>", "name": "idiva_vendite", "values": "query=SELECT id, descrizione FROM co_iva ORDER BY descrizione ASC", "value": "$idiva_vendite$" ]}
</div>
</div>
<?php
} ?>
<div class="row">
<div class="col-md-3">
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Indirizzo di fatturazione'); ?>", "name": "idsede_fatturazione", "values": "query=SELECT id, IF(citta = '', nomesede, CONCAT_WS(', ', nomesede, citta)) AS descrizione FROM an_sedi WHERE idanagrafica='<?php echo $id_record; ?>' UNION SELECT '0' AS id, 'Sede legale' AS descrizione ORDER BY descrizione", "value": "$idsede_fatturazione$" ]}
</div>
<div class="col-md-3">
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Tipo attività'); ?>", "name": "idtipointervento_default", "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento ORDER BY descrizione ASC", "value": "$idtipointervento_default$" ]}
</div>
<div class="col-md-3">
<div class="col-md-4">
{[ "type": "select", "label": "Agente principale", "name": "idagente", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, IF(deleted=1, CONCAT(ragione_sociale, ' (Eliminato)'), ragione_sociale ) AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE (descrizione='Agente' AND deleted=0)<?php echo isset($records[0]['idagente']) ? 'OR (an_anagrafiche.idanagrafica = '.prepare($records[0]['idagente']).'AND deleted=1) ' : ''; ?>ORDER BY ragione_sociale", "value": "$idagente$" ]}
</div>
</div>
</div>
</div>
</div>
@ -253,52 +252,7 @@ if ($fornitore) {
{[ "type": "text", "label": "<?php echo tr('Città iscr. C.C.I.A.A.'); ?>", "name": "cciaa_citta", "value": "$cciaa_citta$" ]}
</div>
</div>
<div class="row">
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Appoggio bancario'); ?>", "name": "appoggiobancario", "value": "$appoggiobancario$" ]}
</div>
<div class="col-md-2">
{[ "type": "text", "label": "<?php echo tr('Filiale banca'); ?>", "name": "filiale", "value": "$filiale$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Codice IBAN'); ?>", "name": "codiceiban", "value": "$codiceiban$" ]}
</div>
<div class="col-md-2">
{[ "type": "text", "label": "<?php echo tr('Codice BIC'); ?>", "name": "bic", "value": "$bic$" ]}
</div>
<div class="col-md-2">
{[ "type": "text", "label": "<?php echo tr('Dicitura fissa fattura'); ?>", "name": "diciturafissafattura", "value": "$diciturafissafattura$" ]}
</div>
</div>
<div class="row">
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Foro di competenza'); ?>", "name": "foro_competenza", "value": "$foro_competenza$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Settore merceologico'); ?>", "name": "settore", "value": "$settore$" ]}
</div>
<div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Marche trattate'); ?>", "name": "marche", "value": "$marche$" ]}
</div>
</div>
<div class="row">
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Num. dipendenti'); ?>", "name": "dipendenti", "value": "$dipendenti$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Num. macchine'); ?>", "name": "macchine", "value": "$macchine$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Num. iscr. tribunale'); ?>", "name": "iscrizione_tribunale", "value": "$iscrizione_tribunale$" ]}
</div>
@ -306,19 +260,69 @@ if ($fornitore) {
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Num. iscr. albo artigiani'); ?>", "name": "n_alboartigiani", "value": "$n_alboartigiani$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Foro di competenza'); ?>", "name": "foro_competenza", "value": "$foro_competenza$" ]}
</div>
<div class="col-md-3">
{[ "type": "number", "label": "<?php echo tr('Capitale sociale'); ?>", "name": "capitale_sociale", "decimals": 0, "value": "$capitale_sociale$", "icon-after":"&euro;" ]}
</div>
</div>
<div class="row">
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Appoggio bancario'); ?>", "name": "appoggiobancario", "value": "$appoggiobancario$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Filiale banca'); ?>", "name": "filiale", "value": "$filiale$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Codice IBAN'); ?>", "name": "codiceiban", "value": "$codiceiban$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Codice BIC'); ?>", "name": "bic", "value": "$bic$" ]}
</div>
</div>
<div class="row">
<div class="col-md-12">
{[ "type": "text", "label": "<?php echo tr('Dicitura fissa in fattura'); ?>", "name": "diciturafissafattura", "value": "$diciturafissafattura$" ]}
</div>
</div>
<div class="row">
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Settore merceologico'); ?>", "name": "settore", "value": "$settore$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Marche trattate'); ?>", "name": "marche", "value": "$marche$" ]}
</div>
<div class="col-md-3">
{[ "type": "number", "label": "<?php echo tr('Num. dipendenti'); ?>", "name": "dipendenti", "decimals": 0, "value": "$dipendenti$" ]}
</div>
<div class="col-md-3">
{[ "type": "number", "label": "<?php echo tr('Num. macchine'); ?>", "name": "macchine", "decimals": 0, "value": "$macchine$" ]}
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="col-md-12">
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('Tipo di anagrafica'); ?>", "name": "idtipoanagrafica[]", "values": "query=SELECT idtipoanagrafica AS id, descrizione FROM an_tipianagrafiche WHERE idtipoanagrafica NOT IN (SELECT DISTINCT(x.idtipoanagrafica) FROM an_tipianagrafiche_anagrafiche x INNER JOIN an_tipianagrafiche t ON x.idtipoanagrafica = t.idtipoanagrafica INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = x.idanagrafica WHERE t.descrizione = 'Azienda' AND deleted = 0) ORDER BY descrizione", "value": "$idtipianagrafica$" ]}
<?php
if (str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
echo '
<p>'.tr('Questa anagrafica appartiene alla tipologia "Azienda"').'.</p>';
}
?>
<?php
if (str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
echo '
<p>'.tr('Questa anagrafica appartiene alla tipologia "Azienda"').'.</p>';
}
?>
</div>
</div>
<div class="row">
<?php
if (in_array('Tecnico', explode(',', $records[0]['tipianagrafica']))) {
?>
@ -330,7 +334,7 @@ if (str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
<?php
if (in_array('Cliente', explode(',', $records[0]['tipianagrafica']))) {
?>
<div class="col-md-3">
<div class="col-md-6">
{[ "type": "select", "label": "Agenti secondari", "multiple": "1", "name": "idagenti[]", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, IF(deleted=1, CONCAT(ragione_sociale, ' (Eliminato)'), ragione_sociale ) AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE (descrizione='Agente' AND deleted=0 AND an_anagrafiche.idanagrafica NOT IN (SELECT idagente FROM an_anagrafiche WHERE idanagrafica = <?php echo prepare($records[0]['idanagrafica']); ?> )) OR (an_anagrafiche.idanagrafica IN (SELECT idagente FROM an_anagrafiche_agenti WHERE idanagrafica = <?php echo prepare($records[0]['idanagrafica']); ?> ) ) ORDER BY ragione_sociale", "value": "$idagenti$" ]}
</div>
@ -339,10 +343,6 @@ if (str_contains($records[0]['idtipianagrafica'], $id_azienda)) {
</div>
<?php
} ?>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('Capitale sociale'); ?>", "name": "capitale_sociale", "value": "$capitale_sociale$" ]}
</div>
</div>

View File

@ -1108,10 +1108,6 @@ switch (post('op')) {
$id_record = $rsp[0]['iddocumento'];
$idintervento = $rsp[0]['idintervento'];
$query = 'DELETE FROM `co_righe_documenti` WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga);
$dbo->query($query);
// Ricalcolo inps, ritenuta e bollo
if ($dir == 'entrata') {
ricalcola_costiagg_fattura($id_record);
@ -1120,19 +1116,23 @@ switch (post('op')) {
}
// Lettura interventi collegati
$query = 'SELECT id, idintervento FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idintervento IS NOT NULL';
$rs = $dbo->fetchArray($query);
//$query = 'SELECT id, idintervento FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idintervento IS NOT NULL';
//$rs = $dbo->fetchArray($query);
// Se ci sono degli interventi collegati li rimetto nello stato "Completato"
for ($i = 0; $i < sizeof($rs); ++$i) {
$dbo->query("UPDATE in_interventi SET idstatointervento='OK' WHERE id=".prepare($rs[$i]['idintervento']));
//for ($i = 0; $i < sizeof($rs); ++$i) {
$dbo->query("UPDATE in_interventi SET idstatointervento='OK' WHERE id=".prepare($idintervento));
// Rimuovo dalla fattura gli articoli collegati all'intervento
$rs2 = $dbo->fetchArray('SELECT idarticolo FROM mg_articoli_interventi WHERE idintervento='.prepare($idintervento));
for ($j = 0; $j < sizeof($rs2); ++$j) {
rimuovi_articolo_dafattura($rs[0]['idarticolo'], $id_record, $rs[0]['idrigadocumento']);
}
}
// Rimuovo dalla fattura gli articoli collegati all'intervento
$rs2 = $dbo->fetchArray('SELECT idarticolo FROM mg_articoli_interventi WHERE idintervento='.prepare($idintervento));
for ($j = 0; $j < sizeof($rs2); ++$j) {
rimuovi_articolo_dafattura($rs[0]['idarticolo'], $id_record, $rs[0]['idrigadocumento']);
}
//}
//rimuovo riga da co_righe_documenti
$query = 'DELETE FROM `co_righe_documenti` WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga);
$dbo->query($query);
$_SESSION['infos'][] = tr('Intervento _NUM_ rimosso!', [
'_NUM_' => $idintervento,

View File

@ -78,7 +78,7 @@ if ($dir == 'entrata') {
echo '
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "'.tr('Serial').'", "name": "serial[]", "multiple": 1, "value": "'.implode(',', $serials).'", "values": "query=SELECT DISTINCT serial AS id, serial AS descrizione FROM mg_prodotti WHERE dir=\'uscita\' AND serial NOT IN (SELECT serial FROM mg_prodotti WHERE dir=\'entrata\' AND serial NOT IN (SELECT serial FROM mg_prodotti WHERE '.$riga.' = \''.$idriga.'\'))'.(!empty($in) ? ' OR serial IN ('.$in.')' : '').'", "extra": "data-maximum=\"'.intval($rs[0]['qta']).'\"" ]}
{[ "type": "select", "label": "'.tr('Serial').'", "name": "serial[]", "multiple": 1, "value": "'.implode(',', $serials).'", "values": "query=SELECT DISTINCT serial AS id, serial AS descrizione FROM mg_prodotti WHERE dir=\'uscita\' AND mg_prodotti.id_articolo = '.prepare($rs[0]['idarticolo']).' AND serial NOT IN (SELECT serial FROM mg_prodotti WHERE dir=\'entrata\' AND serial NOT IN (SELECT serial FROM mg_prodotti WHERE '.$riga.' = \''.$idriga.'\'))'.(!empty($in) ? ' OR serial IN ('.$in.')' : '' ).'", "extra": "data-maximum=\"'.intval($rs[0]['qta']).'\"" ]}
</div>
</div>';
} else {

View File

@ -199,7 +199,7 @@ if (empty($new_codice)) {
<!-- RIGA 5 -->
<div class="row">
<div class="col-md-12">
{[ "type": "select", "label": "<?php echo tr('Tecnici'); ?>", "multiple": "1", "name": "idtecnico[]", "required": 1, "ajax-source": "tecnici", "value": "<?php echo $idtecnico; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Tecnici'); ?>", "multiple": "1", "name": "idtecnico[]", "required": <?php echo ($get['ref']) ? 1:0; ?>, "ajax-source": "tecnici", "value": "<?php echo $idtecnico; ?>" ]}
</div>
<div class="col-md-12">

View File

@ -267,7 +267,7 @@ if (!empty($rs2)) {
}
} else {
echo
'<p>'.tr('Nessun tecnico presente').'.</p>';
'<div class=\'alert alert-info\' ><i class=\'fa fa-info-circle\'></i> '.tr('Nessun tecnico assegnato').'.</div>';
}
if (!$flg_completato) {

View File

@ -27,7 +27,7 @@ return '
<p>'.$f_citta_full.'</p>
<p>'.(!empty($f_piva) ? tr('P.Iva').': '.$f_piva : '').'</p>
<p>'.(!empty($f_codicefiscale) ? tr('C.F.').': '.$f_codicefiscale : '').'</p>
<p>'.(!empty($f_capsoc) ? tr('Cap.Soc.').': '.$f_capsoc : '').'</p>
<p>'.(!empty($f_capsoc) ? tr('Cap.Soc.').': '.$f_capsoc.' &euro;' : '').'</p>
<p>'.(!empty($f_telefono) ? tr('Tel').': '.$f_telefono : '').'</p>
</div>
</div>';

View File

@ -1,3 +0,0 @@
<?php
echo '$default_footer$';
?>

View File

@ -1,3 +0,0 @@
<?php
echo '$default_footer$';
?>

View File

@ -68,4 +68,4 @@ UPDATE `in_statiintervento` SET `can_delete` = 1 WHERE `idstatointervento` IN( '
UPDATE `in_statiintervento` SET `can_delete` = 0 WHERE `idstatointervento` IN( 'FAT', 'OK' );
-- Impostazione di tutti gli eventuali altri tipi di intervento a modificabili e cancellabili
UPDATE `in_statiintervento` SET `can_delete` = 1 WHERE `idstatointervento` NOT IN( 'FAT', 'OK', 'CALL', 'WIP' );
UPDATE `in_statiintervento` SET `can_delete` = 1 WHERE `idstatointervento` NOT IN( 'FAT', 'OK', 'CALL', 'WIP' );

2
update/2_3_2.sql Normal file
View File

@ -0,0 +1,2 @@
-- Lo stato 'FAT' è da considerarsi completato
UPDATE `in_statiintervento` SET `completato` = '1' WHERE `in_statiintervento`.`idstatointervento` = 'FAT';