Compare commits
11 Commits
b3c4fff620
...
00e7364950
Author | SHA1 | Date |
---|---|---|
Luca | 00e7364950 | |
FabioL | c2a740920c | |
FabioL | e2873c30f0 | |
FabioL | abda0b2265 | |
Luca | 18adb9e379 | |
Luca | 9b745228c6 | |
Luca | 967b57999d | |
Luca | bf3a0a22ea | |
Luca | 3c013380df | |
Pek5892 | 22960059f2 | |
Pek5892 | 0036e53a1d |
|
@ -1162,23 +1162,13 @@ kbd{
|
|||
background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(229,229,229,1) 34%, rgba(204,204,204,1) 100%);
|
||||
}
|
||||
|
||||
.legend {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
.legend > .icon{
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
.icon{
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
line-height: 30px;
|
||||
border-radius: 18px;
|
||||
float: left;
|
||||
margin-right: 6px;
|
||||
margin-bottom: 4px;
|
||||
box-shadow: 0px 0px 3px #0000006c;
|
||||
}
|
||||
|
||||
.legend > .text{
|
||||
float: left;
|
||||
border-radius: 15px;
|
||||
margin-top: 3px;
|
||||
box-shadow: 0px 0px 1px black;
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
|
|
|
@ -11,16 +11,10 @@ $fields = [
|
|||
'Targa' => 'targa',
|
||||
];
|
||||
|
||||
$query = 'SELECT *';
|
||||
$query = 'SELECT * FROM an_sedi WHERE 1=0 ';
|
||||
|
||||
foreach ($fields as $name => $value) {
|
||||
$query .= ', '.$value." AS '".str_replace("'", "\'", $name)."'";
|
||||
}
|
||||
|
||||
$query .= ' FROM dt_automezzi WHERE 1=0 ';
|
||||
|
||||
foreach ($fields as $name => $value) {
|
||||
$query .= ' OR '.$value.' LIKE "%'.$term.'%"';
|
||||
$query .= ' OR '.$value.' LIKE '.prepare('%'.$term.'%');
|
||||
}
|
||||
|
||||
$query .= Modules::getAdditionalsQuery('Automezzi');
|
||||
|
@ -32,7 +26,7 @@ foreach ($rs as $r) {
|
|||
|
||||
$result['link'] = ROOTDIR.'/editor.php?id_module='.$link_id.'&id_record='.$r['id'];
|
||||
$result['title'] = $r['nome'];
|
||||
$result['category'] = 'Automezzi';
|
||||
$result['category'] = tr('Automezzi');
|
||||
|
||||
// Campi da evidenziare
|
||||
$result['labels'] = [];
|
||||
|
|
|
@ -109,7 +109,7 @@ foreach ($stati_intervento as $stato) {
|
|||
<li>
|
||||
<input type="checkbox" id="stato_'.$stato['id'].'" class="dashboard_stato" value="'.$stato['id'].'" '.$attr.'>
|
||||
<label for="stato_'.$stato['id'].'">
|
||||
'.$stato['descrizione'].'<span style="position:relative;right:-7px;bottom:-3px;width:15px;height:15px;display:inline-block;border-radius:50%;background-color:'.$stato['colore'].';"></span>
|
||||
'.$stato['descrizione']. ' <span class="icon pull-right" style="background-color:'.$stato['colore'].';"></span>
|
||||
</label>
|
||||
</li>';
|
||||
}
|
||||
|
@ -182,7 +182,7 @@ foreach ($tecnici_disponibili as $tecnico) {
|
|||
<li>
|
||||
<input type="checkbox" id="tecnico_'.$tecnico['id'].'" class="dashboard_tecnico" value="'.$tecnico['id'].'" '.$attr.'>
|
||||
<label for="tecnico_'.$tecnico['id'].'">
|
||||
'.$tecnico['ragione_sociale'].'<span style="position:relative;right:-7px;bottom:-3px;width:15px;height:15px;display:inline-block;border-radius:50%;background-color:'.$tecnico['colore'].';"></span>
|
||||
'.$tecnico['ragione_sociale']. ' <span class="icon pull-right" style="background-color:'.$tecnico['colore'].';"></span>
|
||||
</label>
|
||||
</li>';
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ foreach ($fields as $name => $value) {
|
|||
$query .= ', '.$value." AS '".str_replace("'", "\'", $name)."'";
|
||||
}
|
||||
|
||||
$query .= ' FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt`=`dt_tipiddt`.`id` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id`= `dt_tipiddt_lang` = `id_record` AND `dt_tipiddt_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `idanagrafica` IN('.implode(',', $idanagrafiche).') ';
|
||||
$query .= ' FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt`=`dt_tipiddt`.`id` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id`= `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `idanagrafica` IN('.implode(',', $idanagrafiche).') ';
|
||||
|
||||
foreach ($fields as $name => $value) {
|
||||
$query .= ' OR '.$value.' LIKE "%'.$term.'%"';
|
||||
|
|
|
@ -62,10 +62,10 @@ include_once __DIR__.'/../../core.php';
|
|||
foreach ($rs_stati as $stato) {
|
||||
?>
|
||||
<div class="col-md-4">
|
||||
<label><?php echo $stato['name']; ?></label>
|
||||
<label><?php echo $stato['title']; ?></label>
|
||||
<div class="material-switch">
|
||||
<input id="<?php echo $stato['name']; ?>" name="<?php echo $stato['name']; ?>" type="checkbox" checked/>
|
||||
<label for="<?php echo $stato['name']; ?>" class="label-success"></label>
|
||||
<input id="<?php echo $stato['title']; ?>" name="<?php echo $stato['title']; ?>" type="checkbox" checked/>
|
||||
<label for="<?php echo $stato['title']; ?>" class="label-success"></label>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
|
|
@ -33,7 +33,7 @@ function duplicaOrdine() {
|
|||
|
||||
$stati = $dbo->fetchArray('SELECT `title` FROM `or_statiordine` LEFT JOIN `or_statiordine_lang` ON (`or_statiordine`.`id`=`or_statiordine_lang`.`id_record` AND `or_statiordine_lang`.`id_lang`= '.prepare(Models\Locale::getDefault()->id).') WHERE `is_fatturabile` = 1');
|
||||
foreach ($stati as $stato) {
|
||||
$stati_importabili[] = $stato['name'];
|
||||
$stati_importabili[] = $stato['title'];
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -38,7 +38,7 @@ if (get('documento') == 'fattura') {
|
|||
$op = 'add_ordine_cliente';
|
||||
$tipo_documento_finale = Ordine::class;
|
||||
} elseif (get('documento') == 'intervento') {
|
||||
$final_module = 'Interventi';
|
||||
$final_module = 'Attività';
|
||||
$op = $module->getTranslation('title', Models\Locale::getPredefined()->id) == 'Ordini cliente' ? 'add_documento' : 'add_intervento';
|
||||
$tipo_documento_finale = Intervento::class;
|
||||
} else {
|
||||
|
|
|
@ -246,7 +246,7 @@ if (!empty($id_records) && get('origine') == 'fatture' && !empty($counter)) {
|
|||
$descrizione_stati = [];
|
||||
$stati = $database->fetchArray("SELECT * FROM `co_statidocumento` LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '".prepare(Models\Locale::getDefault()->id)."') WHERE `title` IN ('Emessa', 'Parzialmente pagato', 'Pagato') ORDER BY `title`");
|
||||
foreach ($stati as $stato) {
|
||||
$descrizione_stati[] = '<i class="'.$stato['icona'].'"></i> <small>'.$stato['name'].'</small>';
|
||||
$descrizione_stati[] = '<i class="'.$stato['icona'].'"></i> <small>'.$stato['title'].'</small>';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
<?php
|
||||
|
||||
echo '
|
||||
<div class="pull-left">
|
||||
<h5>'.tr('Legenda').':</h5>
|
||||
<div class=" pull-left">
|
||||
<h5>'.tr('Legenda'). ':</h5>
|
||||
|
||||
<div class="legend">
|
||||
<div class="icon" style="background-color:#CCFFCC;"></div>
|
||||
<div class="text">Scadenza pagata</div>
|
||||
<div class="col-md-6">
|
||||
<span class="pull-left icon" style="background-color:#CCFFCC;"></span>
|
||||
<span class="text"> '.tr('Scadenza pagata'). '</span>
|
||||
</div>
|
||||
<div class="legend">
|
||||
<div class="icon" style="background-color:#ec5353;"></div>
|
||||
<div class="text">Data concordata superata</div>
|
||||
<div class="col-md-6">
|
||||
<span class="pull-left icon" style="background-color:#ec5353;"></span>
|
||||
<span class="text"> ' . tr('Data concordata superata') . '</span>
|
||||
</div>
|
||||
<div class="legend">
|
||||
<div class="icon" style="background-color:#b3d2e3;"></div>
|
||||
<div class="text">Data concordata</div>
|
||||
<div class="col-md-6">
|
||||
<span class="pull-left icon" style="background-color:#b3d2e3;"></span>
|
||||
<span class="text"> ' . tr('Data concordata') . '</span>
|
||||
</div>
|
||||
<div class="legend">
|
||||
<div class="icon" style="background-color:#f08080;"></div>
|
||||
<div class="text">Scaduta</div>
|
||||
<div class="col-md-6">
|
||||
<span class="pull-left icon" style="background-color:#f08080;"></span>
|
||||
<span class="text"> ' . tr('Scaduta') . '</span>
|
||||
</div>
|
||||
<div class="legend">
|
||||
<div class="icon" style="background-color:#f9f9c6;"></div>
|
||||
<div class="text">Scadenza entro 10 giorni</div>
|
||||
<div class="col-md-6">
|
||||
<span class="pull-left icon" style="background-color:#f9f9c6;"></span>
|
||||
<span class="text"> ' . tr('Scadenza entro 10 giorni') . '</span>
|
||||
</div>
|
||||
<div class="legend">
|
||||
<div class="icon" style="background-color:#ffffff;"></div>
|
||||
<div class="text">Scadenza futura</div>
|
||||
<div class="col-md-6">
|
||||
<span class="pull-left icon" style="background-color:#ffffff;"></span>
|
||||
<span class="text"> Scadenza futura</span>
|
||||
</div>
|
||||
</div>';
|
|
@ -55,7 +55,7 @@ $id_files = $dbo->select('zz_files_print', 'id_file', [], ['id_print' => $id_rec
|
|||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('File da accodare'); ?>", "name": "id_files[]", "value": "<?php echo implode(',', array_column($id_files, 'id_file')); ?>", "ajax-source": "allegati", "select-options": <?php echo json_encode(['id_module' => $id_module, 'id_record' => $id_record]); ?>, "link": "allegato" ]}
|
||||
{[ "type": "select", "multiple": "1", "label": "<?php echo tr('File da accodare'); ?>", "name": "id_files[]", "value": "<?php echo implode(',', array_column($id_files, 'id_file')); ?>", "help": "<?php echo tr('I file selezionati saranno accodati in fase di generazione della stampa'); ?>", "ajax-source": "allegati", "select-options": <?php echo json_encode(['id_module' => $id_module, 'id_record' => $id_record]); ?>, "link": "allegato" ]}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -93,5 +93,5 @@ if (setting('Attiva notifica di presenza utenti sul record')) {
|
|||
</tbody>
|
||||
</table>';
|
||||
} else {
|
||||
echo '<span>Non è possibile monitorare la presenta degli utenti.</span>';
|
||||
echo '<span>'.tr('Non è possibile monitorare la presenta degli utenti, attiva l\'impostazione di notifica di presenza utenti sul record').'.</span>';
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ $(document).ready(function() {
|
|||
url: globals.rootdir + "/actions.php",
|
||||
type: "get",
|
||||
data: {
|
||||
id_module: '.$id_module.',
|
||||
id_module: '.$id_module. ',
|
||||
op: "sizes",
|
||||
},
|
||||
success: function(data) {
|
||||
|
@ -90,17 +90,16 @@ function crea_grafico(values){
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$labels.push(element.description + " (" + element.formattedSize + ")" + " [" + element.count + "]" )
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
options = {
|
||||
responsive: true,
|
||||
maintainAspectRatio: false,
|
||||
legend: {
|
||||
display: true,
|
||||
position: "right"
|
||||
position: "right",
|
||||
},
|
||||
animation:{
|
||||
animateScale: true,
|
||||
|
@ -164,6 +163,6 @@ function crea_grafico(values){
|
|||
}
|
||||
</script>
|
||||
<div id="message" class="pull-right"></div>
|
||||
<div class="chart-container" style="width:35em;">
|
||||
<div class="chart-container">
|
||||
<canvas id="chart"></canvas>
|
||||
</div>';
|
||||
|
|
|
@ -653,8 +653,6 @@ class Prints
|
|||
|
||||
// Footer per l'ultima pagina
|
||||
if (!empty($options['last-page-footer'])) {
|
||||
$is_last_page = true;
|
||||
|
||||
// Generazione dei contenuti del footer
|
||||
ob_start();
|
||||
$print_footer = self::filepath($id_print, 'footer.php');
|
||||
|
|
|
@ -24,8 +24,20 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||
|
||||
// Righe documento
|
||||
$righe = $documento->getRighe();
|
||||
|
||||
$has_image = $righe->search(fn ($item) => !empty($item->articolo->immagine)) !== false && $options['images'] == true;
|
||||
|
||||
$columns = $options['no-iva'] ? 5 : 6;
|
||||
$columns = $options['pricing'] ? $columns : 3;
|
||||
|
||||
if ($has_image) {
|
||||
++$columns;
|
||||
}
|
||||
|
||||
// Creazione righe fantasma
|
||||
$autofill = new Util\Autofill($options['pricing'] ? 4 : 2);
|
||||
$autofill = new Util\Autofill($columns);
|
||||
$autofill->setRows(20, 10);
|
||||
|
||||
echo '
|
||||
|
@ -111,13 +123,26 @@ echo "
|
|||
<table class='table table-striped table-bordered' id='contents'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='text-center' width='35' >#</th>";
|
||||
|
||||
if ($has_image) {
|
||||
echo "
|
||||
<th class='text-center' width='95' >Foto</th>";
|
||||
}
|
||||
|
||||
echo "
|
||||
<th class='text-center' style='width:50%'>".tr('Descrizione', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:10%'>".tr('Q.tà', [], ['upper' => true]).'</th>';
|
||||
|
||||
if ($options['pricing']) {
|
||||
echo "
|
||||
<th class='text-center' style='width:20%'>".tr('Prezzo unitario', [], ['upper' => true])."</th>
|
||||
<th class='text-center' style='width:20%'>".tr('Imponibile', [], ['upper' => true]).'</th>';
|
||||
<th class='text-center' style='width:15%'>" . tr('Prezzo unitario', [], ['upper' => true]) . '</th>';
|
||||
if (!$options['no-iva']) {
|
||||
echo "
|
||||
<th class='text-center' style='width:10%'>" . tr('IVA', [], ['upper' => true]) . ' (%)</th>';
|
||||
}
|
||||
echo "
|
||||
<th class='text-center' style='width:15%'>" . ($options['hide-total'] ? tr('Importo ivato', [], ['upper' => true]) : tr('Importo', [], ['upper' => true])) . '</th>';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
@ -126,8 +151,8 @@ echo '
|
|||
|
||||
<tbody>';
|
||||
|
||||
// Righe documento
|
||||
$righe = $documento->getRighe();
|
||||
|
||||
|
||||
|
||||
if (!setting('Visualizza riferimento su ogni riga in stampa')) {
|
||||
$riferimenti = [];
|
||||
|
@ -147,15 +172,37 @@ if (!setting('Visualizza riferimento su ogni riga in stampa')) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
$num = 0;
|
||||
foreach ($righe as $riga) {
|
||||
++$num;
|
||||
$r = $riga->toArray();
|
||||
|
||||
$autofill->count($r['descrizione']);
|
||||
|
||||
echo '
|
||||
echo
|
||||
'
|
||||
<tr>
|
||||
<td class="text-center" nowrap="nowrap" style="vertical-align: middle" width="25">
|
||||
' . $num . '
|
||||
</td>';
|
||||
|
||||
if ($has_image) {
|
||||
if ($riga->isArticolo() && !empty($riga->articolo->image)) {
|
||||
echo '
|
||||
<td align="center">
|
||||
<img src="'.$riga->articolo->image.'" style="max-height: 60px; max-width:80px">
|
||||
</td>';
|
||||
|
||||
$autofill->set(5);
|
||||
} else {
|
||||
echo '
|
||||
<td></td>';
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
<td>';
|
||||
|
||||
$text = '';
|
||||
|
||||
foreach ($riferimenti as $key => $riferimento) {
|
||||
|
@ -271,15 +318,15 @@ $netto_a_pagare = $documento->netto;
|
|||
$show_sconto = $sconto > 0;
|
||||
|
||||
// TOTALE COSTI FINALI
|
||||
if ($options['pricing']) {
|
||||
if (($options['pricing'] && !isset($options['hide-total'])) || $options['show-only-total']) {
|
||||
// Totale imponibile
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="3" class="text-right border-top">
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]).':</b>
|
||||
<td colspan="' . ($options['show-only-total'] ? (($has_image) ? 3 : 2) : 4) . '" class="text-right border-top">
|
||||
<b>'.tr('Imponibile', [], ['upper' => true]). ':</b>
|
||||
</td>
|
||||
|
||||
<th colspan="2" class="text-right">
|
||||
<th colspan="' . ($options['show-only-total'] ? (($has_image) ? ($options['no-iva'] ? 1 : 2) : 1) : (($has_image) ? 3 : 2)) . '" class="text-right">
|
||||
<b>'.moneyFormat($show_sconto ? $imponibile : $totale_imponibile, $d_totali).'</b>
|
||||
</th>
|
||||
</tr>';
|
||||
|
@ -288,11 +335,11 @@ if ($options['pricing']) {
|
|||
if ($show_sconto) {
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="3" class="text-right border-top">
|
||||
<b>'.tr('Sconto', [], ['upper' => true]).':</b>
|
||||
<td colspan="' . ($options['show-only-total'] ? 2 : 4) . '" class="text-right border-top">
|
||||
<b>'.tr('Sconto', [], ['upper' => true]). ':</b>
|
||||
</td>
|
||||
|
||||
<th colspan="2" class="text-right">
|
||||
<th colspan="' . ($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)) . '" class="text-right">
|
||||
<b>'.moneyFormat($sconto, $d_totali).'</b>
|
||||
</th>
|
||||
</tr>';
|
||||
|
@ -300,66 +347,77 @@ if ($options['pricing']) {
|
|||
// Totale imponibile
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="3" class="text-right border-top">
|
||||
<b>'.tr('Totale imponibile', [], ['upper' => true]).':</b>
|
||||
<td colspan="' . ($options['show-only-total'] ? 2 : 4) . '" class="text-right border-top">
|
||||
<b>'.tr('Totale imponibile', [], ['upper' => true]). ':</b>
|
||||
</td>
|
||||
|
||||
<th colspan="2" class="text-right">
|
||||
<th colspan="' . ($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)) . '" class="text-right">
|
||||
<b>'.moneyFormat($totale_imponibile, $d_totali).'</b>
|
||||
</th>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
// IVA
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="3" class="text-right border-top">
|
||||
<b>'.tr('Totale IVA', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<th colspan="2" class="text-right">
|
||||
<b>'.moneyFormat($totale_iva, $d_totali).'</b>
|
||||
</th>
|
||||
</tr>';
|
||||
|
||||
// TOTALE
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="3" class="text-right border-top">
|
||||
<b>'.tr('Totale documento', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
<th colspan="2" class="text-right">
|
||||
<b>'.moneyFormat($totale, $d_totali).'</b>
|
||||
</th>
|
||||
</tr>';
|
||||
|
||||
if ($sconto_finale) {
|
||||
// SCONTO IN FATTURA
|
||||
if (!$options['no-iva']) {
|
||||
// IVA
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="3" class="text-right border-top">
|
||||
<b>'.tr('Sconto in fattura', [], ['upper' => true]).':</b>
|
||||
<td colspan="' . ($options['show-only-total'] ? 2 : 4) . '" class="text-right border-top">
|
||||
<b>'.tr('Totale IVA', [], ['upper' => true]). ':</b>
|
||||
</td>
|
||||
<th colspan="2" class="text-right">
|
||||
<b>'.moneyFormat($sconto_finale, $d_totali).'</b>
|
||||
|
||||
<th colspan="' . ($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)) . '" class="text-right">
|
||||
<b>'.moneyFormat($totale_iva, $d_totali).'</b>
|
||||
</th>
|
||||
</tr>';
|
||||
|
||||
// NETTO A PAGARE
|
||||
// TOTALE
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="3" class="text-right border-top">
|
||||
<b>'.tr('Netto a pagare', [], ['upper' => true]).':</b>
|
||||
<td colspan="' . ($options['show-only-total'] ? 2 : 4) . '" class="text-right border-top">
|
||||
<b>'.tr('Totale documento', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<th colspan="2" class="text-right">
|
||||
<b>'.moneyFormat($netto_a_pagare, $d_totali).'</b>
|
||||
<b>'.moneyFormat($totale, $d_totali).'</b>
|
||||
</th>
|
||||
</tr>';
|
||||
|
||||
if ($sconto_finale) {
|
||||
// SCONTO IN FATTURA
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="' . ($options['show-only-total'] ? 2 : 4) . '" class="text-right border-top">
|
||||
<b>'.tr('Sconto in fattura', [], ['upper' => true]). ':</b>
|
||||
</td>
|
||||
<th colspan="' . ($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)) . '" class="text-right">
|
||||
<b>'.moneyFormat($sconto_finale, $d_totali).'</b>
|
||||
</th>
|
||||
</tr>';
|
||||
|
||||
// NETTO A PAGARE
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="' . ($options['show-only-total'] ? 2 : 4) . '" class="text-right border-top">
|
||||
<b>'.tr('Netto a pagare', [], ['upper' => true]). ':</b>
|
||||
</td>
|
||||
<th colspan="' . ($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)) . '" class="text-right">
|
||||
<b>'.moneyFormat($netto_a_pagare, $d_totali).'</b>
|
||||
</th>
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '
|
||||
</table>';
|
||||
|
||||
if ($options['no-iva']) {
|
||||
echo '
|
||||
<p colspan="3" class="text-right text-muted">
|
||||
<small>Importo IVA esclusa</small>
|
||||
</p>
|
||||
';
|
||||
}
|
||||
|
||||
|
||||
// CONDIZIONI GENERALI DI FORNITURA
|
||||
$pagamento = Pagamento::find($documento['idpagamento']);
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!$is_last_page) {
|
||||
if (!empty($options['last-page-footer'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!empty($options['last-page-footer']) && !$is_last_page) {
|
||||
if (!empty($options['last-page-footer'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -164,7 +164,7 @@ echo '
|
|||
</td>
|
||||
|
||||
<td class="cell-padded">
|
||||
'.Translator::TimestampToLocale($documento['data_ora_trasporto']).'
|
||||
'.(!empty($documento['data_ora_trasporto']) ? Translator::TimestampToLocale($documento['data_ora_trasporto']) : '').'
|
||||
</td>
|
||||
|
||||
<td class="cell-padded">
|
||||
|
|
|
@ -36,7 +36,7 @@ $pagamento = Pagamento::find($documento['idpagamento']);
|
|||
$causale = $dbo->fetchOne('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_causalet`.`id` = '.prepare($documento['idcausalet']));
|
||||
$porto = $dbo->fetchOne('SELECT * FROM `dt_porto` LEFT JOIN `dt_porto_lang` ON (`dt_porto`.`id` = `dt_porto_lang`.`id_record` AND `dt_porto_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_porto`.`id` = '.prepare($documento['idporto']));
|
||||
$aspetto_beni = $dbo->fetchOne('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_aspettobeni`.`id` = '.prepare($documento['idaspettobeni']));
|
||||
$spedizione = $dbo->fetchOne('SELECT * FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione`.`id`=`dt_spedizione_lang`.`idrecord` AND `dt_spedizione_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_spedizione`.`id` = '.prepare($documento['idspedizione']));
|
||||
$spedizione = $dbo->fetchOne('SELECT * FROM `dt_spedizione` LEFT JOIN `dt_spedizione_lang` ON (`dt_spedizione`.`id`=`dt_spedizione_lang`.`id_record` AND `dt_spedizione_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_spedizione`.`id` = '.prepare($documento['idspedizione']));
|
||||
|
||||
$vettore = $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = '.prepare($documento['idvettore']));
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!empty($options['last-page-footer']) && !$is_last_page) {
|
||||
if (!empty($options['last-page-footer'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -419,6 +419,7 @@ if (($options['pricing'] && !isset($options['hide-total'])) || $options['show-on
|
|||
<td colspan="'.($options['show-only-total'] ? 2 : 4).'" class="text-right border-top">
|
||||
<b>'.tr('Totale documento', [], ['upper' => true]).':</b>
|
||||
</td>
|
||||
|
||||
<th colspan="'.($options['show-only-total'] ? (($has_image) ? 2 : 1) : (($has_image) ? 3 : 2)).'" class="text-right">
|
||||
<b>'.moneyFormat($totale, $d_totali).'</b>
|
||||
</th>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!$is_last_page) {
|
||||
if (!empty($options['last-page-footer'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ UPDATE `zz_widgets` SET `class` = NULL;
|
|||
-- Aggiunto available_options per zz_prints
|
||||
ALTER TABLE `zz_prints` ADD `available_options` TEXT NULL AFTER `enabled`;
|
||||
|
||||
-- Opzioni possibili per stampa "Preventivo"
|
||||
UPDATE `zz_prints` SET `available_options` = '{\"pricing\":\"Visualizzare i prezzi\", \"hide-total\": \"Nascondere i totali delle righe\", \"show-only-total\": \"Visualizzare solo i totali del documento\", \"hide-header\": \"Nascondere intestazione\", \"hide-footer\": \"Nascondere footer\", \"last-page-footer\": \"Visualizzare footer solo su ultima pagina\", \"hide-item-number\": \"Nascondere i codici degli articoli\"}' WHERE `zz_prints`.`name` = 'Preventivo';
|
||||
|
||||
UPDATE `zz_prints` SET `options` = '{\"pricing\": true, \"last-page-footer\": true, \"hide-item-number\": true}' WHERE `zz_prints`.`name` = 'Ordine cliente (senza codici)';
|
||||
|
|
|
@ -159,4 +159,8 @@ WHERE
|
|||
HAVING
|
||||
2=2
|
||||
ORDER BY
|
||||
`matricola`" WHERE `name` = 'Impianti';
|
||||
`matricola`" WHERE `name` = 'Impianti';
|
||||
|
||||
|
||||
-- Opzioni possibili per stampa "Contratto"
|
||||
UPDATE `zz_prints` SET `available_options` = '{\"pricing\":\"Visualizzare i prezzi\", \"hide-total\": \"Nascondere i totali delle righe\", \"show-only-total\": \"Visualizzare solo i totali del documento\", \"hide-header\": \"Nascondere intestazione\", \"hide-footer\": \"Nascondere footer\", \"last-page-footer\": \"Visualizzare footer solo su ultima pagina\", \"hide-item-number\": \"Nascondere i codici degli articoli\"}' WHERE `zz_prints`.`name` = 'Contratto';
|
Loading…
Reference in New Issue