Migliorie grafiche e bugfix minori
This commit is contained in:
parent
aef44daa1e
commit
c157609191
|
@ -179,9 +179,7 @@ $("#idarticolo").on("change", function() {
|
|||
|
||||
$("#um").selectSetNew($data.um, $data.um);
|
||||
// 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() {
|
||||
|
@ -333,4 +331,7 @@ function aggiornaQtaMinima() {
|
|||
div.removeClass("text-danger").addClass("text-success");
|
||||
}
|
||||
}
|
||||
if (direzione === "entrata") {
|
||||
aggiorna_guadagno();
|
||||
}
|
||||
</script>';
|
||||
|
|
|
@ -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.'">
|
||||
<input type="checkbox" value="'.(!empty($check->checked_at) ? '1' : '0').'" '.(!empty($check->checked_at) ? 'checked' : '').'>
|
||||
|
||||
<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>';
|
||||
<span class="text">'.$check->content.'</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) {
|
||||
$result .= '
|
||||
<span class="handle pull-right">
|
||||
|
@ -37,13 +44,12 @@ function renderChecklist($check, $level = 0)
|
|||
</span>';
|
||||
}
|
||||
|
||||
if (empty($check->user) || $check->user->id == $user->id) {
|
||||
$result .= '
|
||||
<div class="tools">
|
||||
<i class="fa fa-trash-o check-delete"></i>
|
||||
</div>';
|
||||
}
|
||||
|
||||
$result .= '
|
||||
<span class="badge pull-right" style="margin-right:5px">'.(!empty($check->checked_at) ? tr('Verificato da _NAME_ il _DATE_', [
|
||||
'_NAME_' => $check->checkUser->username,
|
||||
'_DATE_' => timestampFormat($check->checked_at),
|
||||
]) : '').'</span>';
|
||||
|
||||
$result .= '
|
||||
<ul class="todo-list">';
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
use Modules\Anagrafiche\Anagrafica;
|
||||
use Modules\Iva\Aliquota;
|
||||
use Modules\Fatture\Gestori\Bollo;
|
||||
|
||||
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$" ]}
|
||||
</div>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
echo '
|
||||
</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="col-md-12">
|
||||
{[ "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>
|
||||
|
||||
<?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') {
|
||||
echo '
|
||||
<div class="box box-info">
|
||||
|
@ -900,5 +887,30 @@ function cambiaStato() {
|
|||
$("#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>';
|
||||
|
|
|
@ -33,16 +33,12 @@ echo '
|
|||
<br>
|
||||
</div>
|
||||
|
||||
<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>';
|
||||
<div class="panel-body">
|
||||
<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>';
|
||||
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>';
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -64,12 +64,13 @@ switch (filter('op')) {
|
|||
|
||||
$modifica_prezzi = filter('modifica_prezzi');
|
||||
if (empty($modifica_prezzi)) {
|
||||
$dbo->query('DELETE FROM mg_prezzi_articoli WHERE id_articolo='.$id_articolo.' AND id_anagrafica='.$id_anagrafica);
|
||||
return;
|
||||
}
|
||||
|
||||
// Salvataggio del prezzo predefinito
|
||||
$prezzo_unitario = filter('prezzo_unitario_fisso');
|
||||
$sconto = filter('sconto_percentuale');
|
||||
$sconto = filter('sconto_fisso');
|
||||
$dettaglio_predefinito = DettaglioPrezzo::dettaglioPredefinito($id_articolo, $id_anagrafica, $direzione)
|
||||
->first();
|
||||
if (empty($dettaglio_predefinito)) {
|
||||
|
@ -82,7 +83,7 @@ switch (filter('op')) {
|
|||
// Salvataggio dei prezzi variabili
|
||||
$prezzo_fisso = filter('prezzo_fisso');
|
||||
$dettagli = DettaglioPrezzo::dettagli($id_articolo, $id_anagrafica, $direzione);
|
||||
if (empty($prezzo_fisso)) {
|
||||
if (!empty($prezzo_fisso)) {
|
||||
$prezzi_unitari = (array) filter('prezzo_unitario');
|
||||
$minimi = filter('minimo');
|
||||
$massimi = filter('massimo');
|
||||
|
|
|
@ -48,9 +48,10 @@ if (!empty($dettaglio_predefinito)) {
|
|||
}
|
||||
|
||||
echo '
|
||||
<p>'.tr('Informazioni relative al '.($direzione=='entrata' ? 'cliente:' : 'fornitore:').'<br><b><big> _NAME_', [
|
||||
'_NAME_' => $anagrafica->ragione_sociale,
|
||||
]).'</big></b></p>
|
||||
<p>'.tr('Informazioni relative al _TIPO_', [
|
||||
'_TIPO_' => $direzione=='entrata' ? 'cliente:' : 'fornitore:' ,
|
||||
]).'
|
||||
<br><b><big>'.$anagrafica->ragione_sociale.'</big></b></p>
|
||||
|
||||
<form action="" method="post">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
@ -63,26 +64,23 @@ echo '
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<p>'.tr('Prezzo predefinito: _TOT_', [
|
||||
'_TOT_' => moneyFormat($prezzo_predefinito),
|
||||
]).'</p>
|
||||
{[ "type": "checkbox", "label": "'.tr("Imposta prezzo per questa anagrafica").'", "name": "modifica_prezzi", "value": "'.intval(!$dettagli->isEmpty() || !empty($dettaglio_predefinito)).'" ]}
|
||||
</div>
|
||||
<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 class="col-md-4">
|
||||
{[ "type": "checkbox", "label": "'.tr("Modifica prezzo per l'anagrafica").'", "name": "modifica_prezzi", "value": "'.intval(!$dettagli->isEmpty() || !empty($dettaglio_predefinito)).'" ]}
|
||||
</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": "%"]}
|
||||
{[ "type": "number", "label": "'.tr('Sconto specifico').'", "name": "sconto_fisso", "value": "'.$dettaglio_predefinito->sconto_percentuale.'", "icon-after": "%"]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -220,18 +218,14 @@ function cambioImpostazioni() {
|
|||
let prezzi_variabili = $("#prezzi");
|
||||
|
||||
if (!modifica_prezzi.get()){
|
||||
prezzo_fisso.disable();
|
||||
prezzo_unitario_fisso.disable();
|
||||
sconto_fisso.disable();
|
||||
$("#imposta_prezzo_qta").hide();
|
||||
$("#info_prezzi").hide();
|
||||
} else {
|
||||
modifica_prezzi.disable();
|
||||
|
||||
prezzo_fisso.enable();
|
||||
prezzo_unitario_fisso.enable();
|
||||
sconto_fisso.enable();
|
||||
$("#imposta_prezzo_qta").show();
|
||||
$("#info_prezzi").show();
|
||||
}
|
||||
|
||||
if (!prezzo_fisso.get()) {
|
||||
if (prezzo_fisso.get() && modifica_prezzi.get()) {
|
||||
prezzi_variabili.removeClass("hidden");
|
||||
} else {
|
||||
prezzi_variabili.addClass("hidden");
|
||||
|
|
|
@ -9,6 +9,17 @@ use Modules\Ordini\Components\Riga as RigaOrdine;
|
|||
use Modules\Preventivi\Components\Articolo as ArticoloPreventivo;
|
||||
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
|
||||
* in quanto veniva calcolato lo sconto ivato erroneamente.
|
||||
|
|
|
@ -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);
|
||||
|
||||
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');
|
Loading…
Reference in New Issue