Aggiornamento CHANGELOG

This commit is contained in:
Thomas Zilio 2019-07-31 12:27:41 +02:00
parent a88c2be5f1
commit 59e48f2d80
4 changed files with 38 additions and 67 deletions

View File

@ -4,7 +4,8 @@ Tutti i maggiori cambiamenti di questo progetto saranno documentati in questo fi
Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://keepachangelog.com/), e il progetto segue il [Semantic Versioning](http://semver.org/) per definire le versioni delle release.
- [2.4.10 (2019-07-23)](#2410-2019-07-)
- [2.4.11 (2019-)](#2411-2019-)
- [2.4.10 (2019-07-23)](#2410-2019-07-23)
- [2.4.9 (2019-05-17)](#249-2019-05-17)
- [2.4.8 (2019-03-01)](#248-2019-03-01)
- [2.4.7 (2019-02-21)](#247-2019-02-21)
@ -20,6 +21,38 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k
- [2.2 (2016-11-10)](#22-2016-11-10)
- [2.1 (2015-04-02)](#21-2015-04-02)
## 2.4.11 (2019-)
### Aggiunto (Added)
- Nuova sezione *Note interne* nei moduli **Anagrafiche**, **Attività**, **Preventivi**, **Contratti**, **Fatture di vendita**, **Fatture di acquisto**, **Scadenzario**, **Ordini cliente**, **Ordini fornitore**, **Articoli**, **DDT di uscita**, **DDT di entrata** e **MyImpianti**
- Nuova sezione *Checklist* nei moduli **Attività** e **MyImpianti**
- Nuova procedura di ripristino password via email
- Supporto a multiple versioni dell'API interna, per mantenere la compatibilità con servizi esterni collegati a seguito di aggiornamenti e nuove funzionalità
- Possibilità di registrare contabilmente in modo massivo le fatture in **Fatture di vendita** e le scadenze in **Scadenzario**
- Possibilità di importare in sequenza tutte le *Fatture Elettroniche* presenti, con supporto alle relazioni delle **Fatture di acquisto** con le *Note di credito/debito* e le *Parcelle*
- Supporto al footer solo nell'ultima pagina per le stampe (**Fatture di vendita** e **DDT di uscita**) tramite l'opzione *last-page-footer*
- Informazioni più complete sulle *Fatture Elettroniche* da importare per gli utenti con servizio di importazione automatica
- Possibilità di indicare una foto per l'utente, visualizzata nelle *Note interne* e nei futuri allegati che verranno caricati
- Possibilità di modificare il nome delle categorie degli allegati
- Stampe dei consuntivi interni (i prezzi sono sostituiti dai costi)
- Supporto all'inserimento manuale di maggiori attributi per le *Fatture Elettroniche*, tramite gli appositi pulsanti "Attributi avanzati" all'interno delle **Fatture di vendita**
- Aggiunto Identificativo documento, Num Item, codici CIG e CUP in **DDT di uscita**
### Modificato (Changed)
- Aggiornamento delle stampe di *Riepilogo intervento*, *Consuntivo contratto* e *Consuntivo preventivo*
- Correzione dell'importazione delle *Fatture Elettroniche* per supportare Ritenuta d'Acconto (dove indicata), Rivalsa INPS (su tutto il documento) e Ritenuta contributi (su tutto il documento)
- Miglioramento del sistema di evasione delle quantità nel passaggio tra documenti, ora integrato nelle classi Eloquent e completamente automatico
- Correzione delle diciure generali *Imponibile scontato* in *Totale imponibile* e *Sconto* in *Sconto/maggiorazione*
### Rimosso (Removed)
- Funzione *get_costi_intervento* del modulo **Attività**, a causa dell'aggiornamento della maggior parte del sistema di gestione degli **Attività** con le classi Eloquent
### Fixed
-
## 2.4.10 (2019-07-23)
### Aggiunto (Added)

View File

@ -188,56 +188,3 @@ function datediff($interval, $datefrom, $dateto, $using_timestamps = false)
return $datediff;
}
/*
* Porting della funzione random_int() per rendere Mpdf retrocompatibile con PHP 5.6
*/
if (!function_exists('random_int')) {
function random_int($min, $max)
{
if (!function_exists('mcrypt_create_iv')) {
trigger_error(
'mcrypt must be loaded for random_int to work',
E_USER_WARNING
);
return null;
}
if (!is_int($min) || !is_int($max)) {
trigger_error('$min and $max must be integer values', E_USER_NOTICE);
$min = (int) $min;
$max = (int) $max;
}
if ($min > $max) {
trigger_error('$max can\'t be lesser than $min', E_USER_WARNING);
return null;
}
$range = $counter = $max - $min;
$bits = 1;
while ($counter >>= 1) {
++$bits;
}
$bytes = (int) max(ceil($bits / 8), 1);
$bitmask = pow(2, $bits) - 1;
if ($bitmask >= PHP_INT_MAX) {
$bitmask = PHP_INT_MAX;
}
do {
$result = hexdec(
bin2hex(
mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM)
)
) & $bitmask;
} while ($result > $range);
return $result + $min;
}
}

View File

@ -124,7 +124,7 @@ switch ($resource) {
}
// IVA da impostazioni
$idiva_predefinita = get_var('Iva predefinita');
$idiva_predefinita = setting('Iva predefinita');
$iva_predefinita = $dbo->fetchOne('SELECT descrizione FROM co_iva WHERE id='.prepare($idiva_predefinita))['descrizione'];
$previous_category = -1;

View File

@ -17,16 +17,6 @@ echo '
</div>
<div class="panel-body">';
$search_lotto = get('search_lotto');
$search_serial = get('search_serial');
$search_altro = get('search_altro');
// Calcolo prossimo lotto e serial number
$rs = $dbo->fetchArray('SELECT serial FROM mg_prodotti WHERE id_articolo='.prepare($id_record).' ORDER BY id DESC LIMIT 0,1');
$max_serial = $rs[0]['serial'];
$next_serial = get_next_code($max_serial);
echo '
<form action="" method="post" role="form">
<input type="hidden" name="backto" value="record-edit">
@ -46,7 +36,7 @@ echo '
<label class="col-md-2 control-label" for="serial_start">'.tr('Serial number da').':</label>
<div class="col-md-2">
<input type="text" class="form-control input-md" name="serial_start" onkeyup="$(\'input[name=serial_end]\').val( $(\'input[name=serial_start]\').val() ); $(\'#warn_serial\').hide(); ricalcola_totale_prodotti();" value="'.$next_serial.'" />
<input type="text" class="form-control input-md" name="serial_start" onkeyup="$(\'input[name=serial_end]\').val( $(\'input[name=serial_start]\').val() ); $(\'#warn_serial\').hide(); ricalcola_totale_prodotti();" value="" />
</div>
<label class="col-md-1 control-label text-center" for="serial_end">
@ -54,7 +44,7 @@ echo '
</label>
<div class="col-md-2">
<input type="text" class="form-control input-md" name="serial_end" onkeyup="check_progressivo( $(\'input[name=serial_start]\'), $(\'input[name=serial_end]\'), $(\'#warn_serial\'), $(\'#inserisci\') );" value="'.$next_serial.'" />
<input type="text" class="form-control input-md" name="serial_end" onkeyup="check_progressivo( $(\'input[name=serial_start]\'), $(\'input[name=serial_end]\'), $(\'#warn_serial\'), $(\'#inserisci\') );" value="" />
</div>';
if (!empty($max_serial)) {
@ -119,6 +109,7 @@ $rs = $dbo->fetchArray('SELECT COUNT(id) AS tot FROM mg_prodotti WHERE id_artico
$tot_prodotti = $rs[0]['tot'];
// Visualizzazione di tutti i prodotti
$search_serial = get('search_serial');
$query = 'SELECT id, serial, created_at FROM mg_prodotti WHERE serial IS NOT NULL AND id_articolo='.prepare($id_record).(!empty($search_serial) ? ' AND serial LIKE '.prepare('%'.$search_serial.'%') : '').' GROUP BY serial ORDER BY created_at DESC, serial DESC, lotto DESC, altro DESC';
$rs2 = $dbo->fetchArray($query);