parent
22cedab248
commit
0a6b708960
|
@ -522,12 +522,6 @@ span.form-control {
|
|||
}
|
||||
}
|
||||
|
||||
.push {
|
||||
position: fixed;
|
||||
z-index: 3;
|
||||
right: 10;
|
||||
}
|
||||
|
||||
@media screen and (max-width:1023px) {
|
||||
.push {
|
||||
position: static;
|
||||
|
|
|
@ -186,7 +186,8 @@ class Auth extends \Util\Singleton
|
|||
$database = Database::getConnection();
|
||||
|
||||
try {
|
||||
$results = $database->fetchArray('SELECT idutente, idanagrafica, username, (SELECT nome FROM zz_groups WHERE id=idgruppo) AS gruppo FROM zz_users WHERE idutente = '.prepare($user_id).' AND enabled = 1 LIMIT 1');
|
||||
$results = $database->fetchArray('SELECT idutente, idanagrafica, username, (SELECT nome FROM zz_groups WHERE id=idgruppo) AS gruppo FROM zz_users WHERE idutente = '.prepare($user_id).' AND enabled = 1 LIMIT 1', false, ['session' => false]);
|
||||
|
||||
if (!empty($results)) {
|
||||
$results[0]['is_admin'] = ($results[0]['gruppo'] == 'Amministratori');
|
||||
|
||||
|
|
|
@ -215,7 +215,7 @@ class Database extends Util\Singleton
|
|||
*
|
||||
* @return array
|
||||
*/
|
||||
public function fetchArray($query, $numeric = false)
|
||||
public function fetchArray($query, $numeric = false, $options = [])
|
||||
{
|
||||
try {
|
||||
$mode = empty($numeric) ? PDO::FETCH_ASSOC : PDO::FETCH_NUM;
|
||||
|
@ -224,7 +224,7 @@ class Database extends Util\Singleton
|
|||
|
||||
return $result;
|
||||
} catch (PDOException $e) {
|
||||
$this->signal($e, $query);
|
||||
$this->signal($e, $query, $options);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -166,10 +166,6 @@ $(document).ready(function () {
|
|||
var hash = window.location.hash ? window.location.hash : getUrlVars().hash;
|
||||
if (hash && hash != '#tab_0') {
|
||||
$('ul.nav a[href="' + hash + '"]').tab('show');
|
||||
|
||||
$($.fn.dataTable.tables(true)).DataTable().columns.adjust();
|
||||
|
||||
$($.fn.dataTable.tables(true)).DataTable().scroller.measure();
|
||||
}
|
||||
|
||||
$('.nav-tabs a').click(function (e) {
|
||||
|
@ -189,23 +185,6 @@ $(document).ready(function () {
|
|||
$($.fn.dataTable.tables(true)).DataTable().scroller.measure();
|
||||
});
|
||||
|
||||
|
||||
// Aggiunta nell'URL del nome tab su cui tornare dopo il submit
|
||||
$(document).on('submit', 'form', function () {
|
||||
$(this).find('input:disabled, select:disabled').prop('disabled', false);
|
||||
|
||||
var hash = window.location.hash;
|
||||
if (hash) {
|
||||
var input = $('<input/>', {
|
||||
type: 'hidden',
|
||||
name: 'hash',
|
||||
value: hash,
|
||||
});
|
||||
|
||||
$(this).append(input);
|
||||
}
|
||||
});
|
||||
|
||||
// Messaggio di avviso salvataggio a comparsa sulla destra solo nella versione a desktop intero
|
||||
if ($(window).width() > 1023) {
|
||||
var i = 0;
|
||||
|
@ -214,7 +193,12 @@ $(document).ready(function () {
|
|||
i++;
|
||||
tops = 60 * i + 95;
|
||||
|
||||
$(this).delay(1000).animate({
|
||||
$(this).css({
|
||||
'position': 'fixed',
|
||||
'z-index': 3,
|
||||
'right': '10px',
|
||||
'top': -100,
|
||||
}).delay(1000).animate({
|
||||
'top': tops,
|
||||
}).delay(3000).animate({
|
||||
'top': -100,
|
||||
|
|
15
lib/init.js
15
lib/init.js
|
@ -75,6 +75,8 @@ $(document).ready(function () {
|
|||
});
|
||||
});
|
||||
|
||||
// Aggiunta nell'URL del nome tab su cui tornare dopo il submit
|
||||
// Blocco del pulsante di submit dopo il primo submit
|
||||
$("form").submit(function() {
|
||||
if ($(this).parsley().validate()) {
|
||||
$(this).submit(function() {
|
||||
|
@ -83,6 +85,19 @@ $(document).ready(function () {
|
|||
|
||||
$(this).find('[type=submit]').prop("disabled", true).addClass("disabled");
|
||||
|
||||
$(this).find('input:disabled, select:disabled').prop('disabled', false);
|
||||
|
||||
var hash = window.location.hash;
|
||||
if (hash) {
|
||||
var input = $('<input/>', {
|
||||
type: 'hidden',
|
||||
name: 'hash',
|
||||
value: hash,
|
||||
});
|
||||
|
||||
$(this).append(input);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ $_SESSION['superselect']['id_categoria'] = $records[0]['id_categoria'];
|
|||
?><form action="" method="post" role="form" enctype="multipart/form-data">
|
||||
<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 ?>">
|
||||
|
||||
<!-- DATI ANAGRAFICI -->
|
||||
<div class="panel panel-primary">
|
||||
|
|
|
@ -54,7 +54,7 @@ if (!empty($rs2)) {
|
|||
|
||||
// Data
|
||||
echo '
|
||||
<td>'.Translator::timestampToLocale($r['data']).'</td>
|
||||
<td>'.Translator::timestampToLocale($r['created_at']).'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '
|
||||
|
|
|
@ -4,7 +4,7 @@ if (file_exists($docroot.'/lib/jscripts/fullcalendar.min.js')) {
|
|||
@unlink($docroot.'/lib/jscripts/fullcalendar.min.js');
|
||||
}
|
||||
|
||||
//Riporto su ogni riga della fattura la relativa rivalsa inps e ritenuta d'acconto se impostate
|
||||
// Riporto su ogni riga della fattura la relativa rivalsa inps e ritenuta d'acconto se impostate
|
||||
$rivalsainps = get_var('Percentuale rivalsa inps');
|
||||
$ritenuta = get_var("Percentuale ritenuta d'acconto");
|
||||
|
||||
|
|
|
@ -1,40 +1,41 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Verifico se serve creare un conto per eventuali nuovi clienti o fornitori.
|
||||
*/
|
||||
* Verifico se serve creare un conto per eventuali nuovi clienti o fornitori.
|
||||
*/
|
||||
$rs = $dbo->fetchArray('SELECT idanagrafica, ragione_sociale, (SELECT GROUP_CONCAT(an_tipianagrafiche.descrizione) FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica=an_anagrafiche.idanagrafica) AS idtipianagrafica FROM an_anagrafiche WHERE idconto_cliente=0 OR idconto_fornitore=0');
|
||||
|
||||
for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||
if (in_array('Cliente', explode(',', $rs[$i]['idtipianagrafica']))) {
|
||||
//Calcolo il codice conto più alto
|
||||
// Calcolo il codice conto più alto
|
||||
$rs2 = $dbo->fetchArray("SELECT MAX( CAST(numero AS UNSIGNED) ) AS max_numero, idpianodeiconti2 FROM co_pianodeiconti3 WHERE numero=CAST(numero AS UNSIGNED) AND idpianodeiconti2=(SELECT id FROM co_pianodeiconti2 WHERE descrizione='Crediti clienti e crediti diversi')");
|
||||
$numero = str_pad($rs2[0]['max_numero'] + 1, 6, '0', STR_PAD_LEFT);
|
||||
$idpianodeiconti2 = $rs2[0]['idpianodeiconti2'];
|
||||
|
||||
//Creo il nuovo conto
|
||||
// Creo il nuovo conto
|
||||
$dbo->query('INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( "'.$numero.'", "'.$rs[$i]['ragione_sociale'].'", "'.$idpianodeiconti2.'", 1, 1 )');
|
||||
$idconto = $dbo->lastInsertedID();
|
||||
|
||||
//Collego questo conto al cliente
|
||||
// Collego questo conto al cliente
|
||||
$dbo->query('UPDATE an_anagrafiche SET idconto_cliente="'.$idconto.'" WHERE idanagrafica="'.$rs[$i]['idanagrafica'].'"');
|
||||
}
|
||||
|
||||
if (in_array('Fornitore', explode(',', $rs[$i]['idtipianagrafica']))) {
|
||||
//Calcolo il codice conto più alto
|
||||
// Calcolo il codice conto più alto
|
||||
$rs2 = $dbo->fetchArray("SELECT MAX( CAST(numero AS UNSIGNED) ) AS max_numero, idpianodeiconti2 FROM co_pianodeiconti3 WHERE numero=CAST(numero AS UNSIGNED) AND idpianodeiconti2=(SELECT id FROM co_pianodeiconti2 WHERE descrizione='Debiti fornitori e debiti diversi')");
|
||||
$numero = str_pad($rs2[0]['max_numero'] + 1, 6, '0', STR_PAD_LEFT);
|
||||
$idpianodeiconti2 = $rs2[0]['idpianodeiconti2'];
|
||||
|
||||
//Creo il nuovo conto
|
||||
// Creo il nuovo conto
|
||||
$dbo->query('INSERT INTO co_pianodeiconti3( numero, descrizione, idpianodeiconti2, can_delete, can_edit ) VALUES( "'.$numero.'", "'.$rs[$i]['ragione_sociale'].'", "'.$idpianodeiconti2.'", 1, 1 )');
|
||||
$idconto = $dbo->lastInsertedID();
|
||||
|
||||
//Collego questo conto al cliente
|
||||
// Collego questo conto al cliente
|
||||
$dbo->query('UPDATE an_anagrafiche SET idconto_fornitore="'.$idconto.'" WHERE idanagrafica="'.$rs[$i]['idanagrafica'].'"');
|
||||
}
|
||||
}
|
||||
|
||||
//Sposto tutti i movimenti delle fatture dal riepilogativo (clienti o fornitori) al relativo conto di ogni anagrafica
|
||||
// Sposto tutti i movimenti delle fatture dal riepilogativo (clienti o fornitori) al relativo conto di ogni anagrafica
|
||||
$rs = $dbo->fetchArray('SELECT co_movimenti.id, co_documenti.idanagrafica, dir FROM (co_movimenti INNER JOIN co_documenti ON co_movimenti.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento WHERE NOT iddocumento=0');
|
||||
|
||||
for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||
|
@ -47,14 +48,14 @@ for ($i = 0; $i < sizeof($rs); ++$i) {
|
|||
$dbo->query($query);
|
||||
}
|
||||
|
||||
//Aggiungo il flag "Attiva aggiornamenti" se manca (nella migrazione della 2.0 non c'è)
|
||||
// Aggiungo il flag "Attiva aggiornamenti" se manca (nella migrazione della 2.0 non c'è)
|
||||
$rs = $dbo->fetchArray("SELECT idimpostazione FROM zz_impostazioni WHERE nome='Attiva aggiornamenti'");
|
||||
|
||||
if (sizeof($rs) == 0) {
|
||||
$dbo->query("INSERT INTO `zz_impostazioni` (`nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES ( 'Attiva aggiornamenti', '1', 'boolean', '0', 'Generali')");
|
||||
}
|
||||
|
||||
//Spostamento ore di lavoro e diritto di chiamata dei preventivi nella tabella
|
||||
// Spostamento ore di lavoro e diritto di chiamata dei preventivi nella tabella
|
||||
$idiva = get_var('Iva predefinita');
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT percentuale, indetraibile FROM co_iva WHERE id="'.$idiva.'"');
|
||||
|
@ -64,7 +65,7 @@ $indetraibile = $rs[0]['indetraibile'];
|
|||
$rs = $dbo->fetchArray('SELECT * FROM co_preventivi WHERE ore_lavoro > 0 OR costo_diritto_chiamata > 0');
|
||||
|
||||
for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||
//Ore lavoro
|
||||
// Ore lavoro
|
||||
if ($rs[$i]['ore_lavoro'] > 0) {
|
||||
$imponibile = $rs[$i]['costo_orario'] * $rs[$i]['ore_lavoro'];
|
||||
|
||||
|
@ -74,7 +75,7 @@ for ($i = 0; $i < sizeof($rs); ++$i) {
|
|||
$dbo->query('INSERT INTO co_righe_preventivi( idpreventivo, idiva, iva, iva_indetraibile, descrizione, subtotale, sconto, um, qta ) VALUES( "'.$rs[$i]['id'].'", "'.$idiva.'", "'.$iva.'", "'.$iva_indetraibile.'", "Ore lavoro", "'.$imponibile.'", "0.00", "ore", "'.$rs[$i]['ore_lavoro'].'" )');
|
||||
}
|
||||
|
||||
//Ore diritto chiamata
|
||||
// Ore diritto chiamata
|
||||
if ($rs[$i]['costo_diritto_chiamata'] > 0) {
|
||||
$imponibile = $rs[$i]['costo_diritto_chiamata'];
|
||||
|
||||
|
@ -85,12 +86,12 @@ for ($i = 0; $i < sizeof($rs); ++$i) {
|
|||
}
|
||||
}
|
||||
|
||||
//Eliminazione vecchi file
|
||||
// Eliminazione vecchi file
|
||||
@unlink($docroot.'/share/themes/default/css/font-awesome.css');
|
||||
@deltree($docroot.'/modules/preventivi/js/');
|
||||
|
||||
/*
|
||||
Spostamento agente di riferimento su nuova tabella an_anagrafiche_agenti
|
||||
* Spostamento agente di riferimento su nuova tabella an_anagrafiche_agenti
|
||||
*/
|
||||
$rs = $dbo->fetchArray('SELECT idanagrafica, idagente FROM an_anagrafiche WHERE NOT idagente=0');
|
||||
|
||||
|
@ -99,9 +100,9 @@ for ($i = 0; $i < sizeof($rs); ++$i) {
|
|||
}
|
||||
|
||||
/**
|
||||
* 2016-11-09 (r1509)
|
||||
* Creo le associazioni fra i tipi di intervento e i contratti.
|
||||
*/
|
||||
* 2016-11-09 (r1509)
|
||||
* Creo le associazioni fra i tipi di intervento e i contratti.
|
||||
*/
|
||||
$rsc = $dbo->fetchArray('SELECT id FROM co_contratti');
|
||||
|
||||
for ($c = 0; $c < sizeof($rsc); ++$c) {
|
||||
|
|
|
@ -147,6 +147,14 @@ if (!empty($array)) {
|
|||
$database->query("UPDATE mg_articoli SET contenuto = REPLACE(REPLACE(REPLACE(contenuto, '"', '\"'), '\n', ".prepare(PHP_EOL)."), '`', '\"')");
|
||||
$database->query("UPDATE my_impianto_componenti SET contenuto = REPLACE(REPLACE(REPLACE(contenuto, '"', '\"'), '\n', ".prepare(PHP_EOL)."), '`', '\"')");
|
||||
|
||||
// Fix per la presenza della Foreign Key in in_interventi_tecnici
|
||||
$fk = $database->fetchArray('SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = '.prepare($database->getDatabaseName())." AND REFERENCED_TABLE_NAME = 'in_interventi' AND CONSTRAINT_NAME = 'in_interventi_tecnici_ibfk_1'");
|
||||
if(!empty($fk)){
|
||||
$database->query("ALTER TABLE `in_interventi_tecnici` DROP FOREIGN KEY `in_interventi_tecnici_ibfk_1`");
|
||||
}
|
||||
|
||||
$database->query("ALTER TABLE `in_interventi` CHANGE `idintervento` `codice` varchar(25) NOT NULL UNIQUE");
|
||||
|
||||
// Fix dei timestamp delle tabelle mg_prodotti, mg_movimenti, zz_logs e zz_files
|
||||
$database->query('UPDATE `mg_prodotti` SET `created_at` = `data`, `updated_at` = `data`');
|
||||
$database->query('ALTER TABLE `mg_prodotti` DROP `data`');
|
||||
|
|
|
@ -15,23 +15,20 @@ ALTER TABLE `zz_modules` CHANGE `module_dir` `directory` varchar(50) NOT NULL, C
|
|||
UPDATE `zz_modules` SET `name` = REPLACE(`name`, 'à', 'à'), `title` = REPLACE(`title`, 'à', 'à');
|
||||
|
||||
-- Adattamento della tabella in_interventi
|
||||
ALTER TABLE `in_interventi_tecnici`
|
||||
ADD CONSTRAINT `in_interventi_tecnici_ibfk_1` FOREIGN KEY (`idintervento`) REFERENCES `in_interventi` (`idintervento`) ON DELETE CASCADE;
|
||||
ALTER TABLE `in_interventi_tecnici` DROP FOREIGN KEY `in_interventi_tecnici_ibfk_1`;
|
||||
ALTER TABLE `in_interventi` DROP PRIMARY KEY, CHANGE `idintervento` `codice` varchar(25) NOT NULL UNIQUE, ADD `id` int(11) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`);
|
||||
ALTER TABLE `in_interventi` DROP PRIMARY KEY, ADD `id` int(11) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`);
|
||||
|
||||
ALTER TABLE `my_impianti_interventi` DROP PRIMARY KEY;
|
||||
|
||||
UPDATE `co_ordiniservizio` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `co_ordiniservizio`.`idintervento`);
|
||||
UPDATE `co_preventivi_interventi` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `co_preventivi_interventi`.`idintervento`);
|
||||
UPDATE `co_righe_contratti` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `co_righe_contratti`.`idintervento`);
|
||||
UPDATE `co_righe_documenti` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `co_righe_documenti`.`idintervento`);
|
||||
UPDATE `in_interventi_tecnici` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `in_interventi_tecnici`.`idintervento`);
|
||||
UPDATE `in_righe_interventi` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `in_righe_interventi`.`idintervento`);
|
||||
UPDATE `mg_movimenti` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `mg_movimenti`.`idintervento`);
|
||||
UPDATE `my_impianti_interventi` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `my_impianti_interventi`.`idintervento`);
|
||||
UPDATE `my_impianto_componenti` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `my_impianto_componenti`.`idintervento`);
|
||||
UPDATE `my_componenti_interventi` SET `id_intervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`codice` = `my_componenti_interventi`.`id_intervento`);
|
||||
UPDATE `co_ordiniservizio` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `co_ordiniservizio`.`idintervento`);
|
||||
UPDATE `co_preventivi_interventi` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `co_preventivi_interventi`.`idintervento`);
|
||||
UPDATE `co_righe_contratti` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `co_righe_contratti`.`idintervento`);
|
||||
UPDATE `co_righe_documenti` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `co_righe_documenti`.`idintervento`);
|
||||
UPDATE `in_interventi_tecnici` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `in_interventi_tecnici`.`idintervento`);
|
||||
UPDATE `in_righe_interventi` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `in_righe_interventi`.`idintervento`);
|
||||
UPDATE `mg_movimenti` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `mg_movimenti`.`idintervento`);
|
||||
UPDATE `my_impianti_interventi` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `my_impianti_interventi`.`idintervento`);
|
||||
UPDATE `my_impianto_componenti` SET `idintervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `my_impianto_componenti`.`idintervento`);
|
||||
UPDATE `my_componenti_interventi` SET `id_intervento` = (SELECT `id` FROM `in_interventi` WHERE `in_interventi`.`idintervento` = `my_componenti_interventi`.`id_intervento`);
|
||||
|
||||
ALTER TABLE `co_ordiniservizio` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `co_preventivi_interventi` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
|
|
Loading…
Reference in New Issue