diff --git a/assets/src/css/style.css b/assets/src/css/style.css
index 2da906138..d1c970f0e 100755
--- a/assets/src/css/style.css
+++ b/assets/src/css/style.css
@@ -741,6 +741,9 @@ input.small-width {
border: 1px solid #dd4b46;
}
+.fc-event .fc-event-main {
+ overflow: hidden;
+}
/* Fix per tabs editor */
diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php
index 228cb5046..e52d6f4c6 100755
--- a/modules/articoli/edit.php
+++ b/modules/articoli/edit.php
@@ -197,7 +197,7 @@ use Modules\Iva\Aliquota;
- {[ "type": "number", "label": "", "name": "fattore_um_secondaria", "value": "$fattore_um_secondaria$", "decimals": "qta", "help": "" ]}
+ {[ "type": "number", "label": "", "name": "fattore_um_secondaria", "value": "$fattore_um_secondaria$", "decimals": "10", "help": "" ]}
diff --git a/modules/contratti/edit.php b/modules/contratti/edit.php
index 777498ee2..f1e1a87fd 100755
--- a/modules/contratti/edit.php
+++ b/modules/contratti/edit.php
@@ -21,9 +21,9 @@ include_once __DIR__.'/../../core.php';
$block_edit = $record['is_completato'];
-if (strtotime($record['data_conclusione']) < strtotime($record['data_accettazione'])) {
+if (strtotime($record['data_conclusione']) < strtotime($record['data_accettazione']) && !empty(strtotime($record['data_accettazione'])) && !empty(strtotime($record['data_conclusione'])) ) {
echo '
-
'.tr('Attenzione! La data di accettazione supera la data di conclusione del contratto. verificare tali informazioni.').'
';
+
'.tr('Attenzione! La data di accettazione supera la data di conclusione del contratto. Verificare le informazioni inserite.').'
';
}
?>
diff --git a/modules/dashboard/edit.php b/modules/dashboard/edit.php
index 165350a21..6ffb47703 100755
--- a/modules/dashboard/edit.php
+++ b/modules/dashboard/edit.php
@@ -512,6 +512,10 @@ globals.dashboard = {
weekNumbers: true,
weekText: "W",
nowIndicator: true,
+ //height: "auto",
+ //aspectRatio: 1.8,
+ stickyHeaderDates: true,
+ expandRows: true,
schedulerLicenseKey: "GPL-My-Project-Is-Open-Source",
hiddenDays: globals.dashboard.show_sunday ? [] : [0],
headerToolbar: {
diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php
index 6e7df18ce..c013cdb96 100755
--- a/modules/ddt/actions.php
+++ b/modules/ddt/actions.php
@@ -450,6 +450,18 @@ switch (filter('op')) {
// eliminazione ddt
case 'delete':
try {
+ // Se il ddt è collegato ad un ddt di trasporto interno, devo annullare il movimento del magazzino
+ if ($ddt->id_ddt_trasporto_interno !== null) {
+ $ddt_trasporto = DDT::find($ddt->id_ddt_trasporto_interno);
+ // prendo le righe del ddt di trasporto
+ $righe_trasporto = $ddt_trasporto->getRighe();
+
+ // per ogni riga del ddt di trasporto movimento il magazzino con la quantità negativa
+ foreach ($righe_trasporto as $riga_trasporto) {
+ $riga_trasporto->movimenta(-$riga_trasporto->qta);
+ }
+ }
+
$ddt->delete();
flash()->info(tr('Ddt eliminato!'));
@@ -483,8 +495,13 @@ switch (filter('op')) {
$tipo = Tipo::where('dir', '!=', $ddt->direzione)->first();
$stato = Stato::where('descrizione', '=', 'Evaso')->first();
- // Duplicazione DDT
- $copia = DDT::build($ddt->anagrafica, $tipo, $ddt->data, post('id_segment'));
+ // Duplicazione DDT
+ $id_segment = post('id_segment');
+ if (get('id_segment')) {
+ $id_segment = get('id_segment');
+ }
+
+ $copia = DDT::build($ddt->anagrafica, $tipo, $ddt->data, $id_segment);
$copia->stato()->associate($stato);
$copia->id_ddt_trasporto_interno = $ddt->id;
$copia->idaspettobeni = $ddt->idaspettobeni;
diff --git a/modules/ddt/buttons.php b/modules/ddt/buttons.php
index be3275d1a..25b516b80 100755
--- a/modules/ddt/buttons.php
+++ b/modules/ddt/buttons.php
@@ -21,10 +21,10 @@ use Models\Module;
include_once __DIR__.'/../../core.php';
+$id_module_collegamento = $ddt->direzione == 'entrata' ? Module::pool('Ddt di acquisto')->id : Module::pool('Ddt di vendita')->id;
+
// Informazioni sui movimenti interni
if (!empty($ddt->id_ddt_trasporto_interno)) {
- $id_module_collegamento = $ddt->direzione == 'entrata' ? Module::pool('Ddt di acquisto')->id : Module::pool('Ddt di vendita')->id;
-
echo '
@@ -43,16 +43,17 @@ if (!empty($ddt->id_ddt_trasporto_interno)) {
function completaTrasporto() {
swal({
title: "'.tr('Completare il trasporto?').'",
- text: "'.tr('Sei sicuro di voler completare il trasporto interno tramite un DDT in direzione opposta?').'",
+ html: "'.tr('Sei sicuro di voler completare il trasporto interno tramite un DDT in direzione opposta?').'" + `
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(["id_module" => $id_module_collegamento, 'is_sezionale' => 1]).', "value": "'.$_SESSION['module_'.$id_module_collegamento]['id_segment'].'" ]}`,
type: "warning",
showCancelButton: true,
confirmButtonClass: "btn btn-lg btn-success",
confirmButtonText: "'.tr('Completa').'",
}).then(
function() {
- location.href = globals.rootdir + "/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=completa_trasporto&backto=record-edit";
+ location.href = globals.rootdir + "/editor.php?id_module='.$id_module.'&id_segment=" + $("select[name=id_segment]").val() + "&id_record='.$id_record.'&op=completa_trasporto&backto=record-edit";
},
- function() {}
+ function() {},
+ start_superselect(),
);
}
';
diff --git a/modules/fatture/buttons.php b/modules/fatture/buttons.php
index c4990f0a5..cdc77224c 100755
--- a/modules/fatture/buttons.php
+++ b/modules/fatture/buttons.php
@@ -59,7 +59,7 @@ echo '
}
if (empty($record['is_fiscale'])) {
- $msg = '
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(["id_module" => $id_module, 'is_sezionale' => 1, 'is_fiscale' => 1]).' ]}
+ $msg = '
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(["id_module" => $id_module, 'is_sezionale' => 1, 'is_fiscale' => 1]).', "select-options-escape": true ]}
{[ "type": "date", "label": "'.tr('Data').'", "name": "data", "required": 1, "value": "-now-" ]}';
echo '
diff --git a/update/2_4_40.sql b/update/2_4_40.sql
index a2d5d3b8c..355c5856e 100644
--- a/update/2_4_40.sql
+++ b/update/2_4_40.sql
@@ -122,7 +122,7 @@ HAVING
2=2" WHERE `name` = 'Pagamenti';
-- Aggiunta impostazione Numero massimo widget per colonna
-INSERT INTO zz_settings(nome, valore, tipo, editable, sezione) VALUES ('Numero massimo Widget per riga','6','list[1,2,3,4,6]','1','Generali');
+INSERT INTO `zz_settings`(`nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES ('Numero massimo Widget per riga','6','list[1,2,3,4,6]','1','Generali');
-- Modifica widget Magazzino
UPDATE `zz_widgets` SET `query` = 'SELECT REPLACE(REPLACE(REPLACE(FORMAT(SUM(qta),2), ",", "#"), ".", ","), "#", ".") AS dato FROM mg_articoli WHERE qta>0 AND deleted_at IS NULL AND servizio=0 AND 1=1' WHERE `zz_widgets`.`name` = 'Articoli in magazzino';
@@ -155,13 +155,13 @@ ORDER BY
ALTER TABLE `an_anagrafiche` ADD `id_dichiarazione_intento_default` INT NULL AFTER `idtipointervento_default`, ADD FOREIGN KEY (`id_dichiarazione_intento_default`) REFERENCES `co_dichiarazioni_intento`(`id`);
-- Aggiunta impostazione Movimentazione articoli da fatture di acquisto
-INSERT INTO zz_settings(nome, valore, tipo, editable, sezione) VALUES ('Movimenta magazzino da fatture di acquisto','1','boolean','1','Fatturazione Elettronica');
+INSERT INTO `zz_settings`(`nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES ('Movimenta magazzino da fatture di acquisto','1','boolean','1','Fatturazione Elettronica');
-- Permetto valore null per numero_esterno di co_documenti
ALTER TABLE `co_documenti` CHANGE `numero_esterno` `numero_esterno` VARCHAR(100) NULL DEFAULT NULL;
-- Aggiunta impostazione Posizione della valuta
-INSERT INTO zz_settings(nome, valore, tipo, editable, sezione) VALUES ('Posizione del simbolo valuta','Dopo','list[Prima,Dopo]','1','Generali');
+INSERT INTO `zz_settings`(`nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES ('Posizione del simbolo valuta','Dopo','list[Prima,Dopo]','1','Generali');
-- Miglioria segmenti scadenzario
UPDATE `zz_segments` SET `name` = 'Scadenzario completo' WHERE `zz_segments`.`name` = 'Scadenziaro completo';
diff --git a/update/2_4_42.sql b/update/2_4_42.sql
new file mode 100644
index 000000000..90357ec6c
--- /dev/null
+++ b/update/2_4_42.sql
@@ -0,0 +1,2 @@
+-- Ampliamento decimali fattore moltiplicativo per unità di misura secondaria
+ALTER TABLE `mg_articoli` CHANGE `fattore_um_secondaria` `fattore_um_secondaria` DECIMAL(19,10) NULL DEFAULT NULL;
\ No newline at end of file