This commit is contained in:
MatteoPistorello 2021-05-27 17:56:36 +02:00
commit dddfd77ecf
13 changed files with 100 additions and 40 deletions

View File

@ -93,11 +93,15 @@ function initCKEditor(input) {
// Avvio di CKEditor
CKEDITOR.replace(name, {
toolbar: globals.ckeditorToolbar,
toolbar: (input.hasAttribute('use_full_ckeditor')) ? globals.ckeditorToolbar_Full : globals.ckeditorToolbar,
language: globals.locale,
scayt_autoStartup: true,
scayt_sLang: globals.full_locale,
disableNativeSpellChecker: false,
fullPage: (input.hasAttribute('use_full_ckeditor')) ? true : false,
allowedContent: (input.hasAttribute('use_full_ckeditor')) ? true : false,
extraPlugins: 'scayt',
skin: 'moono-lisa',
});
// Gestione di eventi noti

View File

@ -275,8 +275,8 @@ function srcFonts() {
function ckeditor() {
return gulp.src([
config.nodeDirectory + '/ckeditor4-dev/{adapters,lang,skins,plugins,core}/**/*.{js,json,css,png}',
config.nodeDirectory + '/ckeditor4-dev/*.{js,css}',
config.nodeDirectory + '/ckeditor4/{adapters,lang,skins,plugins,core}/**/*.{js,json,css,png}',
config.nodeDirectory + '/ckeditor4/*.{js,css}',
])
.pipe(gulp.dest(config.production + '/' + config.paths.js + '/ckeditor'));
}
@ -346,7 +346,7 @@ function i18n() {
config.nodeDirectory + '/**/{i18n,lang,locale,locales}/*.{js,json}',
config.development + '/' + config.paths.js + '/i18n/**/*.{js,json}',
'!' + config.nodeDirectory + '/**/{src,plugins}/**',
'!' + config.nodeDirectory + '/ckeditor4-dev/**',
'!' + config.nodeDirectory + '/ckeditor4/**',
'!' + config.nodeDirectory + '/summernote/**',
'!' + config.nodeDirectory + '/jquery-ui/**',
])

View File

@ -198,9 +198,25 @@ if (Auth::check()) {
end_date_formatted: "'.Translator::dateToLocale($_SESSION['period_end']).'",
ckeditorToolbar: [
["Undo","Redo","-","Cut","Copy","Paste","PasteText","PasteFromWord","-","Scayt", "-","Link","Unlink","-","Bold","Italic","Underline","Superscript","SpecialChar","HorizontalRule","-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock","-","NumberedList","BulletedList","Outdent","Indent","Blockquote","-","Styles","Format","Image","Table", "TextColor", "BGColor" ],
["Undo","Redo","-","Cut","Copy","Paste","PasteText","PasteFromWord","-","SpellChecker", "Scayt", "-","Link","Unlink","-","Bold","Italic","Underline","Superscript","SpecialChar","HorizontalRule","-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock","-","NumberedList","BulletedList","Outdent","Indent","Blockquote","-","Styles","Format","Image","Table", "TextColor", "BGColor" ],
],
ckeditorToolbar_Full: [
{ name: "document", items : [ "Source" ] },
{ name: "clipboard", items : [ "Cut","Copy","Paste","PasteText","PasteFromWord","-","Undo","Redo" ] },
{ name: "editing", items : [ "Find","Replace","-","SelectAll","-","SpellChecker", "Scayt" ] },
{ name: "forms", items : [ "Form", "Checkbox", "Radio", "TextField", "Textarea", "Select", "Button", "ImageButton",
"HiddenField" ] },
"/",
{ name: "basicstyles", items : [ "Bold","Italic","Underline","Strike","Subscript","Superscript","-","RemoveFormat" ] },
{ name: "paragraph", items : [ "NumberedList","BulletedList","-","Outdent","Indent","-","Blockquote","CreateDiv",
"-","JustifyLeft","JustifyCenter","JustifyRight","JustifyBlock","-","BidiLtr","BidiRtl" ] },
{ name: "links", items : [ "Link","Unlink","Anchor" ] },
{ name: "insert", items : [ "Image","Flash","Table","HorizontalRule","Smiley","SpecialChar","PageBreak","Iframe" ] },
"/",
{ name: "styles", items : [ "Styles","Format","Font","FontSize" ] },
{ name: "colors", items : [ "TextColor","BGColor" ] },
{ name: "tools", items : [ "Maximize", "ShowBlocks","-","About" ] }
],
order_manager_id: "'.($dbo->isInstalled() ? Modules::get('Stato dei servizi')['id'] : '').'",
dataload_page_buffer: '.setting('Lunghezza in pagine del buffer Datatables').',
tempo_attesa_ricerche: '.setting('Tempo di attesa ricerche in secondi').',
@ -273,11 +289,29 @@ if (Auth::check()) {
echo '<script type="text/javascript" charset="utf-8" src="'.App::getPaths()['js'].'/hotkeys-js/hotkeys.min.js"></script>';
echo '
<script>
hotkeys(\'f1\', \'save\', function(event, handler){
hotkeys("f1,f2,f3,f4", function(event, handler) {
switch (handler.key) {
case "f1":
event.preventDefault();
$( "button[data-toggle]" ).first().trigger( "click" );
$("button[data-toggle]").first().trigger("click");
break;
case "f2":
event.preventDefault();
$("#save").first().trigger("click");
break;
case "f3":
event.preventDefault();
$("#print-button_p").first().trigger("click");
break;
case "f4":
event.preventDefault();
$("#email-button_p").first().trigger("click");
break;
default: alert(event);
}
});
hotkeys.setScope(\'save\');
</script>';
}
}

View File

@ -385,12 +385,17 @@ echo '
</div>
<div class="panel-body">
<div class="pull-right">
<a class='btn btn-default btn-details' onclick="$('.extra').removeClass('hide'); $(this).addClass('hide'); $('#dontshowall_dettagli').removeClass('hide');" id='showall_dettagli'><i class='fa fa-square-o'></i> <?php echo tr('Visualizza dettaglio costi'); ?></a>
<a class='btn btn-info btn-details hide' onclick="$('.extra').addClass('hide'); $(this).addClass('hide'); $('#showall_dettagli').removeClass('hide');" id='dontshowall_dettagli'><i class='fa fa-check-square-o'></i> <?php echo tr('Visualizza dettaglio costi'); ?></a>
<?php
if($show_prezzi){
echo "
<div class=\"pull-right\">
<a class='btn btn-default btn-details' onclick=\"$('.extra').removeClass('hide'); $(this).addClass('hide'); $('#dontshowall_dettagli').removeClass('hide');\" id='showall_dettagli'><i class='fa fa-square-o'></i> <?php echo tr('Visualizza dettaglio costi'); ?></a>
<a class='btn btn-info btn-details hide' onclick=\"$('.extra').addClass('hide'); $(this).addClass('hide'); $('#showall_dettagli').removeClass('hide');\" id='dontshowall_dettagli'><i class='fa fa-check-square-o'></i> <?php echo tr('Visualizza dettaglio costi'); ?></a>
</div>
<div class="clearfix"></div>
<br>
<div class=\"clearfix\"></div>
<br>";
}
?>
<div class="row">
<div class="col-md-12" id="tecnici"></div>

View File

@ -94,9 +94,14 @@ echo '
<script>
// Lettura codici da lettore barcode
$(document).unbind("keyup");
$("#modals > div").on( "shown.bs.modal", function(){
$("#modals > div").on( "shown.bs.modal", function(){';
if (setting('Attiva scorciatoie da tastiera')) {
echo 'EnableHotkeys()';
}
echo '
$("#barcode").focus();
});
$(document).on("keyup", function (event) {
if ($(":focus").is("input, textarea")) {
return;
@ -241,22 +246,32 @@ echo '
$("#barcode").focus();
}
}
</script>';
if (setting('Attiva scorciatoie da tastiera')) {
echo '
<script>
hotkeys("f8", "carico", function() {
$("#modals > div #direzione").val(1).change();
});
hotkeys.setScope("carico");
function EnableHotkeys(){
hotkeys("f7,f8,f9,f10", function(event, handler) {
switch (handler.key) {
case "f7":
event.preventDefault();
$("#barcode").focus();
break;
case "f8":
event.preventDefault();
input("causale").set("1");
break;
case "f9":
event.preventDefault();
input("causale").set("2");
break;
case "f10":
event.preventDefault();
input("causale").set("3");
break;
default: alert(event);
}
});
}
hotkeys("f9", "scarico", function() {
$("#modals > div #direzione").val(2).change();
});
hotkeys.setScope("scarico");
</script>';
}
echo '
<div class="hidden" id="info-articolo">

View File

@ -78,7 +78,7 @@ echo '
<div class="row">
<div class="col-md-12">
{[ "type": "ckeditor", "label": "'.tr('Contenuto').'", "name": "content", "value": "$content$" ]}
{[ "type": "ckeditor", "use_full_ckeditor": 1, "label": "'.tr('Contenuto').'", "name": "content", "value": "$content$" ]}
</div>
</div>

View File

@ -178,9 +178,9 @@ function init_calendar(calendar) {
</script>';
// Clienti top
$clienti = $dbo->fetchArray('SELECT SUM(IF(reversed=1, -(co_righe_documenti.subtotale - co_righe_documenti.sconto), (co_righe_documenti.subtotale - co_righe_documenti.sconto))) AS totale, (SELECT COUNT(*) FROM co_documenti WHERE co_documenti.idanagrafica =an_anagrafiche.idanagrafica AND co_documenti.data BETWEEN '.prepare($start).' AND '.prepare($end).") AS qta, an_anagrafiche.idanagrafica, an_anagrafiche.ragione_sociale FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica=co_documenti.idanagrafica WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' GROUP BY an_anagrafiche.idanagrafica ORDER BY SUM(subtotale - co_righe_documenti.sconto) DESC LIMIT 20');
$clienti = $dbo->fetchArray('SELECT SUM(IF(reversed=1, -(co_righe_documenti.subtotale - co_righe_documenti.sconto), (co_righe_documenti.subtotale - co_righe_documenti.sconto))) AS totale, (SELECT COUNT(*) FROM co_documenti WHERE co_documenti.idanagrafica =an_anagrafiche.idanagrafica AND co_documenti.data BETWEEN '.prepare($start).' AND '.prepare($end).") AS qta, an_anagrafiche.idanagrafica, an_anagrafiche.ragione_sociale FROM co_documenti INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica=co_documenti.idanagrafica WHERE co_tipidocumento.dir='entrata' AND (co_statidocumento.descrizione = 'Pagato' OR co_statidocumento.descrizione = 'Parzialmente pagato' OR co_statidocumento.descrizione = 'Emessa' ) AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' GROUP BY an_anagrafiche.idanagrafica ORDER BY SUM(subtotale - co_righe_documenti.sconto) DESC LIMIT 20');
$totale = $dbo->fetchArray("SELECT SUM(IF(reversed=1, -(co_righe_documenti.subtotale - co_righe_documenti.sconto), (co_righe_documenti.subtotale - co_righe_documenti.sconto))) AS totale FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end));
$totale = $dbo->fetchArray("SELECT SUM(IF(reversed=1, -(co_righe_documenti.subtotale - co_righe_documenti.sconto), (co_righe_documenti.subtotale - co_righe_documenti.sconto))) AS totale FROM co_documenti INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id WHERE (co_statidocumento.descrizione = 'Pagato' OR co_statidocumento.descrizione = 'Parzialmente pagato' OR co_statidocumento.descrizione = 'Emessa' ) AND co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end));
echo '
<div class="row">

View File

@ -10,7 +10,7 @@
"bootstrap-daterangepicker": "^2.1.25",
"bootstrap-maxlength": "^1.10.0",
"chart.js": "^2.7.0",
"ckeditor4-dev": "^4.14.1",
"ckeditor4": "ckeditor/ckeditor-releases#full/latest",
"components-jqueryui": "^1.12.1",
"datatables.net-bs": "^1.10.15",
"datatables.net-buttons-bs": "^1.3.1",
@ -21,7 +21,7 @@
"font-awesome": "^4.7.0",
"fullcalendar": "^3.4.0",
"geocomplete": "^1.7.0",
"hotkeys-js": "^3.7.3",
"hotkeys-js": "^3.8.5",
"inputmask": "^3.3.9",
"jquery": "^3.5.1",
"jquery-form": "^4.2.1",

View File

@ -89,7 +89,7 @@ echo '
<!-- PULSANTI -->
<div class="row">
<div class="col-md-12">
<a class="btn btn-danger ask '.(!empty($numero_documenti) ? 'disabled' : '').'" data-backto="record-edit" data-op="delete" data-id_record="'.$record['id'].'" data-id_plugin="'.$id_plugin.'" data-id_parent="'.$id_parent.'" disabled='.(!empty($numero_documenti) ? 1 : 0).'>
<a class="btn btn-danger ask '.(!empty($numero_documenti) ? 'disabled' : '').'" data-backto="record-edit" data-op="delete" data-id_record="'.$record['id'].'" data-id_plugin="'.$id_plugin.'" data-id_parent="'.$id_parent.'" '.(!empty($numero_documenti) ? 'disabled' : '').'>
<i class="fa fa-trash"></i> '.tr('Elimina').'
</a>

View File

@ -154,6 +154,7 @@ switch ($operazione) {
$intervento->idsede_destinazione = $promemoria_corrente->idsede ?: 0;
$intervento->richiesta = $promemoria_corrente->richiesta;
$intervento->idclientefinale = post('idclientefinale') ?: 0;
$intervento->id_contratto = $contratto->id;
$intervento->save();
// Aggiungo i tecnici selezionati

View File

@ -140,7 +140,7 @@ if (!$elenco_promemoria->isEmpty()) {
echo '
<tr>
<td>'.Translator::dateToLocale($promemoria['data_richiesta']).'</td>
<td>'.$promemoria['tipointervento'].'</td>
<td>'.$promemoria->tipo->descrizione.'</td>
<td>'.nl2br($promemoria['richiesta']).'</td>
<td>'.$info_intervento.'</td>
<td>'.$info_sede.'</td>

View File

@ -105,6 +105,7 @@ class Settings
public static function setValue($setting, $value)
{
$setting = self::get($setting);
$value = (is_array($value) ? implode(",",$value) : $value);
// Trasformazioni
// Boolean (checkbox)

View File

@ -21,6 +21,6 @@ $banche = Banca::all();
foreach ($banche as $banca) {
try {
$banca->save();
} catch (\PDOException $e) {
} catch (Exception $e) {
}
}