Migliorie grafiche e bugfix minori

This commit is contained in:
MatteoPistorello 2020-12-02 11:31:52 +01:00
parent aef44daa1e
commit c157609191
8 changed files with 110 additions and 86 deletions

View File

@ -179,9 +179,7 @@ $("#idarticolo").on("change", function() {
$("#um").selectSetNew($data.um, $data.um); $("#um").selectSetNew($data.um, $data.um);
// Aggiornamento automatico di guadagno e margine // Aggiornamento automatico di guadagno e margine
if (direzione === "entrata") {
aggiorna_guadagno();
}
}); });
$(document).on("change", "input[name^=qta], input[name^=prezzo_unitario], input[name^=sconto]", function() { $(document).on("change", "input[name^=qta], input[name^=prezzo_unitario], input[name^=sconto]", function() {
@ -333,4 +331,7 @@ function aggiornaQtaMinima() {
div.removeClass("text-danger").addClass("text-success"); div.removeClass("text-danger").addClass("text-success");
} }
} }
if (direzione === "entrata") {
aggiorna_guadagno();
}
</script>'; </script>';

View File

@ -26,9 +26,16 @@ function renderChecklist($check, $level = 0)
<li id="check_'.$check->id.'" class="check-item'.(!empty($check->checked_at) ? ' done' : '').'" '.(!$enabled ? 'style="opacity: 0.4"' : '').' data-id="'.$check->id.'"> <li id="check_'.$check->id.'" class="check-item'.(!empty($check->checked_at) ? ' done' : '').'" '.(!$enabled ? 'style="opacity: 0.4"' : '').' data-id="'.$check->id.'">
<input type="checkbox" value="'.(!empty($check->checked_at) ? '1' : '0').'" '.(!empty($check->checked_at) ? 'checked' : '').'> <input type="checkbox" value="'.(!empty($check->checked_at) ? '1' : '0').'" '.(!empty($check->checked_at) ? 'checked' : '').'>
<span class="text">'.$check->content.'</span> <span class="text">'.$check->content.'</span>';
<span class="badge pull-right">'.(!empty($check->checked_at) ? 'Verificato da '.$check->checkUser->username.' il '.timestampFormat($check->checked_at) : '').'</span>';
if (empty($check->user) || $check->user->id == $user->id) {
$result .= '
<div class="tools">
<i class="fa fa-trash-o check-delete"></i>
</div>';
}
if ($level == 0) { if ($level == 0) {
$result .= ' $result .= '
<span class="handle pull-right"> <span class="handle pull-right">
@ -37,13 +44,12 @@ function renderChecklist($check, $level = 0)
</span>'; </span>';
} }
if (empty($check->user) || $check->user->id == $user->id) { $result .= '
$result .= ' <span class="badge pull-right" style="margin-right:5px">'.(!empty($check->checked_at) ? tr('Verificato da _NAME_ il _DATE_', [
<div class="tools"> '_NAME_' => $check->checkUser->username,
<i class="fa fa-trash-o check-delete"></i> '_DATE_' => timestampFormat($check->checked_at),
</div>'; ]) : '').'</span>';
}
$result .= ' $result .= '
<ul class="todo-list">'; <ul class="todo-list">';

View File

@ -19,6 +19,7 @@
use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Anagrafica;
use Modules\Iva\Aliquota; use Modules\Iva\Aliquota;
use Modules\Fatture\Gestori\Bollo;
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
@ -355,9 +356,28 @@ elseif ($record['stato'] == 'Bozza') {
{[ "type": "select", "label": "'.tr("Dichiarazione d'intento").'", "name": "id_dichiarazione_intento", "ajax-source": "dichiarazioni_intento", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "value": "$id_dichiarazione_intento$" ]} {[ "type": "select", "label": "'.tr("Dichiarazione d'intento").'", "name": "id_dichiarazione_intento", "ajax-source": "dichiarazioni_intento", "select-options": {"idanagrafica": '.$record['idanagrafica'].'}, "value": "$id_dichiarazione_intento$" ]}
</div>'; </div>';
} }
?> echo '
</div> </div>';
if($dir == 'entrata'){
echo '
<div class="row">
<div class="col-md-3">
{[ "type": "checkbox", "label": "'.tr('Marca da bollo automatica').'", "name": "bollo_automatico", "value": "'.intval(!isset($record['bollo'])).'", "help": "'.tr("Seleziona per impostare automaticamente l'importo della marca da bollo").'. '.tr('Applicata solo se il totale della fattura è maggiore di _MONEY_', [
'_MONEY_' => moneyFormat(setting("Soglia minima per l'applicazione della marca da bollo")),
]).'.", "placeholder": "'.tr('Bollo automatico').'" ]}
</div>
<div class="col-md-3 bollo">
{[ "type": "checkbox", "label": "'.tr('Addebita marca da bollo').'", "name": "addebita_bollo", "value": "$addebita_bollo$" ]}
</div>
<div class="col-md-3 bollo">
{[ "type": "number", "label": "'.tr('Importo marca da bollo').'", "name": "bollo", "value": "$bollo$"]}
</div>
</div>';
$bollo = new Bollo($fattura);
}
?>
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
{[ "type": "textarea", "label": "<?php echo tr('Note'); ?>", "name": "note", "help": "<?php echo tr('Note visibili anche in fattura.'); ?>", "value": "$note$" ]} {[ "type": "textarea", "label": "<?php echo tr('Note'); ?>", "name": "note", "help": "<?php echo tr('Note visibili anche in fattura.'); ?>", "value": "$note$" ]}
@ -373,39 +393,6 @@ elseif ($record['stato'] == 'Bozza') {
</div> </div>
<?php <?php
echo '
<div class="box box-info">
<div class="box-header with-border">
<h3 class="box-title"><i class="fa fa-certificate "></i> '.tr('Marca da bollo').'</h3>
</div>
<div class="box-body">
<div class="row">
<div class="col-md-4">
{[ "type": "checkbox", "label": "'.tr('Addebita marca da bollo').'", "name": "addebita_bollo", "value": "$addebita_bollo$" ]}
</div>
<div class="col-md-4">
{[ "type": "checkbox", "label": "'.tr('Marca da bollo automatica').'", "name": "bollo_automatico", "value": "'.intval(!isset($record['bollo'])).'", "help": "'.tr("Seleziona per impostare automaticamente l'importo della marca da bollo").'. '.tr('Applicata solo se il totale della fattura è maggiore di _MONEY_', [
'_MONEY_' => moneyFormat(setting("Soglia minima per l'applicazione della marca da bollo")),
]).'.", "placeholder": "'.tr('Bollo automatico').'" ]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "'.tr('Importo marca da bollo').'", "name": "bollo", "value": "$bollo$", "disabled": '.intval(!isset($record['bollo'])).' ]}
</div>
<script type="text/javascript">
$(document).ready(function() {
$("#bollo_automatico").click(function() {
$("#bollo").attr("disabled", $(this).is(":checked"));
});
});
</script>
</div>
</div>
</div>';
if ($record['descrizione_tipo'] == 'Fattura accompagnatoria di vendita') { if ($record['descrizione_tipo'] == 'Fattura accompagnatoria di vendita') {
echo ' echo '
<div class="box box-info"> <div class="box box-info">
@ -900,5 +887,30 @@ function cambiaStato() {
$("#idstatodocumento").selectSet('.$record['idstatodocumento'].'); $("#idstatodocumento").selectSet('.$record['idstatodocumento'].');
} }
} }
}';
if($dir=='entrata'){
echo '
function bolloAutomatico() {
let bollo_automatico = input("bollo_automatico");
let addebita_bollo = input("addebita_bollo");
let has_bollo ='.($bollo->getBollo()>0 ? "true" : "false").';
if(bollo_automatico.get()==0){
$(".bollo").show();
input("bollo").enable();
} else if(!has_bollo) {
$(".bollo").hide();
} else {
$(".bollo").show();
input("bollo").disable();
$("#bollo").val('.setting("Importo marca da bollo").');
}
}
$(document).ready(function() {
bolloAutomatico();
});
input("bollo_automatico").change(function () {
bolloAutomatico();
});';
} }
echo '
</script>'; </script>';

View File

@ -33,16 +33,12 @@ echo '
<br> <br>
</div> </div>
<div class="panel-body">'; <div class="panel-body">
echo ' <button type="button" class="btn btn-primary col-md-3" data-toggle="modal" data-title="'.tr('Stampa registro IVA vendite').'" data-href="'.base_path().'/modules/stampe_contabili/stampe_contabili.php?dir=entrata&nome_stampa=Registro IVA&id_record='.$id_record.'" ><i class="fa fa-print fa-2x"></i><br>'.tr('Stampa registro').'<br>'.tr('IVA vendite').'</button>
<button type="button" class="btn btn-primary col-md-3" data-toggle="modal" data-title="'.tr('Stampa registro IVA vendite').'" data-href="'.base_path().'/modules/stampe_contabili/stampe_contabili.php?dir=entrata&nome_stampa=Registro IVA&id_record='.$id_record.'" ><i class="fa fa-print fa-2x"></i><br>'.tr('Stampa registro').'<br>'.tr('IVA vendite').'</button>';
echo ' <button type="button" class="btn btn-primary col-md-3 col-md-push-1" data-toggle="modal" data-title="'.tr('Stampa registro IVA acquisti').'" data-href="'.base_path().'/modules/stampe_contabili/stampe_contabili.php?dir=uscita&nome_stampa=Registro IVA&id_record='.$id_record.'" ><i class="fa fa-print fa-2x"></i><br>'.tr('Stampa registro').'<br>'.tr('IVA acquisti').'</button>
<button type="button" class="btn btn-primary col-md-3 col-md-push-1" data-toggle="modal" data-title="'.tr('Stampa registro IVA acquisti').'" data-href="'.base_path().'/modules/stampe_contabili/stampe_contabili.php?dir=uscita&nome_stampa=Registro IVA&id_record='.$id_record.'" ><i class="fa fa-print fa-2x"></i><br>'.tr('Stampa registro').'<br>'.tr('IVA acquisti').'</button>';
echo '
<button type="button" class="btn btn-primary col-md-4 col-md-push-2" data-toggle="modal" data-title="'.tr('Stampa liquidazione IVA').'" data-href="'.base_path().'/modules/stampe_contabili/stampe_contabili.php?nome_stampa=Liquidazione IVA&id_record='.$id_record.'" ><i class="fa fa-print fa-2x"></i><br>'.tr('Stampa liquidazione').'<br>'.tr('IVA').'</button>';
echo ' <button type="button" class="btn btn-primary col-md-4 col-md-push-2" data-toggle="modal" data-title="'.tr('Stampa liquidazione IVA').'" data-href="'.base_path().'/modules/stampe_contabili/stampe_contabili.php?nome_stampa=Liquidazione IVA&id_record='.$id_record.'" ><i class="fa fa-print fa-2x"></i><br>'.tr('Stampa liquidazione').'<br>'.tr('IVA').'</button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -64,12 +64,13 @@ switch (filter('op')) {
$modifica_prezzi = filter('modifica_prezzi'); $modifica_prezzi = filter('modifica_prezzi');
if (empty($modifica_prezzi)) { if (empty($modifica_prezzi)) {
$dbo->query('DELETE FROM mg_prezzi_articoli WHERE id_articolo='.$id_articolo.' AND id_anagrafica='.$id_anagrafica);
return; return;
} }
// Salvataggio del prezzo predefinito // Salvataggio del prezzo predefinito
$prezzo_unitario = filter('prezzo_unitario_fisso'); $prezzo_unitario = filter('prezzo_unitario_fisso');
$sconto = filter('sconto_percentuale'); $sconto = filter('sconto_fisso');
$dettaglio_predefinito = DettaglioPrezzo::dettaglioPredefinito($id_articolo, $id_anagrafica, $direzione) $dettaglio_predefinito = DettaglioPrezzo::dettaglioPredefinito($id_articolo, $id_anagrafica, $direzione)
->first(); ->first();
if (empty($dettaglio_predefinito)) { if (empty($dettaglio_predefinito)) {
@ -82,7 +83,7 @@ switch (filter('op')) {
// Salvataggio dei prezzi variabili // Salvataggio dei prezzi variabili
$prezzo_fisso = filter('prezzo_fisso'); $prezzo_fisso = filter('prezzo_fisso');
$dettagli = DettaglioPrezzo::dettagli($id_articolo, $id_anagrafica, $direzione); $dettagli = DettaglioPrezzo::dettagli($id_articolo, $id_anagrafica, $direzione);
if (empty($prezzo_fisso)) { if (!empty($prezzo_fisso)) {
$prezzi_unitari = (array) filter('prezzo_unitario'); $prezzi_unitari = (array) filter('prezzo_unitario');
$minimi = filter('minimo'); $minimi = filter('minimo');
$massimi = filter('massimo'); $massimi = filter('massimo');

View File

@ -48,9 +48,10 @@ if (!empty($dettaglio_predefinito)) {
} }
echo ' echo '
<p>'.tr('Informazioni relative al '.($direzione=='entrata' ? 'cliente:' : 'fornitore:').'<br><b><big> _NAME_', [ <p>'.tr('Informazioni relative al _TIPO_', [
'_NAME_' => $anagrafica->ragione_sociale, '_TIPO_' => $direzione=='entrata' ? 'cliente:' : 'fornitore:' ,
]).'</big></b></p> ]).'
<br><b><big>'.$anagrafica->ragione_sociale.'</big></b></p>
<form action="" method="post"> <form action="" method="post">
<input type="hidden" name="backto" value="record-edit"> <input type="hidden" name="backto" value="record-edit">
@ -63,26 +64,23 @@ echo '
<div class="row"> <div class="row">
<div class="col-md-4"> <div class="col-md-4">
<p>'.tr('Prezzo predefinito: _TOT_', [ {[ "type": "checkbox", "label": "'.tr("Imposta prezzo per questa anagrafica").'", "name": "modifica_prezzi", "value": "'.intval(!$dettagli->isEmpty() || !empty($dettaglio_predefinito)).'" ]}
'_TOT_' => moneyFormat($prezzo_predefinito), </div>
]).'</p> <div id="imposta_prezzo_qta" class="col-md-4">
{[ "type": "checkbox", "label": "'.tr('Imposta un prezzo in base alla quantità').'", "name": "prezzo_fisso", "value": "'.intval($dettagli->count() != 0).'" ]}
</div>
</div>
<div id="info_prezzi" class="row">
<div class="col-md-4">
{[ "type": "number", "label": "'.tr('Prezzo predefinito').'", "name": "prezzo_predefinito", "value": "'.$prezzo_predefinito.'", "disabled":"1"]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "'.tr('Prezzo specifico').'", "name": "prezzo_unitario_fisso", "value": "'.($prezzi_ivati ? $dettaglio_predefinito->prezzo_unitario_ivato : $dettaglio_predefinito->prezzo_unitario).'", "icon-after": "'.currency().'", "help": "'.($prezzi_ivati ? tr('Importo IVA inclusa') : '').'" ]}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{[ "type": "checkbox", "label": "'.tr("Modifica prezzo per l'anagrafica").'", "name": "modifica_prezzi", "value": "'.intval(!$dettagli->isEmpty() || !empty($dettaglio_predefinito)).'" ]} {[ "type": "number", "label": "'.tr('Sconto specifico').'", "name": "sconto_fisso", "value": "'.$dettaglio_predefinito->sconto_percentuale.'", "icon-after": "%"]}
</div>
<div class="col-md-4">
{[ "type": "checkbox", "label": "'.tr('Imposta un prezzo unitario fisso').'", "name": "prezzo_fisso", "value": "'.intval($dettagli->count() == 0).'" ]}
</div>
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "number", "label": "'.tr('Prezzo '.($direzione=='entrata' ? 'al cliente' : 'dal fornitore')).'", "name": "prezzo_unitario_fisso", "value": "'.($prezzi_ivati ? $dettaglio_predefinito->prezzo_unitario_ivato : $dettaglio_predefinito->prezzo_unitario).'", "icon-after": "'.currency().'", "help": "'.($prezzi_ivati ? tr('Importo IVA inclusa') : '').'" ]}
</div>
<div class="col-md-6">
{[ "type": "number", "label": "'.tr('Sconto '.($direzione=='entrata' ? 'al cliente' : 'dal fornitore')).'", "name": "sconto_percentuale", "value": "'.$dettaglio_predefinito->sconto_percentuale.'", "icon-after": "%"]}
</div> </div>
</div> </div>
@ -220,18 +218,14 @@ function cambioImpostazioni() {
let prezzi_variabili = $("#prezzi"); let prezzi_variabili = $("#prezzi");
if (!modifica_prezzi.get()){ if (!modifica_prezzi.get()){
prezzo_fisso.disable(); $("#imposta_prezzo_qta").hide();
prezzo_unitario_fisso.disable(); $("#info_prezzi").hide();
sconto_fisso.disable();
} else { } else {
modifica_prezzi.disable(); $("#imposta_prezzo_qta").show();
$("#info_prezzi").show();
prezzo_fisso.enable();
prezzo_unitario_fisso.enable();
sconto_fisso.enable();
} }
if (!prezzo_fisso.get()) { if (prezzo_fisso.get() && modifica_prezzi.get()) {
prezzi_variabili.removeClass("hidden"); prezzi_variabili.removeClass("hidden");
} else { } else {
prezzi_variabili.addClass("hidden"); prezzi_variabili.addClass("hidden");

View File

@ -9,6 +9,17 @@ use Modules\Ordini\Components\Riga as RigaOrdine;
use Modules\Preventivi\Components\Articolo as ArticoloPreventivo; use Modules\Preventivi\Components\Articolo as ArticoloPreventivo;
use Modules\Preventivi\Components\Riga as RigaPreventivo; use Modules\Preventivi\Components\Riga as RigaPreventivo;
// File e cartelle deprecate
$files = [
'modules/listini',
];
foreach ($files as $key => $value) {
$files[$key] = realpath(base_dir().'/'.$value);
}
delete($files);
/** /**
* Procedura per aggiustare alcuni campi di sconto ivato nei documenti prima della fattura * Procedura per aggiustare alcuni campi di sconto ivato nei documenti prima della fattura
* in quanto veniva calcolato lo sconto ivato erroneamente. * in quanto veniva calcolato lo sconto ivato erroneamente.

View File

@ -109,3 +109,6 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `format
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 'Tecnici assegnati', 'GROUP_CONCAT((SELECT DISTINCT(ragione_sociale) FROM an_anagrafiche WHERE idanagrafica = in_interventi_tecnici_assegnati.id_tecnico) SEPARATOR '', '')', 14, 1, 0, 1, 1); ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 'Tecnici assegnati', 'GROUP_CONCAT((SELECT DISTINCT(ragione_sociale) FROM an_anagrafiche WHERE idanagrafica = in_interventi_tecnici_assegnati.id_tecnico) SEPARATOR '', '')', 14, 1, 0, 1, 1);
UPDATE `zz_views` SET `default` = 1 WHERE `zz_views`.`id_module` = (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name` = 'Interventi') AND (`zz_views`.`name` = 'Tecnici' OR `zz_views`.`name` = 'Rif. fattura'); UPDATE `zz_views` SET `default` = 1 WHERE `zz_views`.`id_module` = (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name` = 'Interventi') AND (`zz_views`.`name` = 'Tecnici' OR `zz_views`.`name` = 'Rif. fattura');
-- Modifica directory Piani di sconto/rincaro
UPDATE `zz_modules` SET `directory` = 'piano_sconto' WHERE `zz_modules`.`id` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Piani di sconto/rincaro');