Miglioramenti vari

Miglioramento della presentazione del progetto e delle informazioni relative.
Aggiunti messaggi per segnalare il collegamento dei documenti tra di loro ed evitare cancellazioni involontarie.
Unificato il sistema di identificazione dei numeri (ora abbreviati in "num.").
This commit is contained in:
Thomas Zilio 2017-09-14 10:27:49 +02:00
parent 9cf2a1c3e7
commit 6510807bdd
23 changed files with 259 additions and 109 deletions

View File

@ -1,4 +1,19 @@
# OpenSTAManager
<p align="center">
<a href="http://openstamanager.com">
<img src="https://www.openstamanager.com/wp-content/uploads/2015/04/logo_full-2.png">
</a>
<p align="center">
Il gestionale open source per l'assistenza tecnica e la fatturazione.
<br>
<br>
<a href="https://devcode-it.github.io/openstamanager">Documentazione tecnica</a>
&middot;
<a href="http://openstamanager.com">Sito ufficiale</a>
</p>
</p>
<br>
Il gestionale OpenSTAManager è un software open-source e web based, sviluppato dall'azienda informatica DevCode di Este per gestire ed archiviare il servizio di assistenza tecnica e la relativa fatturazione.
Il nome del progetto deriva dalla parziale traduzione in inglese degli elementi principali che lo compongono: la natura open source e il suo obiettivo quale Gestore del Servizio Tecnico di Assistenza.
@ -13,7 +28,7 @@ Un software gestionale, identificato nell'insieme degli applicativi che automati
Secondo questa definizione, OpenSTAManager riesce a generalizzare al proprio interno le funzionalità caratteristiche della contabilità e della gestione del magazzino, presentando inoltre moduli piuttosto avanzati e destinati a complementare l'attività aziendale in relazione agli interventi di assistenza della realtà lavorativa in oggetto.
La documentazione ufficiale risulta disponibile all'indirizzo <https://devcode-it.github.io/openstamanager/>.
La documentazione ufficiale è disponibile all'indirizzo <https://devcode-it.github.io/openstamanager>.
<!-- TOC depthFrom:2 depthTo:6 orderedList:false updateOnSave:true withLinks:true -->
@ -22,7 +37,6 @@ La documentazione ufficiale risulta disponibile all'indirizzo <https://devcode-i
- [Versioni](#versioni)
- [Github](#github)
- [Perché software open source](#perché-software-open-source)
- [Componenti esterni](#componenti-esterni)
- [Community](#community)
- [Contribuire](#contribuire)
- [Sviluppatori](#sviluppatori)
@ -32,11 +46,9 @@ La documentazione ufficiale risulta disponibile all'indirizzo <https://devcode-i
## Requisiti
Prima di iniziare l'installazione, è necessario procedere al download di una versione del progetto da [Github](https://github.com/devcode-it/openstamanager). Si consiglia inoltre di controllare che i prerequisiti del software, elencati di seguito, siano soddisfatti.
L'installazione del gestionale richiede la presenza di un server web con abilitato il [DBMS MySQL](https://www.mysql.com) e il linguaggio di programmazione [PHP](http://php.net).
L'installazione del gestionale richiede la presenza di un server web con abilitato il [DBMS (Database Management System)](https://it.wikipedia.org/wiki/Database_management_system) MySQL e il linguaggio di programmazione [PHP](http://php.net/).
- PHP >= 5.4 (si consiglia la versione 5.6 per poter usufruire di tutte le funzionalità del progetto)
- PHP >= 5.4
- MySQL >= 5.0
Per ulteriori informazioni sui pacchetti che forniscono questi elementi di default, visitare la sezione [Installazione](https://devcode-it.github.io/openstamanager/installazione.html) della documentazione.
@ -45,26 +57,32 @@ Per ulteriori informazioni sui pacchetti che forniscono questi elementi di defau
Per procedere all'installazione è necessario seguire i seguenti punti:
1. Creare una cartella (ad esempio `openstamanager`) nella root del sever web installato ed estrarvi il contenuto della release scaricata. Il percorso della cartella root del server varia in base al software in utilizzo:
1. [Scaricare una release ufficiale del progetto](https://github.com/devcode-it/openstamanager/releases).
2. Creare una cartella (ad esempio `openstamanager`) nella root del sever web installato ed estrarvi il contenuto della release scaricata. Il percorso della cartella root del server varia in base al software in utilizzo:
- LAMP (`/var/www/html`);
- XAMPP (`C:/xampp/htdocs` per Windows, `/opt/lampp/htdocs/` per Linux, `/Applications/XAMPP/htdocs/` per MAC);
- WAMP (`C:\wamp\www`);
- MAMP (`C:\MAMP\htdocs` per Windows, `/Applications/MAMP/htdocs` per MAC).
- LAMP (`/var/www/html`)
- XAMPP (`C:/xampp/htdocs` per Windows, `/opt/lampp/htdocs/` per Linux, `/Applications/XAMPP/htdocs/` per MAC)
- WAMP (`C:\wamp\www`)
- MAMP (`C:\MAMP\htdocs` per Windows, `/Applications/MAMP/htdocs` per MAC)
2. Creare un database vuoto (tramite [PHPMyAdmin](http://localhost/phpmyadmin/) o riga di comando).
3. Accedere a <http://localhost/openstamanager> dal vostro browser.
4. Inserire i dati per collegarsi al database e cliccare su **Installa** per completare l'installazione.
3. Creare un database vuoto (tramite [PHPMyAdmin](http://localhost/phpmyadmin/) o riga di comando).
4. Accedere a <http://localhost/openstamanager> dal vostro browser.
5. Inserire i dati di configurazione per collegarsi al database.
6. Procedere all'installazione del software, cliccando sul pulsante **Installa**.
**Attenzione**: è possibile che l'installazione richieda del tempo. Si consiglia pertanto di attendere almeno qualche minuto senza alcun cambiamento nella pagina di installazione (in particolare, della progress bar presente) prima di cercare una possibile soluzione nelle discussioni del forum o nella sezione dedicata.
### Versioni
Per mantenere un elevato grado di trasparenza riguardo al ciclo delle release, seguiamo le linee guida [Semantic Versioning (SemVer)](http://semver.org/) per definire le versioni del progetto. Per vedere tutte le versioni disponibili al download, visitare la [pagina relativa](https://github.com/devcode-it/openstamanager/releases) su Github (per versioni precedenti alla 2.3, visitare [SourceForge](https://sourceforge.net/projects/openstamanager/files/)).
Per mantenere un elevato grado di trasparenza riguardo al ciclo delle release, seguiamo le linee guida [Semantic Versioning (SemVer)](http://semver.org/) per definire le versioni del progetto.
Per vedere tutte le versioni disponibili al download, visitare la [pagina relativa](https://github.com/devcode-it/openstamanager/releases) su Github (per versioni precedenti alla 2.3, visitare [SourceForge](https://sourceforge.net/projects/openstamanager/files)).
Nel caso utilizziate il programma per uso commerciale, si consiglia di scaricare le release disponibili nel sito ufficiale del progetto (<http://www.openstamanager.com>), evitando di utilizzare direttamente il codice della repository.
Se siete inoltre interessati a supporto e assistenza professionali, li potete richiedere nella [sezione dedicata](http://www.openstamanager.com/per-le-aziende/).
### Github
Nel caso si stia utilizzando la versione direttamente ottenuta dalla repository di Github, è necessario eseguire i seguenti comandi da linea di comando per completare le dipendenze PHP (tramite [Composer](https://getcomposer.org/)) e gli asssets (tramite [Yarn](https://yarnpkg.com/)) del progetto.
Nel caso si stia utilizzando la versione direttamente ottenuta dalla repository di Github, è necessario eseguire i seguenti comandi da linea di comando per completare le dipendenze PHP (tramite [Composer](https://getcomposer.org)) e gli asssets (tramite [Yarn](https://yarnpkg.com)) del progetto.
```bash
php composer.phar install
@ -87,19 +105,6 @@ Il progetto è un software open source perché permette agli utilizzatori di stu
In questo modo è possibile ottenere un'ulteriore garanzia sul funzionamento del software, poiché chiunque ne abbia le capacità può verificarlo, escludendo mancanze in relazione alla sicurezza e alla privacy dei dati (caratteristica che il software proprietario non può offrire).
Nel caso utilizziate il programma per uso commerciale, si consiglia di non utilizzare le versioni ottenibili direttamente dalla repository su Github ma di scaricare le release ufficiali disponibili nel nostro sito ufficiale <http://www.openstamanager.com>; se siete inoltre interessati a supporto e assistenza professionali, li potete richiedere nella [sezione dedicata](http://www.openstamanager.com/per-le-aziende/).
## Componenti esterni
OpenSTAManager è stato progettato utilizzando altro software open source, tra cui principalmente:
- [PHP](https://secure.php.net/) - A popular general-purpose scripting language especially suited to web development
- [MySQL](https://www.mysql.com/) - The world's most popular open source database
- [JQuery](https://jquery.com/) - New Wave JavaScript
- [Bootstrap](http://getbootstrap.com/) - The world's most popular mobile-first and responsive front-end framework
- [FontAwesome](http://fontawesome.io/) - The iconic font and CSS toolkit
- [HTML2PDF](http://html2pdf.fr/en/default) - HTML to PDF converter written in PHP
## Community
La community è una componente importante in un progetto open source, perché mette in contatto utenti e programmatori tra di loro e permette pertanto l'individuazione di soluzioni innovative e migliori.
@ -116,7 +121,10 @@ Siamo presenti su [Facebook](https://www.facebook.com/openstamanager), e il nost
## Contribuire
Per poter contribuire, si consiglia di seguire le indicazioni descritte all'interno della [documentazione ufficiale](https://devcode-it.github.io/openstamanager/contribuire.html); in particolare, prestare attenzione al codice di condotta e allo stile del codice.
Per poter contribuire, si consiglia di seguire le indicazioni descritte all'interno della [documentazione ufficiale](https://devcode-it.github.io/openstamanager/contribuire.html).
Le impostazione di base per il codice sono disponibili attraverso [editor config](https://github.com/devcode-it/openstamanager/blob/master/.editorconfig) per l'utilizzo semplificato negli editor più comuni.
Maggiori informazioni sulla configurazione e sul plugin sono disponibili nel sito <http://editorconfig.org>.
## Sviluppatori
@ -126,8 +134,6 @@ Per poter contribuire, si consiglia di seguire le indicazioni descritte all'inte
- **Matteo Baccarin**
- **Thomas Zilio** ([Dasc3er](https://github.com/Dasc3er))
Per la lista completa delle persone che hanno partecipato al progetto, consultare la [pagina principale della documentazione](https://devcode-it.github.io/openstamanager/index.html) su Github.
## Licenza
Questo progetto è tutelato dalla licenza **GPL 3** (si veda [LICENSE](https://github.com/devcode-it/openstamanager/blob/master/LICENSE) per ulteriori dettagli).
Questo progetto è tutelato dalla licenza [**GPL 3**](https://github.com/devcode-it/openstamanager/blob/master/LICENSE).

View File

@ -346,7 +346,7 @@ switch ($module_name) {
($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura'];
$id_module = Modules::getModule('Fatture di vendita')['id'];
echo "<tr><td class='first_cell text-left'><a href='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fattura n<sup>o</sup> ".$n_fattura."</a></td>\n";
echo "<tr><td class='first_cell text-left'><a href='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fattura num. ".$n_fattura."</a></td>\n";
echo "<td class='table_cell text-left'>".Translator::dateToLocale($fatture[$i]['data_fattura'])."</td>\n";
echo "<td class='table_cell text-right'>".Translator::numberToLocale($fatture[$i]['costo_unitario'])." &euro;</td></tr>\n";
@ -378,7 +378,7 @@ switch ($module_name) {
($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura'];
$id_module = Modules::getModule('Fatture di vendita')['id'];
echo "<tr><td class='first_cell text-left'><a href='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fattura n<sup>o</sup> ".$n_fattura."</a></td>\n";
echo "<tr><td class='first_cell text-left'><a href='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fattura num. ".$n_fattura."</a></td>\n";
echo "<td class='table_cell text-left'>".Translator::dateToLocale($fatture[$i]['data_fattura'])."</td>\n";
echo "<td class='table_cell text-right'>".Translator::numberToLocale($fatture[$i]['costo_unitario'])." &euro;</td></tr>\n";
@ -409,7 +409,7 @@ switch ($module_name) {
($fatture[$i]['n2_fattura'] != '') ? $n_fattura = $fatture[$i]['n2_fattura'] : $n_fattura = $fatture[$i]['n_fattura'];
$id_module = Modules::getModule('Fatture di vendita')['id'];
echo "<tr><td class='first_cell text-left'><a href='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fattura n<sup>o</sup> ".$n_fattura."</a></td>\n";
echo "<tr><td class='first_cell text-left'><a href='".$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$fatture[$i]['iddocumento']."' target=\"_blank\" title=\"Apri il documento su una nuova finestra\">Fattura num. ".$n_fattura."</a></td>\n";
echo "<td class='table_cell text-left'>".Translator::dateToLocale($fatture[$i]['data_fattura'])."</td>\n";
echo "<td class='table_cell text-right'>".Translator::numberToLocale($fatture[$i]['costo_unitario'])." &euro;</td></tr>\n";
@ -813,7 +813,7 @@ if ($op == 'supersearch') {
}
$result[$r + $i]['link'] = $rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['iddocumento'];
$result[$r + $i]['title'] = $rs[$r]['descrizione'].' n<sup>o</sup> '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
$result[$r + $i]['title'] = $rs[$r]['descrizione'].' num. '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
$result[$r + $i]['category'] = $rs[$r]['descrizione'];
$result[$r + $i]['labels'] = [];
@ -877,7 +877,7 @@ if ($op == 'supersearch') {
}
$result[$r + $i]['link'] = $rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['iddocumento'];
$result[$r + $i]['title'] = $rs[$r]['tipodoc'].' n<sup>o</sup> '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
$result[$r + $i]['title'] = $rs[$r]['tipodoc'].' num. '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
$result[$r + $i]['category'] = $rs[$r]['tipodoc'];
$result[$r + $i]['labels'] = [];
@ -1035,7 +1035,7 @@ if ($op == 'supersearch') {
}
$result[$r + $i]['link'] = $rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['idddt'];
$result[$r + $i]['title'] = $rs[$r]['descrizione'].' n<sup>o</sup> '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
$result[$r + $i]['title'] = $rs[$r]['descrizione'].' num. '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
$result[$r + $i]['category'] = $rs[$r]['descrizione'];
$result[$r + $i]['labels'] = [];
@ -1100,7 +1100,7 @@ if ($op == 'supersearch') {
$result[$r + $i]['link'] = $rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$rs[$r]['idddt'];
// $result[$r+$i]['link'] = $rootdir."/modules/magazzino/ddt/ddt.php?idddt=".$rs[$r]['iddocumento']."&dir=".$rs[$r]['dir'];
$result[$r + $i]['title'] = $rs[$r]['tipodoc'].' n<sup>o</sup> '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
$result[$r + $i]['title'] = $rs[$r]['tipodoc'].' num. '.$numero.' del '.Translator::dateToLocale($rs[$r]['data']);
$result[$r + $i]['category'] = $rs[$r]['tipodoc'];
$result[$r + $i]['labels'] = [];

View File

@ -6,7 +6,6 @@ currentMenu: installazione
<!-- TOC depthFrom:2 depthTo:6 orderedList:false updateOnSave:true withLinks:true -->
- [Tabella dei contenuti](#tabella-dei-contenuti)
- [Requisiti](#requisiti)
- [Installazione](#installazione)
- [Versioni](#versioni)
@ -23,41 +22,46 @@ currentMenu: installazione
## Requisiti
Prima di iniziare l'installazione, è necessario procedere al download di una versione del progetto da [Github](https://github.com/devcode-it/openstamanager). Si consiglia inoltre di controllare che i prerequisiti del software, elencati di seguito, siano soddisfatti.
L'installazione del gestionale richiede la presenza di un server web con abilitato il [DBMS MySQL](https://www.mysql.com) e il linguaggio di programmazione [PHP](http://php.net).
L'installazione del gestionale richiede la presenza di un server web con abilitato il [DBMS (Database Management System)](https://it.wikipedia.org/wiki/Database_management_system) MySQL e il linguaggio di programmazione [PHP](http://php.net/).
- PHP >= 5.4 (si consiglia come minimo la versione 5.6 per poter usufruire di tutte le funzionalità del progetto)
- PHP >= 5.4
- MySQL >= 5.0
Per ulteriori informazioni sui pacchetti che forniscono questi elementi di default, visitare la sezione [Installazione](https://devcode-it.github.io/openstamanager/installazione.html) della documentazione.
## Installazione
Per procedere all'installazione è necessario seguire i seguenti punti:
1. Creare una cartella (ad esempio `openstamanager`) nella root del sever web installato ed estrarvi il contenuto della release scaricata. Il percorso della cartella root del server varia in base al software in utilizzo:
1. [Scaricare una release ufficiale del progetto](https://github.com/devcode-it/openstamanager/releases).
2. Creare una cartella (ad esempio `openstamanager`) nella root del sever web installato ed estrarvi il contenuto della release scaricata. Il percorso della cartella root del server varia in base al software in utilizzo:
- LAMP (`/var/www/html`);
- XAMPP (`C:/xampp/htdocs` per Windows, `/opt/lampp/htdocs/` per Linux, `/Applications/XAMPP/htdocs/` per MAC);
- WAMP (`C:\wamp\www`);
- MAMP (`C:\MAMP\htdocs` per Windows, `/Applications/MAMP/htdocs` per MAC).
- LAMP (`/var/www/html`)
- XAMPP (`C:/xampp/htdocs` per Windows, `/opt/lampp/htdocs/` per Linux, `/Applications/XAMPP/htdocs/` per MAC)
- WAMP (`C:\wamp\www`)
- MAMP (`C:\MAMP\htdocs` per Windows, `/Applications/MAMP/htdocs` per MAC)
2. Creare un database vuoto (tramite [PHPMyAdmin](http://localhost/phpmyadmin/) o riga di comando).
3. Accedere a <http://localhost/openstamanager> dal vostro browser.
4. Inserire i dati per collegarsi al database e cliccare su **Installa** per completare l'installazione.
3. Creare un database vuoto (tramite [PHPMyAdmin](http://localhost/phpmyadmin/) o riga di comando).
4. Accedere a <http://localhost/openstamanager> dal vostro browser.
5. Inserire i dati di configurazione per collegarsi al database.
6. Procedere all'installazione del software, cliccando sul pulsante **Installa**.
**Attenzione**: è possibile che l'installazione richieda del tempo. Si consiglia pertanto di attendere almeno qualche minuto senza alcun cambiamento nella pagina di installazione (in particolare, della progress bar presente) prima di cercare una possibile soluzione nelle discussioni del forum o nella sezione dedicata.
### Versioni
Per mantenere un elevato grado di trasparenza riguardo al ciclo delle release, seguiamo le linee guida [Semantic Versioning (SemVer)](http://semver.org/) per definire le versioni del progetto. Per vedere tutte le versioni disponibili al download, visitare la [pagina relativa](https://github.com/devcode-it/openstamanager/releases) su Github (per versioni precedenti alla 2.3, visitare [SourceForge](https://sourceforge.net/projects/openstamanager/files/)).
Per mantenere un elevato grado di trasparenza riguardo al ciclo delle release, seguiamo le linee guida [Semantic Versioning (SemVer)](http://semver.org/) per definire le versioni del progetto.
Per vedere tutte le versioni disponibili al download, visitare la [pagina relativa](https://github.com/devcode-it/openstamanager/releases) su Github (per versioni precedenti alla 2.3, visitare [SourceForge](https://sourceforge.net/projects/openstamanager/files)).
Nel caso utilizziate il programma per uso commerciale, si consiglia di scaricare le release disponibili nel sito ufficiale del progetto (<http://www.openstamanager.com>), evitando di utilizzare direttamente il codice della repository.
Se siete inoltre interessati a supporto e assistenza professionali, li potete richiedere nella [sezione dedicata](http://www.openstamanager.com/per-le-aziende/).
### Github
Nel caso si stia utilizzando la versione direttamente ottenuta dalla repository di Github, è necessario eseguire i seguenti comandi da linea di comando per completare le dipendenze PHP (tramite [Composer](https://getcomposer.org/)) e gli asssets (tramite [Yarn](https://yarnpkg.com/)) del progetto.
Nel caso si stia utilizzando la versione direttamente ottenuta dalla repository di Github, è necessario eseguire i seguenti comandi da linea di comando per completare le dipendenze PHP (tramite [Composer](https://getcomposer.org)) e gli asssets (tramite [Yarn](https://yarnpkg.com)) del progetto.
```bash
php composer.phar install
php composer.phar update
yarn global add gulp
yarn install
gulp

View File

@ -225,7 +225,7 @@ if ($fornitore) {
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('N<sup>o</sup> iscr. C.C.I.A.A.'); ?>", "name": "cciaa", "value": "$cciaa$" ]}
{[ "type": "text", "label": "<?php echo tr('Num. iscr. C.C.I.A.A.'); ?>", "name": "cciaa", "value": "$cciaa$" ]}
</div>
<div class="col-md-3">
@ -271,19 +271,19 @@ if ($fornitore) {
<div class="row">
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('N<sup>o</sup> dipendenti'); ?>", "name": "dipendenti", "value": "$dipendenti$" ]}
{[ "type": "text", "label": "<?php echo tr('Num. dipendenti'); ?>", "name": "dipendenti", "value": "$dipendenti$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('N<sup>o</sup> macchine'); ?>", "name": "macchine", "value": "$macchine$" ]}
{[ "type": "text", "label": "<?php echo tr('Num. macchine'); ?>", "name": "macchine", "value": "$macchine$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('N<sup>o</sup> iscr. tribunale'); ?>", "name": "iscrizione_tribunale", "value": "$iscrizione_tribunale$" ]}
{[ "type": "text", "label": "<?php echo tr('Num. iscr. tribunale'); ?>", "name": "iscrizione_tribunale", "value": "$iscrizione_tribunale$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('N<sup>o</sup> iscr. albo artigiani'); ?>", "name": "n_alboartigiani", "value": "$n_alboartigiani$" ]}
{[ "type": "text", "label": "<?php echo tr('Num. iscr. albo artigiani'); ?>", "name": "n_alboartigiani", "value": "$n_alboartigiani$" ]}
</div>
</div>

View File

@ -293,6 +293,6 @@ if ($tot > 0) {
'.tr('Ci sono _NUM_ righe di documenti collegate', [
'_NUM_' => $tot,
]).'.
'.tr('Eliminando questo articolo si potrebbero verificare problemi nelle altre sezioni del gestionale!').'
'.tr('Eliminando questo elemento si potrebbero verificare problemi nelle altre sezioni del gestionale!').'
</div>';
}

View File

@ -243,13 +243,13 @@ for ($i = 0; $i < count($rs2); ++$i) {
$totali[] = [$data[0]['subtotale'], $data[0]['iva']];
$numero = !empty($rs6[0]['numero_esterno']) ? $data[0]['numero_esterno'] : $data[0]['numero'];
$numero = !empty($data[0]['numero_esterno']) ? $data[0]['numero_esterno'] : $data[0]['numero'];
$text = tr('_DOC_ n<sup>o</sup> _NUM_ del _DATE_', [
$text = tr('_DOC_ num. _NUM_ del _DATE_', [
'_DOC_' => $data[0]['tipo_documento'],
'_NUM_' => $numero,
'_DATE_' => Translator::dateToLocale($data[0]['data']),
]).(!empty($extra) ? ' '.$extra : '');
]).(!empty($extra) ? ' '.$extra : '');
echo '
'.Modules::link($module_id, $id, $text).'<br>';

View File

@ -105,10 +105,10 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica'];
<div class="row">
<div class="col-md-3">
{[ "type": "number", "label": "<?php echo tr('Sconto totale') ?>", "name": "sconto_generico", "value": "$sconto_globale$", "help": "<?php echo tr("Sconto complessivo del contratto"); ?>", "icon-after": "choice|untprc|$tipo_sconto_globale$"<?php
{[ "type": "number", "label": "<?php echo tr('Sconto totale') ?>", "name": "sconto_generico", "value": "$sconto_globale$", "help": "<?php echo tr('Sconto complessivo del contratto'); ?>", "icon-after": "choice|untprc|$tipo_sconto_globale$"<?php
if ($records[0]['stato'] == 'Emessa') {
echo ', "disabled" : 1';
}
echo ', "disabled" : 1';
}
?> ]}
</div>
</div>
@ -271,6 +271,7 @@ if ($records[0]['stato'] != 'Pagato') {
?>
<a class="btn btn-primary" data-href="<?php echo $rootdir ?>/modules/contratti/add_riga.php?idcontratto=<?php echo $id_record ?>" data-toggle="modal" data-title="Aggiungi riga" data-target="#bs-popup"><i class="fa fa-plus"></i> <?php echo tr('Riga'); ?></a><br>
<?php
}
?>
<div class="clearfix"></div>
@ -319,7 +320,7 @@ if (!empty($records[0]['idcontratto_prev'])) {
echo '
<tr>
<td>
'.Modules::link($id_module, $idcontratto_prev, tr('Contratto n<sup>o</sup> _NUM_', [
'.Modules::link($id_module, $idcontratto_prev, tr('Contratto num. _NUM_', [
'_NUM_' => $rs[0]['numero'],
]).'<br><small class="text-muted">'.$rs[0]['nome'].'</small>').'
</td>
@ -367,3 +368,34 @@ if (!empty($records[0]['idcontratto_prev'])) {
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
</a>
<?php
$fatture = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idcontratto` = '.prepare($id_record).')');
if (!empty($fatture)) {
echo '
<div class="alert alert-danger">
<p>'.tr('Ci sono _NUM_ documenti collegate a questo elemento', [
'_NUM_' => count($fatture),
]).'.</p>
<ul>';
foreach ($fatture as $fattura) {
$descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [
'_DOC_' => $fattura['tipo_documento'],
'_NUM_' => !empty($fattura['numero_esterno']) ? $fattura['numero_esterno'] : $fattura['numero'],
'_DATE_' => Translator::dateToLocale($fattura['data']),
]);
$modulo = ($fattura['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
$id = $fattura['id'];
echo '
<li>'.Modules::link($modulo, $id, $descrizione).'</li>';
}
echo '
</ul>
<p>'.tr('Eliminando questo elemento si potrebbero verificare problemi nelle altre sezioni del gestionale!').'</p>
</div>';
}

View File

@ -243,7 +243,7 @@ if (empty($rs)) {
$numero_doc = $rsf[0]['numero'];
}
$documento = Modules::link('Fatture di vendita', $rs[$i]['iddocumento'], tr('Fattura n<sup>o</sup> _NUM_ del _DATE_', [
$documento = Modules::link('Fatture di vendita', $rs[$i]['iddocumento'], tr('Fattura num. _NUM_ del _DATE_', [
'_NUM_' => $numero_doc,
'_DATE_' => Translator::dateToLocale($rsf[0]['data']),
]));

View File

@ -188,7 +188,7 @@ if (empty($rs)) {
echo '
<span class="text-success">
<i class="fa fa-check"></i>
'.Modules::link('Interventi', $r['idintervento'], tr('Intervento n<sup>o</sup> _NUM_ del _DATE_', [
'.Modules::link('Interventi', $r['idintervento'], tr('Intervento num. _NUM_ del _DATE_', [
'_NUM_' => $res['codice'],
'_DATE_' => Translator::dateToLocale($r[0]['data_intervento']),
])).'

View File

@ -33,7 +33,7 @@ if ($module['name'] == 'Ddt di vendita') {
if ($dir == 'uscita') {
echo '
<div class="col-md-3">
{[ "type": "span", "label": "'. tr('Numero ddt').'", "class": "text-center", "value": "$numero$" ]}
{[ "type": "span", "label": "'.tr('Numero ddt').'", "class": "text-center", "value": "$numero$" ]}
</div>';
}
?>
@ -89,7 +89,7 @@ if ($dir == 'uscita') {
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('N<sup>o</sup> colli'); ?>", "name": "n_colli", "value": "$n_colli$" ]}
{[ "type": "text", "label": "<?php echo tr('Num. colli'); ?>", "name": "n_colli", "value": "$n_colli$" ]}
</div>
</div>
@ -194,3 +194,34 @@ include $docroot.'/modules/ddt/row-list.php';
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
</a>
<?php
$fatture = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idddt` = '.prepare($id_record).')');
if (!empty($fatture)) {
echo '
<div class="alert alert-danger">
<p>'.tr('Ci sono _NUM_ documenti collegate a questo elemento', [
'_NUM_' => count($fatture),
]).'.</p>
<ul>';
foreach ($fatture as $fattura) {
$descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [
'_DOC_' => $fattura['tipo_documento'],
'_NUM_' => !empty($fattura['numero_esterno']) ? $fattura['numero_esterno'] : $fattura['numero'],
'_DATE_' => Translator::dateToLocale($fattura['data']),
]);
$modulo = ($fattura['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
$id = $fattura['id'];
echo '
<li>'.Modules::link($modulo, $id, $descrizione).'</li>';
}
echo '
</ul>
<p>'.tr('Eliminando questo elemento si potrebbero verificare problemi nelle altre sezioni del gestionale!').'</p>
</div>';
}

View File

@ -117,7 +117,7 @@ if ($dir == 'entrata') {
$r = $dbo->select($data[$pos]['table'], $data[$pos]['id'], ['id' => $res[0][str_replace('id', 'id_riga_', $data[$pos]['id'])]]);
echo '
'.Modules::link($modulo, $r[0][$data[$pos]['id']], tr('Visualizza vendita').' <i class="fa fa-external-link"></i>', null);
'.Modules::link($modulo, $r[0][$data[$pos]['id']], tr('Visualizza vendita'), null);
}
echo '
</div>';

View File

@ -144,7 +144,7 @@ if ($tipodoc == 'Fattura accompagnatoria di vendita') {
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr('N<sup>o</sup> colli'); ?>", "name": "n_colli", "value": "$n_colli$" ]}
{[ "type": "text", "label": "<?php echo tr('Num. colli'); ?>", "name": "n_colli", "value": "$n_colli$" ]}
</div>
</div>

View File

@ -145,7 +145,7 @@ if (!empty($rs)) {
if (!empty($descrizione)) {
echo '
<br>'.Modules::link($ref, $ref_id, $descrizione.' <i class="fa fa-external-link"></i>', $descrizione);
<br>'.Modules::link($ref, $ref_id, $descrizione, $descrizione);
}
echo '

View File

@ -23,19 +23,19 @@ if ($module['name'] == 'Ordini cliente') {
<div class="row">
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr("Numero ordine"); ?>", "name": "numero", "required": 1, "class": "text-center", "value": "$numero$" ]}
{[ "type": "text", "label": "<?php echo tr('Numero ordine'); ?>", "name": "numero", "required": 1, "class": "text-center", "value": "$numero$" ]}
</div>
<div class="col-md-3">
{[ "type": "text", "label": "<?php echo tr("Numero secondario"); ?>", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$" ]}
{[ "type": "text", "label": "<?php echo tr('Numero secondario'); ?>", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$" ]}
</div>
<div class="col-md-3">
{[ "type": "date", "label": "<?php echo tr("Data"); ?>", "maxlength": 10, "name": "data", "required": 1, "value": "$data$" ]}
{[ "type": "date", "label": "<?php echo tr('Data'); ?>", "maxlength": 10, "name": "data", "required": 1, "value": "$data$" ]}
</div>
<div class="col-md-3">
{[ "type": "select", "label": "<?php echo tr("Stato"); ?>", "name": "idstatoordine", "required": 1, "values": "query=SELECT * FROM or_statiordine", "value": "$idstatoordine$" ]}
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstatoordine", "required": 1, "values": "query=SELECT * FROM or_statiordine", "value": "$idstatoordine$" ]}
</div>
</div>
@ -43,22 +43,22 @@ if ($module['name'] == 'Ordini cliente') {
<div class="row">
<div class="col-md-3">
<?php
if( $dir == 'entrata' ){
?>
{[ "type": "select", "label": "<?php echo tr("Cliente"); ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='Cliente' AND deleted=0 ORDER BY ragione_sociale", "value": "$idanagrafica$", "ajax-source": "clienti" ]}
if ($dir == 'entrata') {
?>
{[ "type": "select", "label": "<?php echo tr('Cliente'); ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='Cliente' AND deleted=0 ORDER BY ragione_sociale", "value": "$idanagrafica$", "ajax-source": "clienti" ]}
<?php
}
else{
?>
{[ "type": "select", "label": "<?php echo tr("Fornitore"); ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='Fornitore' AND deleted=0 ORDER BY ragione_sociale", "value": "$idanagrafica$" ]}
} else {
?>
{[ "type": "select", "label": "<?php echo tr('Fornitore'); ?>", "name": "idanagrafica", "required": 1, "values": "query=SELECT an_anagrafiche.idanagrafica AS id, ragione_sociale AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE descrizione='Fornitore' AND deleted=0 ORDER BY ragione_sociale", "value": "$idanagrafica$" ]}
<?php
}
?>
}
?>
</div>
<div class="col-md-3">
{[ "type": "select", "label": "<?php echo tr("Pagamento"); ?>", "name": "idpagamento", "required": 1, "values": "query=SELECT id, descrizione FROM co_pagamenti GROUP BY descrizione ORDER BY descrizione ASC", "value": "$idpagamento$" ]}
{[ "type": "select", "label": "<?php echo tr('Pagamento'); ?>", "name": "idpagamento", "required": 1, "values": "query=SELECT id, descrizione FROM co_pagamenti GROUP BY descrizione ORDER BY descrizione ASC", "value": "$idpagamento$" ]}
</div>
</div>
@ -70,7 +70,7 @@ if ($module['name'] == 'Ordini cliente') {
<div class="row">
<div class="col-md-12">
{[ "type": "textarea", "label": "<?php echo tr("Note"); ?>", "name": "note", "value": "$note$" ]}
{[ "type": "textarea", "label": "<?php echo tr('Note'); ?>", "name": "note", "value": "$note$" ]}
</div>
</div>
@ -91,18 +91,22 @@ if ($module['name'] == 'Ordini cliente') {
<div class="panel-body">
<div class="pull-left">
<?php if( $records[0]['stato'] != 'Evaso' ){ ?>
<?php if ($records[0]['stato'] != 'Evaso') {
?>
<a class="btn btn-sm btn-primary" data-href="<?php echo $rootdir ?>/modules/ordini/add_articolo.php?id_module=<?php echo $id_module ?>&id_record=<?php echo $id_record ?>" data-toggle="modal" data-title="Aggiungi articolo" data-target="#bs-popup"><i class="fa fa-plus"></i> Articolo</a>
<a class="btn btn-sm btn-primary" data-href="<?php echo $rootdir ?>/modules/ordini/add_riga.php?id_module=<?php echo $id_module ?>&id_record=<?php echo $id_record ?>" data-toggle="modal" data-title="Aggiungi riga" data-target="#bs-popup"><i class="fa fa-plus"></i> Riga generica</a>
<?php } ?>
<?php
} ?>
</div>
<div class="pull-right">
<!-- Stampe -->
<?php if( $records[0]['stato'] != 'Evaso' ){ ?>
<?php if ($records[0]['stato'] != 'Evaso') {
?>
<a class="btn btn-sm btn-info" data-href="<?php echo $rootdir ?>/modules/fatture/crea_documento.php?id_module=<?php echo $id_module ?>&&id_record=<?php echo $id_record ?>&documento=ddt" data-toggle="modal" data-title="Crea ddt" data-target="#bs-popup" ><i class="fa fa-magic"></i> Crea ddt da ordine...</i></a>
<a class="btn btn-sm btn-info" data-href="<?php echo $rootdir ?>/modules/fatture/crea_documento.php?id_module=<?php echo $id_module ?>&id_record=<?php echo $id_record ?>&documento=fattura" data-toggle="modal" data-title="Crea fattura" data-target="#bs-popup" ><i class="fa fa-magic"></i> Crea fattura da ordine...</i></a>
<?php } ?>
<?php
} ?>
<a class="btn btn-sm btn-info" target="_blank" href="<?php echo $rootdir ?>/pdfgen.php?ptype=ordini&idordine=<?php echo $id_record ?>" data-title="Stampa ordine"><i class="fa fa-print"></i> Stampa ordine</a>
</div>
@ -112,7 +116,7 @@ if ($module['name'] == 'Ordini cliente') {
<div class="row">
<div class="col-md-12">
<?php include($docroot."/modules/ordini/row-list.php"); ?>
<?php include $docroot.'/modules/ordini/row-list.php'; ?>
</div>
</div>
</div>
@ -121,3 +125,40 @@ if ($module['name'] == 'Ordini cliente') {
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
</a>
<?php
$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idordine` = '.prepare($id_record).') UNION
SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idordine` = '.prepare($id_record).')');
if (!empty($elementi)) {
echo '
<div class="alert alert-danger">
<p>'.tr('Ci sono _NUM_ documenti collegate a questo elemento', [
'_NUM_' => count($elementi),
]).'.</p>
<ul>';
foreach ($elementi as $elemento) {
$descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [
'_DOC_' => $elemento['tipo_documento'],
'_NUM_' => !empty($elemento['numero_esterno']) ? $elemento['numero_esterno'] : $elemento['numero'],
'_DATE_' => Translator::dateToLocale($elemento['data']),
]);
if (!in_array($elemento['tipo_documento'], ['Ddt di vendita', 'Ddt di acquisto'])) {
$modulo = ($elemento['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
} else {
$modulo = ($elemento['dir'] == 'entrata') ? 'Ddt di vendita' : 'Ddt di acquisto';
}
$id = $elemento['id'];
echo '
<li>'.Modules::link($modulo, $id, $descrizione).'</li>';
}
echo '
</ul>
<p>'.tr('Eliminando questo elemento si potrebbero verificare problemi nelle altre sezioni del gestionale!').'</p>
</div>';
}

View File

@ -161,3 +161,34 @@ include $docroot.'/modules/preventivi/row-list.php';
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
</a>
<?php
$fatture = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idpreventivo` = '.prepare($id_record).')');
if (!empty($fatture)) {
echo '
<div class="alert alert-danger">
<p>'.tr('Ci sono _NUM_ documenti collegate a questo elemento', [
'_NUM_' => count($fatture),
]).'.</p>
<ul>';
foreach ($fatture as $fattura) {
$descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [
'_DOC_' => $fattura['tipo_documento'],
'_NUM_' => !empty($fattura['numero_esterno']) ? $fattura['numero_esterno'] : $fattura['numero'],
'_DATE_' => Translator::dateToLocale($fattura['data']),
]);
$modulo = ($fattura['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto';
$id = $fattura['id'];
echo '
<li>'.Modules::link($modulo, $id, $descrizione).'</li>';
}
echo '
</ul>
<p>'.tr('Eliminando questo elemento si potrebbero verificare problemi nelle altre sezioni del gestionale!').'</p>
</div>';
}

View File

@ -458,9 +458,14 @@ class Modules
*/
public static function link($modulo, $id_record, $testo = null, $alternativo = true, $extra = null, $blank = true)
{
$testo = isset($testo) ? nl2br($testo) : tr('Visualizza scheda').' <i class="fa fa-external-link"></i>';
$testo = isset($testo) ? nl2br($testo) : tr('Visualizza scheda');
$alternativo = is_bool($alternativo) && $alternativo ? $testo : $alternativo;
// Aggiunta automatica dell'icona di riferimento
if (!str_contains($testo, '<i ')) {
$testo = $testo.' <i class="fa fa-external-link"></i>';
}
$module = self::getModule($modulo);
$extra .= !empty($blank) ? ' target="_blank"' : '';

View File

@ -16,7 +16,7 @@ echo '
<div class="row">
<div class="col-xs-6">
<div class="text-center" style="height:5mm;">
<b>'.tr('Contratto N<sup>o</sup> _NUM_ del _DATE_', [
<b>'.tr('Contratto Num. _NUM_ del _DATE_', [
'_NUM_' => $records[0]['numero'],
'_DATE_' => Translator::dateToLocale($records[0]['data_bozza']),
], ['upper' => true]).'</b>

View File

@ -55,7 +55,7 @@ foreach ($rs_gen as $r) {
$numero = !empty($rso[0]['numero_esterno']) ? $rso[0]['numero_esterno'] : $rso[0]['numero'];
echo '
<br/><small>'.tr('Rif. ordine n<sup>o</sup>_NUM_ del _DATE_', [
<br/><small>'.tr('Rif. ordine num._NUM_ del _DATE_', [
'_NUM_' => $numero,
'_DATE_' => Translator::dateToLocale($rso[0]['data']),
]).'</small>';

View File

@ -75,7 +75,7 @@ echo '
</th>
<th class="small" class style="width:20%">
'.tr('N<sup>o</sup> colli', [], ['upper' => true]).'
'.tr('Num. colli', [], ['upper' => true]).'
</th>
<th class="small" style="width:30%">

View File

@ -103,7 +103,7 @@ if ($rs[0]['buono_ordine'] != '') {
$body .= "<table class='table_values' border='0' cellspacing='1'>\n";
$body .= "<tr>\n";
$body .= "<td width='".$width."' class='center'><b>".$rs[0]['tipo_doc']."</b><br/>n<sup>o</sup> $numero</td>\n";
$body .= "<td width='".$width."' class='center'><b>".$rs[0]['tipo_doc']."</b><br/>num. $numero</td>\n";
$body .= "<td width='".$width."' class='center'><b>Data:</b><br/>".Translator::dateToLocale($rs[0]['data'])."</td>\n";
$body .= "<td width='".$width."' class='center'><b>Pagamento:</b><br/>".$rs[0]['tipo_pagamento']."</td>\n";
@ -331,14 +331,14 @@ if ($tot > 0) {
if (!empty($rsr[$i]['idordine'])) {
$rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM or_ordini WHERE id="'.$rsr[$i]['idordine'].'"');
($rso[0]['numero_esterno'] != '') ? $numero = $rso[0]['numero_esterno'] : $numero = $rso[0]['numero'];
$body .= '<br/><small>Rif. ordine n<sup>o</sup>'.$numero.' del '.Translator::dateToLocale($rso[0]['data']).'</small>';
$body .= '<br/><small>Rif. ordine num.'.$numero.' del '.Translator::dateToLocale($rso[0]['data']).'</small>';
}
// Aggiunta riferimento a ddt
elseif (!empty($rsr[$i]['idddt'])) {
$rso = $dbo->fetchArray('SELECT numero, numero_esterno, data FROM dt_ddt WHERE id="'.$rsr[$i]['idddt'].'"');
($rso[0]['numero_esterno'] != '') ? $numero = $rso[0]['numero_esterno'] : $numero = $rso[0]['numero'];
$body .= '<br/><small>Rif. ddt n<sup>o</sup>'.$numero.' del '.Translator::dateToLocale($rso[0]['data']).'</small>';
$body .= '<br/><small>Rif. ddt num.'.$numero.' del '.Translator::dateToLocale($rso[0]['data']).'</small>';
}
$body .= "</td>\n";

View File

@ -18,8 +18,8 @@ echo '
<tr>
<td class="text-center" style="width:40%">'.tr('Intervento numero').': <b>'.$records[0]['codice'].'</b></td>
<td class="text-center" style="width:20%">'.tr('Data').': <b>'.Translator::dateToLocale($records[0]['data_richiesta']).'</b></td>
<td class="text-center" style="width:20%">'.tr('Preventivo N<sup>o</sup>').': <b>'.$records[0]['numero_preventivo'].'</b></td>
<td class="text-center" style="width:20%">'.tr('Contratto N<sup>o</sup>').': <b>'.$records[0]['numero_contratto'].'</b></td>
<td class="text-center" style="width:20%">'.tr('Preventivo Num.').': <b>'.$records[0]['numero_preventivo'].'</b></td>
<td class="text-center" style="width:20%">'.tr('Contratto Num.').': <b>'.$records[0]['numero_contratto'].'</b></td>
</tr>';
// Dati cliente

View File

@ -40,7 +40,7 @@ $body .= "<tr><td align=\"center\" colspan=\"2\" valign=\"middle\" style=\"font-
// Titolo "ordine di servizio" e tecnico
$body .= "<tr>\n";
$body .= '<td style="width:50%;">ORDINE DI SERVIZIO N<sup>o</sup> '.$rs[0]['id']."</td>\n";
$body .= '<td style="width:50%;">ORDINE DI SERVIZIO Num. '.$rs[0]['id']."</td>\n";
$body .= '<td style="width:50%;">TECNICO: '.$rs[0]['tecnico']."</td>\n";
$body .= "</tr>\n";
@ -56,7 +56,7 @@ $body .= "<table class=\"table_values\" cellspacing=\"0\" border=\"0\" cellpaddi
// Informazioni a sinistra
$body .= "<tr>\n";
$body .= "<td style=\"width:50%;\" valign=\"top\">\n";
$body .= ' <b>Contratto n<sup>o</sup> '.$rs2[0]['numero'].":</b><br/>\n";
$body .= ' <b>Contratto num. '.$rs2[0]['numero'].":</b><br/>\n";
$body .= ' durata dal '.Translator::dateToLocale($rs2[0]['data_accettazione']).' al '.Translator::dateToLocale($rs2[0]['data_conclusione'])."<br/>\n";
$body .= ' Tipologia: '.$rs2[0]['nome']."<br/><br/>\n";

View File

@ -16,7 +16,7 @@ echo '
<div class="row">
<div class="col-xs-6">
<div class="text-center" style="height:5mm;">
<b>'.tr('Preventivo N<sup>o</sup> _NUM_ del _DATE_', [
<b>'.tr('Preventivo Num. _NUM_ del _DATE_', [
'_NUM_' => $records[0]['numero'],
'_DATE_' => Translator::dateToLocale($records[0]['data']),
], ['upper' => true]).'</b>