Bugfix in preparazione della release
Risoluzione di alcuni bug presenti in preparazione della release.
This commit is contained in:
parent
af55c235f2
commit
22cedab248
|
@ -175,7 +175,7 @@ div.DTS {
|
|||
|
||||
div.DTS tbody th,
|
||||
div.DTS tbody td {
|
||||
white-space: nowrap;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
div.DTS div.DTS_Loading {
|
||||
|
|
|
@ -337,54 +337,6 @@ span.form-control {
|
|||
}
|
||||
}
|
||||
|
||||
#back-to-top {
|
||||
display: inline-block;
|
||||
height: 60px;
|
||||
width: 60px;
|
||||
position: fixed;
|
||||
bottom: 60px;
|
||||
right: 10px;
|
||||
z-index: 10;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
|
||||
/* image replacement properties */
|
||||
color: #fff;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
background: rgba(255, 78, 0, 0.8);
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity .3s 0s, visibility 0s .3s;
|
||||
-moz-transition: opacity .3s 0s, visibility 0s .3s;
|
||||
transition: opacity .3s 0s, visibility 0s .3s;
|
||||
}
|
||||
|
||||
#back-to-top>span {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
margin-left: -15px;
|
||||
margin-top: -15px;
|
||||
}
|
||||
|
||||
#back-to-top.cd-is-visible {
|
||||
visibility: visible;
|
||||
opacity: 0.8;
|
||||
z-index: 900;
|
||||
}
|
||||
|
||||
#back-to-top.cd-is-visible:hover {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
z-index: 900;
|
||||
}
|
||||
|
||||
#back-to-top.cd-fade-out {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.input-searching {
|
||||
background: #FFBF91;
|
||||
}
|
||||
|
@ -559,3 +511,25 @@ span.form-control {
|
|||
.input-group-addon.no-padding>* {
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
@media screen and (max-width:767px) {
|
||||
.main-header .logo {
|
||||
display: none;
|
||||
}
|
||||
.fixed .content-wrapper,
|
||||
.fixed .right-side {
|
||||
padding-top: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
.push {
|
||||
position: fixed;
|
||||
z-index: 3;
|
||||
right: 10;
|
||||
}
|
||||
|
||||
@media screen and (max-width:1023px) {
|
||||
.push {
|
||||
position: static;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,4 +38,55 @@ $(document).ready(function () {
|
|||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
// Pulsante per il ritorno a inizio pagina
|
||||
var slideToTop = $("<div />");
|
||||
slideToTop.html('<i class="fa fa-chevron-up"></i>');
|
||||
slideToTop.css({
|
||||
position: 'fixed',
|
||||
bottom: '20px',
|
||||
right: '25px',
|
||||
width: '40px',
|
||||
height: '40px',
|
||||
color: '#eee',
|
||||
'font-size': '',
|
||||
'line-height': '40px',
|
||||
'text-align': 'center',
|
||||
'background-color': 'rgba(255, 78, 0)',
|
||||
'box-shadow': '0 0 10px rgba(0, 0, 0, 0.05)',
|
||||
cursor: 'pointer',
|
||||
'z-index': '99999',
|
||||
opacity: '.7',
|
||||
'display': 'none'
|
||||
});
|
||||
slideToTop.on('mouseenter', function () {
|
||||
$(this).css('opacity', '1');
|
||||
});
|
||||
slideToTop.on('mouseout', function () {
|
||||
$(this).css('opacity', '.7');
|
||||
});
|
||||
$('.wrapper').append(slideToTop);
|
||||
$(window).scroll(function () {
|
||||
if ($(window).scrollTop() >= 150) {
|
||||
if (!$(slideToTop).is(':visible')) {
|
||||
$(slideToTop).fadeIn(500);
|
||||
}
|
||||
} else {
|
||||
$(slideToTop).fadeOut(500);
|
||||
}
|
||||
});
|
||||
$(slideToTop).click(function () {
|
||||
$("body").animate({
|
||||
scrollTop: 0
|
||||
}, 500);
|
||||
});
|
||||
$(".sidebar-menu li:not(.treeview) a").click(function () {
|
||||
var $this = $(this);
|
||||
var target = $this.attr("href");
|
||||
if (typeof target === 'string') {
|
||||
$("body").animate({
|
||||
scrollTop: ($(target).offset().top) + "px"
|
||||
}, 500);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"sInfoPostFix": "",
|
||||
"sInfoThousands": ".",
|
||||
"sLengthMenu": "Visualizza _MENU_ elementi",
|
||||
"sLoadingRecords": "Caricamento...",
|
||||
"sLoadingRecords": " ",
|
||||
"sProcessing": "Elaborazione...",
|
||||
"sSearch": "Cerca:",
|
||||
"sZeroRecords": "La ricerca non ha portato alcun risultato.",
|
||||
|
|
6
core.php
6
core.php
|
@ -56,7 +56,7 @@ use Monolog\Handler\StreamHandler;
|
|||
use Monolog\Handler\RotatingFileHandler;
|
||||
|
||||
$handlers = [];
|
||||
// File di log di base (logs/all.log)
|
||||
// File di log di base (logs/error.log)
|
||||
$handlers[] = new StreamHandler(__DIR__.'/logs/error.log', Monolog\Logger::ERROR);
|
||||
$handlers[] = new StreamHandler(__DIR__.'/logs/setup.log', Monolog\Logger::EMERGENCY);
|
||||
|
||||
|
@ -124,9 +124,9 @@ if (!API::isAPIRequest()) {
|
|||
|
||||
$dbo = Database::getConnection();
|
||||
|
||||
$continue = $dbo->isInstalled() && (Auth::check() || API::isAPIRequest()) && !Update::isUpdateAvailable();
|
||||
|
||||
// Controllo sulla presenza dei permessi di accesso basilari
|
||||
$continue = $dbo->isInstalled() && !Update::isUpdateAvailable() && (Auth::check() || API::isAPIRequest());
|
||||
|
||||
if (!$continue && slashes($_SERVER['SCRIPT_FILENAME']) != slashes(DOCROOT.'/index.php')) {
|
||||
redirect(ROOTDIR.'/index.php?op=logout');
|
||||
exit();
|
||||
|
|
|
@ -17,10 +17,7 @@ if (Auth::check()) {
|
|||
</footer>
|
||||
|
||||
<div class="modal fade" id="bs-popup" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false"></div>
|
||||
<div class="modal fade" id="bs-popup2" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false"></div>
|
||||
<a href="#" id="back-to-top">
|
||||
<span><i class="fa fa-2x fa-chevron-up"></i></span>
|
||||
</a>';
|
||||
<div class="modal fade" id="bs-popup2" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false"></div>';
|
||||
}
|
||||
echo '
|
||||
</div><!-- ./wrapper -->';
|
||||
|
|
|
@ -49,16 +49,13 @@ if (post('db_host') !== null) {
|
|||
$db_name = str_replace('_', '\_', $db_name);
|
||||
$db_username = str_replace('_', '\_', $db_name);
|
||||
|
||||
$user = " TO '".$db_username."'";
|
||||
$db = ' ON `'.$db_name.'`.*';
|
||||
|
||||
$results = $dbo->fetchArray('SHOW GRANTS FOR CURRENT_USER');
|
||||
foreach ($results as $result) {
|
||||
if (
|
||||
str_contains($result, $find) &&
|
||||
(
|
||||
str_contains($result, $db) ||
|
||||
str_contains($result, str_replace('`'.$db_name.'`', '*', $db))
|
||||
str_contains($result, ' ON `'.$db_name.'`.*') ||
|
||||
str_contains($result, ' ON *.*')
|
||||
)
|
||||
) {
|
||||
$pieces = explode(', ', explode(' ON ', str_replace('GRANT ', '', current($result)))[0]);
|
||||
|
|
|
@ -123,7 +123,7 @@ echo '
|
|||
|
||||
</head>
|
||||
|
||||
<body class="skin-'.$theme.' fixed'.(!empty(get_var('Nascondere la barra sinistra di default')) ? ' sidebar-collapse' : '').(!Auth::check() ? ' hold-transition login-page' : '').'">
|
||||
<body class="skin-'.$theme.(!empty(get_var('Nascondere la barra sinistra di default')) ? ' sidebar-collapse' : '').(!Auth::check() ? ' hold-transition login-page' : '').'">
|
||||
<div class="wrapper">';
|
||||
|
||||
if (Auth::check()) {
|
||||
|
|
|
@ -185,11 +185,15 @@ class Auth extends \Util\Singleton
|
|||
{
|
||||
$database = Database::getConnection();
|
||||
|
||||
$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');
|
||||
if (!empty($results)) {
|
||||
$results[0]['is_admin'] = ($results[0]['gruppo'] == 'Amministratori');
|
||||
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');
|
||||
if (!empty($results)) {
|
||||
$results[0]['is_admin'] = ($results[0]['gruppo'] == 'Amministratori');
|
||||
|
||||
$this->infos = $results[0];
|
||||
$this->infos = $results[0];
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
$this->destory();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -290,6 +290,12 @@ class Update
|
|||
|
||||
$database->query('SET foreign_key_checks = 1');
|
||||
}
|
||||
|
||||
// Normalizzazione dell'engine MySQL
|
||||
$engines = $database->fetchArray('SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '.prepare($database_name)." AND ENGINE != 'InnoDB'");
|
||||
foreach ($engines as $engine) {
|
||||
$database->query('ALTER TABLE `'.$engine['TABLE_NAME'].'` ENGINE=InnoDB');
|
||||
}
|
||||
}
|
||||
|
||||
protected static function executeScript($script)
|
||||
|
|
|
@ -37,9 +37,6 @@ $(document).ready(function () {
|
|||
// Orologio
|
||||
clock();
|
||||
|
||||
// Pulsante per il ritorno a inizio pagina
|
||||
backToTop();
|
||||
|
||||
// Richiamo alla generazione di Datatables
|
||||
start_datatables();
|
||||
|
||||
|
@ -217,18 +214,10 @@ $(document).ready(function () {
|
|||
i++;
|
||||
tops = 60 * i + 95;
|
||||
|
||||
$(this).css({
|
||||
'position': 'fixed',
|
||||
'z-index': 3,
|
||||
'top': -100,
|
||||
'right': 10,
|
||||
'opacity': 1
|
||||
}).delay(1000).animate({
|
||||
$(this).delay(1000).animate({
|
||||
'top': tops,
|
||||
'opacity': 1
|
||||
}).delay(3000).animate({
|
||||
'top': -100,
|
||||
'opacity': 0
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -514,6 +503,9 @@ function start_datatables() {
|
|||
width: '1%',
|
||||
className: 'select-checkbox',
|
||||
targets: 0
|
||||
}, {
|
||||
'max-width': '20%',
|
||||
targets: '_all'
|
||||
}],
|
||||
select: {
|
||||
style: 'multi',
|
||||
|
@ -593,7 +585,6 @@ function start_datatables() {
|
|||
});
|
||||
|
||||
$('.deleteicon').on("click", function (e) {
|
||||
console.log("afsfasfsa");
|
||||
reset($(this).parent().attr("id").replace("th_", ""));
|
||||
api.page.len(200).draw();
|
||||
});
|
||||
|
@ -1062,40 +1053,6 @@ function update_counter(id, new_value) {
|
|||
}
|
||||
}
|
||||
|
||||
function backToTop() {
|
||||
// browser window scroll (in pixels) after which the "back to top" link is shown
|
||||
var offset = 10,
|
||||
|
||||
// browser window scroll (in pixels) after which the "back to top" link opacity is reduced
|
||||
offset_opacity = 100,
|
||||
|
||||
// duration of the top scrolling animation (in ms)
|
||||
scroll_top_duration = 700,
|
||||
|
||||
// grab the "back to top" link
|
||||
back_to_top = $('#back-to-top');
|
||||
|
||||
// hide or show the "back to top" link
|
||||
$('.wrapper').scroll(function () {
|
||||
if ($(this).scrollTop() > offset) {
|
||||
back_to_top.addClass('cd-is-visible');
|
||||
if ($(this).scrollTop() > offset_opacity) {
|
||||
back_to_top.addClass('cd-fade-out');
|
||||
}
|
||||
} else {
|
||||
back_to_top.removeClass('cd-is-visible cd-fade-out');
|
||||
}
|
||||
});
|
||||
|
||||
// smooth scroll to top
|
||||
back_to_top.on('click', function (event) {
|
||||
event.preventDefault();
|
||||
$('.wrapper').animate({
|
||||
scrollTop: 0,
|
||||
}, scroll_top_duration);
|
||||
});
|
||||
}
|
||||
|
||||
Number.prototype.formatMoney = function (c, d, t) {
|
||||
var n = this,
|
||||
c = isNaN(c = Math.abs(c)) ? 2 : c,
|
||||
|
@ -1108,12 +1065,6 @@ Number.prototype.formatMoney = function (c, d, t) {
|
|||
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
|
||||
}
|
||||
|
||||
function force_decimal(n) {
|
||||
n = n.replace(":", ".");
|
||||
n = n.replace(",", ".");
|
||||
return parseFloat(n);
|
||||
}
|
||||
|
||||
function equalHeight(selector) {
|
||||
$(selector).css("min-height", 0);
|
||||
|
||||
|
|
|
@ -39,7 +39,6 @@ switch (get('op')) {
|
|||
"borderColor":"'.$color.'",
|
||||
"allDay": false
|
||||
}';
|
||||
//echo "\"tip\":\"".html_entity_decode($tooltip_text)."\",";
|
||||
}
|
||||
echo '['.implode(',', $results).']';
|
||||
|
||||
|
|
|
@ -445,12 +445,20 @@ if (get_var('Abilitare orario lavorativo') == '1') {
|
|||
maxTime: '20:00:00',";
|
||||
}
|
||||
?>
|
||||
selectable: true,
|
||||
selectable: true,
|
||||
lazyFetching: true,
|
||||
selectHelper: true,
|
||||
editable: true,
|
||||
eventLimit: false, // allow "more" link when too many events
|
||||
allDaySlot: false,
|
||||
droppable: true,
|
||||
loading: function(isLoading, view) {
|
||||
if(isLoading) {
|
||||
setTimeout("$('#mini-loader').show()", 1000);
|
||||
} else {
|
||||
setTimeout("$('#mini-loader').hide()", 1000);
|
||||
}
|
||||
},
|
||||
drop: function(date, jsEvent, ui, resourceId) {
|
||||
data = moment(date).format("YYYY-MM-DD");
|
||||
ora_dal = moment(date).format("HH:mm");
|
||||
|
@ -487,7 +495,7 @@ if (get_var('Abilitare orario lavorativo') == '1') {
|
|||
},
|
||||
events: {
|
||||
url: globals.rootdir + "/modules/dashboard/ajaxreq.php?op=get_current_month",
|
||||
type: 'GET',
|
||||
type: 'GET',
|
||||
error: function() {
|
||||
alert('<?php echo _('Errore durante la creazione degli eventi'); ?>');
|
||||
}
|
||||
|
@ -522,7 +530,7 @@ if (get_var('Abilitare orario lavorativo') == '1') {
|
|||
}
|
||||
});
|
||||
},
|
||||
eventAfterRender : function(event, element) {
|
||||
eventAfterRender: function(event, element) {
|
||||
//alert(element.find('.fc-event-title').html();
|
||||
element.find('.fc-title').html(event.title);
|
||||
<?php if (get_var('Utilizzare i tooltip sul calendario') == '1') {
|
||||
|
|
|
@ -224,6 +224,9 @@ switch (post('op')) {
|
|||
$numero_esterno = '';
|
||||
}
|
||||
|
||||
// Duplicazione righe
|
||||
$righe = $dbo->fetchArray('SELECT * FROM co_righe_documenti WHERE iddocumento='.prepare($id_record));
|
||||
|
||||
// Lettura dati fattura attuale
|
||||
$rs = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record));
|
||||
|
||||
|
@ -231,17 +234,17 @@ switch (post('op')) {
|
|||
$dbo->query('INSERT INTO co_documenti(numero, numero_esterno, data, idanagrafica, idcausalet, idspedizione, idporto, idaspettobeni, idvettore, n_colli, idsede, idtipodocumento, idstatodocumento, idpagamento, idconto, idrivalsainps, idritenutaacconto, rivalsainps, iva_rivalsainps, ritenutaacconto, bollo, note, note_aggiuntive, buono_ordine) VALUES('.prepare($numero).', '.prepare($numero_esterno).', '.prepare($rs[0]['data']).', '.prepare($rs[0]['idanagrafica']).', '.prepare($rs[0]['idcausalet']).', '.prepare($rs[0]['idspedizione']).', '.prepare($rs[0]['idporto']).', '.prepare($rs[0]['idaspettobeni']).', '.prepare($rs[0]['idvettore']).', '.prepare($rs[0]['n_colli']).', '.prepare($rs[0]['idsede']).', '.prepare($rs[0]['idtipodocumento']).', (SELECT id FROM co_statidocumento WHERE descrizione=\'Bozza\'), '.prepare($rs[0]['idpagamento']).', '.prepare($rs[0]['idconto']).', '.prepare($rs[0]['idrivalsainps']).', '.prepare($rs[0]['idritenutaacconto']).', '.prepare($rs[0]['rivalsainps']).', '.prepare($rs[0]['iva_rivalsainps']).', '.prepare($rs[0]['ritenutaacconto']).', '.prepare($rs[0]['bollo']).', '.prepare($rs[0]['note']).', '.prepare($rs[0]['note_aggiuntive']).', '.prepare($rs[0]['buono_ordine']).')');
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
|
||||
// Duplicazione righe
|
||||
$rs = $dbo->fetchArray('SELECT * FROM co_righe_documenti WHERE iddocumento='.prepare($id_record));
|
||||
|
||||
for ($i = 0; $i < sizeof($rs); ++$i) {
|
||||
$dbo->query('INSERT INTO co_righe_documenti(iddocumento, idordine, idddt, idintervento, idarticolo, idpreventivo, idcontratto, idtecnico, idagente, idautomezzo, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, idritenutaacconto, ritenutaacconto, idrivalsainps, rivalsainps, um, qta, lotto, serial, altro, idgruppo, `order`) VALUES('.prepare($id_record).', 0, 0, 0, '.prepare($rs[$i]['idarticolo']).', '.prepare($rs[$i]['idpreventivo']).', '.prepare($rs[$i]['idcontratto']).', '.prepare($rs[$i]['idtecnico']).', '.prepare($rs[$i]['idagente']).', '.prepare($rs[$i]['idautomezzo']).', '.prepare($rs[$i]['idiva']).', '.prepare($rs[$i]['desc_iva']).', '.prepare($rs[$i]['iva']).', '.prepare($rs[$i]['iva_indetraibile']).', '.prepare($rs[$i]['descrizione']).', '.prepare($rs[$i]['subtotale']).', '.prepare($rs[$i]['sconto']).', '.prepare($rs[$i]['idritenutaacconto']).', '.prepare($rs[$i]['ritenutaacconto']).', '.prepare($rs[$i]['idrivalsainps']).', '.prepare($rs[$i]['rivalsainps']).', '.prepare($rs[$i]['um']).', '.prepare($rs[$i]['qta']).', '.prepare($rs[$i]['lotto']).', '.prepare($rs[$i]['serial']).', '.prepare($rs[$i]['altro']).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))');
|
||||
// TODO: sistemare la duplicazione delle righe generiche e degli articoli, ingorando interventi, ddt, ordini, preventivi
|
||||
/*
|
||||
foreach ($righe as $riga) {
|
||||
$dbo->query('INSERT INTO co_righe_documenti(iddocumento, idordine, idddt, idintervento, idarticolo, idpreventivo, idcontratto, idtecnico, idagente, idautomezzo, idiva, desc_iva, iva, iva_indetraibile, descrizione, subtotale, sconto, idritenutaacconto, ritenutaacconto, idrivalsainps, rivalsainps, um, qta, lotto, serial, altro, idgruppo, `order`) VALUES('.prepare($id_record).', 0, 0, 0, '.prepare($riga['idarticolo']).', '.prepare($riga['idpreventivo']).', '.prepare($riga['idcontratto']).', '.prepare($riga['idtecnico']).', '.prepare($riga['idagente']).', '.prepare($riga['idautomezzo']).', '.prepare($riga['idiva']).', '.prepare($riga['desc_iva']).', '.prepare($riga['iva']).', '.prepare($riga['iva_indetraibile']).', '.prepare($riga['descrizione']).', '.prepare($riga['subtotale']).', '.prepare($riga['sconto']).', '.prepare($riga['idritenutaacconto']).', '.prepare($riga['ritenutaacconto']).', '.prepare($riga['idrivalsainps']).', '.prepare($riga['rivalsainps']).', '.prepare($riga['um']).', '.prepare($riga['qta']).', '.prepare($riga['lotto']).', '.prepare($riga['serial']).', '.prepare($riga['altro']).', (SELECT IFNULL(MAX(`idgruppo`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'), (SELECT IFNULL(MAX(`order`) + 1, 0) FROM co_righe_documenti AS t WHERE iddocumento='.prepare($id_record).'))');
|
||||
|
||||
// Scarico/carico nuovamente l'articolo da magazzino
|
||||
if (!empty($rs[$i]['idarticolo'])) {
|
||||
add_articolo_infattura($id_record, $rs[$i]['idarticolo'], $rs[$i]['descrizione'], $rs[$i]['idiva'], $rs[$i]['qta'], $rs[$i]['subtotale'], 0, 0, 0);
|
||||
if (!empty($riga['idarticolo'])) {
|
||||
add_articolo_infattura($id_record, $riga['idarticolo'], $riga['descrizione'], $riga['idiva'], $riga['qta'], $riga['subtotale'], 0, 0, 0);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
// Ricalcolo inps, ritenuta e bollo (se la fattura non è stata pagata)
|
||||
if ($dir == 'entrata') {
|
||||
|
@ -251,8 +254,6 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
$_SESSION['infos'][] = _('Fattura duplicata correttamente!');
|
||||
|
||||
redirect($rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record);
|
||||
}
|
||||
|
||||
break;
|
||||
|
|
|
@ -8,7 +8,7 @@ $tipodoc = $rs[0]['descrizione'];
|
|||
|
||||
?>
|
||||
<form action="" class="text-right" method="post" id="form-copy">
|
||||
<input type="hidden" name="backto" value="record-list">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="op" value="copy">
|
||||
</form>
|
||||
|
||||
|
|
|
@ -87,11 +87,15 @@ if (get('anteprima') !== null) {
|
|||
var signaturePad = new SignaturePad(canvas);
|
||||
|
||||
function resizeCanvas() {
|
||||
image_data = signaturePad.toDataURL();
|
||||
|
||||
var ratio = Math.max(window.devicePixelRatio || 1, 1);
|
||||
canvas.width = canvas.offsetWidth * ratio;
|
||||
canvas.height = canvas.offsetHeight * ratio;
|
||||
canvas.getContext("2d").scale(ratio, ratio);
|
||||
signaturePad.clear(); // otherwise isEmpty() might return incorrect value
|
||||
signaturePad.clear();
|
||||
|
||||
signaturePad.fromDataURL(image_data);
|
||||
}
|
||||
|
||||
window.addEventListener("resize", resizeCanvas);
|
||||
|
|
|
@ -15,9 +15,13 @@ 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 `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`);
|
||||
|
@ -29,16 +33,27 @@ UPDATE `my_impianti_interventi` SET `idintervento` = (SELECT `id` FROM `in_inter
|
|||
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` = NULL WHERE `idintervento` = 0;
|
||||
UPDATE `co_preventivi_interventi` SET `idintervento` = NULL WHERE `idintervento` = 0;
|
||||
UPDATE `co_righe_contratti` SET `idintervento` = NULL WHERE `idintervento` = 0;
|
||||
UPDATE `co_righe_documenti` SET `idintervento` = NULL WHERE `idintervento` = 0;
|
||||
UPDATE `in_interventi_tecnici` SET `idintervento` = NULL WHERE `idintervento` = 0;
|
||||
UPDATE `in_righe_interventi` SET `idintervento` = NULL WHERE `idintervento` = 0;
|
||||
UPDATE `mg_movimenti` SET `idintervento` = NULL WHERE `idintervento` = 0;
|
||||
UPDATE `my_impianti_interventi` SET `idintervento` = NULL WHERE `idintervento` = 0;
|
||||
UPDATE `my_impianto_componenti` SET `idintervento` = NULL WHERE `idintervento` = 0;
|
||||
UPDATE `my_componenti_interventi` SET `id_intervento` = NULL WHERE `id_intervento` = 0;
|
||||
ALTER TABLE `co_ordiniservizio` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `co_preventivi_interventi` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `co_righe_contratti` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `co_righe_documenti` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `in_interventi_tecnici` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `in_righe_interventi` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `mg_movimenti` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `my_impianti_interventi` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `my_impianto_componenti` CHANGE `idintervento` `idintervento` varchar(25);
|
||||
ALTER TABLE `my_componenti_interventi` CHANGE `id_intervento` `id_intervento` varchar(25);
|
||||
|
||||
UPDATE `co_ordiniservizio` SET `idintervento` = NULL WHERE `idintervento` = 0 OR `idintervento` = '';
|
||||
UPDATE `co_preventivi_interventi` SET `idintervento` = NULL WHERE `idintervento` = 0 OR `idintervento` = '';
|
||||
UPDATE `co_righe_contratti` SET `idintervento` = NULL WHERE `idintervento` = 0 OR `idintervento` = '';
|
||||
UPDATE `co_righe_documenti` SET `idintervento` = NULL WHERE `idintervento` = 0 OR `idintervento` = '';
|
||||
UPDATE `in_interventi_tecnici` SET `idintervento` = NULL WHERE `idintervento` = 0 OR `idintervento` = '';
|
||||
UPDATE `in_righe_interventi` SET `idintervento` = NULL WHERE `idintervento` = 0 OR `idintervento` = '';
|
||||
UPDATE `mg_movimenti` SET `idintervento` = NULL WHERE `idintervento` = 0 OR `idintervento` = '';
|
||||
UPDATE `my_impianti_interventi` SET `idintervento` = NULL WHERE `idintervento` = 0 OR `idintervento` = '';
|
||||
UPDATE `my_impianto_componenti` SET `idintervento` = NULL WHERE `idintervento` = 0 OR `idintervento` = '';
|
||||
UPDATE `my_componenti_interventi` SET `id_intervento` = NULL WHERE `id_intervento` = 0 OR `id_intervento` = '';
|
||||
|
||||
ALTER TABLE `co_ordiniservizio` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `co_preventivi_interventi` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
|
@ -47,13 +62,12 @@ ALTER TABLE `co_righe_documenti` CHANGE `idintervento` `idintervento` int(11), A
|
|||
ALTER TABLE `in_interventi_tecnici` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `in_righe_interventi` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `mg_movimenti` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `my_impianti_interventi` CHANGE `idintervento` `idintervento` int(11);
|
||||
ALTER TABLE `my_impianti_interventi` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `my_impianto_componenti` CHANGE `idintervento` `idintervento` int(11), ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
ALTER TABLE `my_componenti_interventi` CHANGE `id_intervento` `id_intervento` int(11);
|
||||
ALTER TABLE `my_componenti_interventi` CHANGE `id_intervento` `id_intervento` int(11), ADD FOREIGN KEY (`id_intervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE;
|
||||
|
||||
-- Aggiunta di chiavi esterne in my_componenti_interventi
|
||||
ALTER TABLE `my_componenti_interventi` ENGINE = InnoDB;
|
||||
ALTER TABLE `my_componenti_interventi` ADD FOREIGN KEY (`id_intervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE, CHANGE `id_componente` `id_componente` int(11) NOT NULL, ADD FOREIGN KEY (`id_componente`) REFERENCES `my_impianto_componenti`(`id`) ON DELETE CASCADE, ADD PRIMARY KEY (`id_intervento`, `id_componente`);
|
||||
ALTER TABLE `my_componenti_interventi` CHANGE `id_componente` `id_componente` int(11) NOT NULL, ADD FOREIGN KEY (`id_componente`) REFERENCES `my_impianto_componenti`(`id`) ON DELETE CASCADE;
|
||||
|
||||
-- Aggiornamento dei filtri per i gruppo di utenti
|
||||
UPDATE `zz_group_module` SET `clause` = ' AND in_interventi.id IN (SELECT idintervento FROM in_interventi_tecnici WHERE idintervento=in_interventi.id AND idtecnico=|idtecnico|)' WHERE `id` = 1;
|
||||
|
@ -470,9 +484,10 @@ ALTER TABLE `my_impianto_componenti` ADD `idimpianto` int(11);
|
|||
UPDATE `my_impianto_componenti` SET `idimpianto` = (SELECT `id` FROM `my_impianti` WHERE `my_impianti`.`matricola` = `my_impianto_componenti`.`matricola`);
|
||||
ALTER TABLE `my_impianto_componenti` DROP COLUMN `matricola`, ADD FOREIGN KEY (`idimpianto`) REFERENCES `my_impianti`(`id`) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE `my_impianti_interventi` DROP PRIMARY KEY, ADD `idimpianto` int(11);
|
||||
ALTER TABLE `my_impianti_interventi` ADD `idimpianto` int(11);
|
||||
UPDATE `my_impianti_interventi` SET `idimpianto` = (SELECT `id` FROM `my_impianti` WHERE `my_impianti`.`matricola` = `my_impianti_interventi`.`matricola`);
|
||||
ALTER TABLE `my_impianti_interventi` DROP COLUMN `matricola`, ADD FOREIGN KEY (`idimpianto`) REFERENCES `my_impianti`(`id`) ON DELETE CASCADE, ADD FOREIGN KEY (`idintervento`) REFERENCES `in_interventi`(`id`) ON DELETE CASCADE, ADD PRIMARY KEY (`idintervento`, `idimpianto`);
|
||||
DELETE FROM `my_impianti_interventi` WHERE `idimpianto` IS NULL;
|
||||
ALTER TABLE `my_impianti_interventi` DROP COLUMN `matricola`, ADD FOREIGN KEY (`idimpianto`) REFERENCES `my_impianti`(`id`) ON DELETE CASCADE;
|
||||
|
||||
ALTER TABLE `my_impianti_contratti` ADD `idimpianto` int(11), ADD FOREIGN KEY (`idimpianto`) REFERENCES `my_impianti`(`id`) ON DELETE CASCADE;
|
||||
UPDATE `my_impianti_contratti` SET `idimpianto` = (SELECT `id` FROM `my_impianti` WHERE `my_impianti`.`matricola` = `my_impianti_contratti`.`matricola`);
|
||||
|
@ -751,7 +766,7 @@ UPDATE `zz_modules` `t1` INNER JOIN `zz_modules` `t2` ON (`t1`.`name` = 'Movimen
|
|||
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `enabled`, `default`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), 'Articolo', 'IF(mg_articoli.descrizione != \'\', CONCAT(mg_articoli.codice, \'-\', mg_articoli.descrizione), mg_articoli.codice)', 2, 1, 0, 1, 1),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), 'Data', 'data', 5, 1, 0, 1, 1),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), 'Data', 'mg_movimenti.created_at', 5, 1, 0, 1, 1),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), 'Quantità', 'mg_movimenti.qta', 4, 1, 0, 1, 1),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), 'Descrizione', 'movimento', 3, 1, 0, 1, 1),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), 'id', 'mg_movimenti.id', 1, 1, 0, 0, 1),
|
||||
|
@ -937,3 +952,6 @@ ALTER TABLE `co_scadenziario` CHANGE `data_emissione` `data_emissione` date, CHA
|
|||
ALTER TABLE `dt_automezzi_tecnici` CHANGE `data_inizio` `data_inizio` date, CHANGE `data_fine` `data_fine` date;
|
||||
ALTER TABLE `my_impianto_componenti` CHANGE `data` `data` date, CHANGE `data_sostituzione` `data_sostituzione` date;
|
||||
ALTER TABLE `or_righe_ordini` CHANGE `data_evasione` `data_evasione` date;
|
||||
|
||||
-- ALTER TABLE `my_componenti_interventi` ADD PRIMARY KEY (`id_intervento`, `id_componente`);
|
||||
-- ALTER TABLE `my_impianti_interventi` ADD PRIMARY KEY (`idintervento`, `idimpianto`);
|
||||
|
|
Loading…
Reference in New Issue