diff --git a/modules/anagrafiche/plugins/allegati.php b/modules/anagrafiche/plugins/allegati.php index badb24455..3773210bc 100755 --- a/modules/anagrafiche/plugins/allegati.php +++ b/modules/anagrafiche/plugins/allegati.php @@ -45,6 +45,8 @@ if (empty($_GET['visualizza_allegati'])) { //Controllo i permessi dei modulo per la visualizzazione degli allegati $rs = $dbo->table('zz_permissions')->where('idgruppo', $user->idgruppo)->get(); $permessi = []; + $documenti[] = 0; + foreach ($rs as $r) { $permessi[] = $r->idmodule; } diff --git a/modules/contratti/plugins/contratti.consuntivo.php b/modules/contratti/plugins/contratti.consuntivo.php index 36ebdceb1..6cb0c95a7 100755 --- a/modules/contratti/plugins/contratti.consuntivo.php +++ b/modules/contratti/plugins/contratti.consuntivo.php @@ -263,7 +263,7 @@ $budget = $rs[0]['budget']; $rs = $dbo->fetchArray("SELECT SUM(qta) AS totale_ore FROM `co_righe_contratti` WHERE um='ore' AND idcontratto=".prepare($id_record)); $totale_ore_contratto = $rs[0]['totale_ore']; -$diff = sum($budget, -$totale); +$diff = sum($budget, -$totale) - $contratto->provvigione; if ($diff > 0) { $bilancio = ''.moneyFormat($diff).''; diff --git a/modules/fatture/bulk.php b/modules/fatture/bulk.php index 1866ac780..e7b4e05ca 100755 --- a/modules/fatture/bulk.php +++ b/modules/fatture/bulk.php @@ -33,6 +33,7 @@ use Carbon\Carbon; $anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita')); $stato_emessa = $dbo->selectOne('co_statidocumento', 'id', ['descrizione' => 'Emessa'])['id']; +$is_fiscale = $dbo->selectOne('zz_segments', 'is_fiscale', ['id' => $_SESSION['module_'.$id_module]])['is_fiscale']; switch (post('op')) { case 'export-bulk': @@ -569,6 +570,35 @@ switch (post('op')) { } } break; + + case 'cambia-sezionale': + $count = 0; + $n_doc = 0; + + foreach ($id_records as $id) { + $documento = Fattura::find($id); + ++ $count; + + if($documento->stato->descrizione == 'Bozza') { + $documento->id_segment = post('id_segment'); + $documento->save(); + ++ $n_doc; + } + } + + if ($n_doc > 0) { + flash()->info(tr('_NUM_ fatture spostate', [ + '_NUM_' => $n_doc, + ])); + } + + if (($count - $n_doc) > 0) { + flash()->warning(tr('_NUM_ fatture non sono state spostate perchè non sono in stato "Bozza".', [ + '_NUM_' => $count - $n_doc, + ])); + } + + break; } if (App::debug()) { @@ -697,6 +727,19 @@ if ($dir == 'entrata') { ]; } +$operations['cambia-sezionale'] = [ + 'text' => ' '.tr('Cambia sezionale'), + 'data' => [ + 'title' => tr('Cambia sezionale'), + 'msg' => tr('Scegli il sezionale _TIPOLOGIA_ in cui spostare le fatture in stato "Bozza" selezionate', [ + '_TIPOLOGIA_' => $is_fiscale ? tr('fiscale') : tr('non fiscale'), + ]).':

{[ "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' => $is_fiscale, 'escludi_id' => $_SESSION['module_'.$id_module]['id_segment']]).', "select-options-escape": true ]}', + 'button' => tr('Procedi'), + 'class' => 'btn btn-lg btn-warning', + 'blank' => false, + ], +]; + if (Interaction::isEnabled()) { $operations['hook-send'] = [ 'text' => ' '.tr('Coda di invio FE').'', diff --git a/modules/primanota/movimenti.php b/modules/primanota/movimenti.php index 90b86ed81..0f8e16da2 100755 --- a/modules/primanota/movimenti.php +++ b/modules/primanota/movimenti.php @@ -123,7 +123,7 @@ $totale_avere = 0; // Elenco per documenti $scadenze = $movimenti - ->where('iddocumento', '<>', '') + ->where('iddocumento', '<>', 0) ->groupBy('iddocumento'); foreach ($scadenze as $id_documento => $righe) { $documento = Fattura::find($id_documento); @@ -137,8 +137,8 @@ foreach ($scadenze as $id_documento => $righe) { // Elenco per scadenze $scadenze = $movimenti - ->where('iddocumento', '=', '') - ->where('id_scadenza', '<>', '') + ->where('iddocumento', '=', 0) + ->where('id_scadenza', '<>', 0) ->groupBy('id_scadenza'); foreach ($scadenze as $id_scadenza => $righe) { $nome = tr('Scadenza num. _ID_', [ @@ -150,8 +150,8 @@ foreach ($scadenze as $id_scadenza => $righe) { // Elenco generale $movimenti_generali = $movimenti - ->where('iddocumento', '=', '0') - ->where('id_scadenza', '=', ''); + ->where('iddocumento', '=', 0) + ->where('id_scadenza', '=', 0); if ($movimenti_generali->isEmpty()) { $movimenti_generali->push([]); $movimenti_generali->push([]); diff --git a/modules/segmenti/ajax/select.php b/modules/segmenti/ajax/select.php index 7aa8f0ab0..860b1fb24 100644 --- a/modules/segmenti/ajax/select.php +++ b/modules/segmenti/ajax/select.php @@ -25,7 +25,8 @@ switch ($resource) { $id_module = $superselect['id_module']; $is_fiscale = $superselect['is_fiscale']; $is_sezionale = $superselect['is_sezionale']; - + $escludi_id = $superselect['escludi_id']; + if (isset($id_module)) { $query = 'SELECT `id`, `name` AS descrizione FROM zz_segments INNER JOIN `zz_group_segment` ON `zz_segments`.`id` = `zz_group_segment`.`id_segment` |where| ORDER BY `name` ASC'; @@ -40,6 +41,10 @@ switch ($resource) { $where[] = 'zz_segments.is_sezionale = '.prepare($is_sezionale); } + if ($escludi_id != null) { + $where[] = 'zz_segments.id != '.prepare($escludi_id); + } + foreach ($elements as $element) { $filter[] = 'id='.prepare($element); } diff --git a/update/2_4_47.sql b/update/2_4_47.sql index 9137a62e9..baf23b85f 100644 --- a/update/2_4_47.sql +++ b/update/2_4_47.sql @@ -15,4 +15,8 @@ UPDATE `zz_settings` SET `help` = "Valore espresso in Giga superato il quale vie -- Rimozione google maps DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Google Maps API key'; -INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Tile server OpenStreetMap', 'https://{s}.tile.openstreetmap.de/{z}/{x}/{y}.png', 'string', '1', 'Generali', NULL, NULL); \ No newline at end of file +INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Tile server OpenStreetMap', 'https://{s}.tile.openstreetmap.de/{z}/{x}/{y}.png', 'string', '1', 'Generali', NULL, NULL); + +-- Nuova colonna Giorni scadenza in Scadenzario +INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES +((SELECT `id` FROM `zz_modules` WHERE name='Scadenzario'), 'Scadenza giorni', 'DATEDIFF(co_scadenziario.scadenza,NOW())', 19, 1, 0, 0, 0, '', '', 1, 0, 0); \ No newline at end of file