Aggiunta colonna N. utenti abilitati e N. API abilitate

Migliorato messaggio informativo per interventi non fatturati.
This commit is contained in:
Luca 2024-02-12 19:17:33 +01:00
parent 571b5d2f85
commit 331e525ee9
3 changed files with 51 additions and 3 deletions

View File

@ -98,7 +98,7 @@ if (filter('action') == 'do_update') {
// Istruzioni per la prima installazione
if ($_GET['firstuse'] == 'true') {
echo '
<p class="text-danger">'.tr("E' fortemente consigliato rimuovere i permessi di scrittura dal file _FILE_", [
<p class="text-danger">'.tr("Si consiglia di rimuovere i permessi di scrittura dal file _FILE_", [
'_FILE_' => '<b>config.inc.php</b>',
]).'.</p>';
}

View File

@ -95,18 +95,57 @@ switch (post('op')) {
$raggruppamento = post('raggruppamento');
$where = '';
// Lettura interventi non collegati a preventivi, ordini e contratti
$query = 'SELECT *, IFNULL((SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id), in_interventi.data_richiesta) AS data, in_statiintervento.descrizione AS stato, in_interventi.codice AS codice_intervento FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE in_statiintervento.is_fatturabile=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id IN ('.implode(',', $id_records).')';
// Se non è attiva la relativa impostazione considero solo interventi non collegati a contratti, ordini o preventivi (default)
if (!setting('Permetti fatturazione delle attività collegate a contratti')) {
$where = ' AND in_interventi.id_contratto IS NULL';
$num_interventi_collegati_a_contratti = $dbo->fetchArray($query.' '.'AND in_interventi.id_contratto IS NOT NULL');
if (count($num_interventi_collegati_a_contratti) >0){
flash()->warning(tr('_NUM_ interventi collegati a contratti non sono stati fatturati. Puoi procedere alla fatturazione abilitando la relativa impostazione: _SETTING_', [
'_NUM_' => count($num_interventi_collegati_a_contratti),
'_SETTING_' => Modules::link('Impostazioni', null, tr('Permetti fatturazione delle attività collegate a contratti'), true, null, true, null, "&search=Permetti fatturazione delle attività collegate a contratti"),
]));
}
}
if (!setting('Permetti fatturazione delle attività collegate a ordini')) {
$where .= ' AND in_interventi.id_ordine IS NULL';
$num_interventi_collegati_a_ordini = $dbo->fetchArray($query.' '.'AND in_interventi.id_ordine IS NOT NULL');
if (count($num_interventi_collegati_a_ordini) >0){
flash()->warning(tr('_NUM_ interventi collegati a ordini non sono stati fatturati. Puoi procedere alla fatturazione abilitando la relativa impostazione: _SETTING_', [
'_NUM_' => count($num_interventi_collegati_a_ordini),
'_SETTING_' => Modules::link('Impostazioni', null, tr('Permetti fatturazione delle attività collegate a ordini'), true, null, true, null, "&search=Permetti fatturazione delle attività collegate a ordini"),
]));
}
}
if (!setting('Permetti fatturazione delle attività collegate a preventivi')) {
$where .= ' AND in_interventi.id_preventivo IS NULL';
$num_interventi_collegati_a_preventivi = $dbo->fetchArray($query.' '.'AND in_interventi.id_preventivo IS NOT NULL');
if (count($num_interventi_collegati_a_preventivi) >0){
flash()->warning(tr('_NUM_ interventi collegati a preventivi non sono stati fatturati. Puoi procedere alla fatturazione abilitando la relativa impostazione: _SETTING_', [
'_NUM_' => count($num_interventi_collegati_a_preventivi),
'_SETTING_' => Modules::link('Impostazioni', null, tr('Permetti fatturazione delle attività collegate a preventivi'), true, null, true, null, "&search=Permetti fatturazione delle attività collegate a preventivi"),
]));
}
}
$interventi = $dbo->fetchArray('SELECT *, IFNULL((SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id), in_interventi.data_richiesta) AS data, in_statiintervento.descrizione AS stato, in_interventi.codice AS codice_intervento FROM in_interventi INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento WHERE in_statiintervento.is_fatturabile=1 AND in_interventi.id NOT IN (SELECT idintervento FROM co_righe_documenti WHERE idintervento IS NOT NULL) AND in_interventi.id IN ('.implode(',', $id_records).') '.$where);
$interventi = $dbo->fetchArray($query.' '.$where);
// Lettura righe selezionate
foreach ($interventi as $intervento) {

View File

@ -483,3 +483,12 @@ WHERE
HAVING
2=2" WHERE `name` = 'Contratti';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_staticontratti_lang`.`name`' WHERE `zz_modules`.`name` = 'Contratti' AND `zz_views`.`name` = 'icon_title_Stato';
-- Aggiunta colonna N. utenti abilitati e N. API abilitate
UPDATE `zz_modules` SET `options` = 'SELECT\n |select|\nFROM \n `zz_groups` \n LEFT JOIN (SELECT `zz_users`.`idgruppo`, COUNT(`id`) AS num FROM `zz_users` GROUP BY `idgruppo`) AS utenti ON `zz_groups`.`id`=`utenti`.`idgruppo`\n LEFT JOIN (SELECT `zz_users`.`idgruppo`, COUNT(`id`) AS num FROM `zz_users` WHERE `zz_users`. `enabled` = 1 GROUP BY `idgruppo`) AS utenti_abilitati ON `zz_groups`.`id`=`utenti`.`idgruppo`\n LEFT JOIN (SELECT `zz_users`.`idgruppo`, COUNT(`zz_tokens`.`id`) AS num FROM `zz_users` INNER JOIN `zz_tokens` ON `zz_users`.`id` = `zz_tokens`.`id_utente` WHERE `zz_tokens`. `enabled` = 1 GROUP BY `idgruppo`) AS api_abilitate ON `zz_groups`.`id`=`utenti`.`idgruppo`\n LEFT JOIN (SELECT `zz_modules`.`title`, `zz_modules`.`id` FROM `zz_modules`) AS `module` ON `module`.`id`=`zz_groups`.`id_module_start`\nWHERE \n 1=1\nHAVING \n 2=2 \nORDER BY \n `id`, \n `nome` ASC' WHERE `zz_modules`.`name` = 'Utenti e permessi';
-- Aggiunta colonna N. utenti abilitati
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Utenti e permessi'), 'N. utenti abilitati', '`utenti_abilitati`.`num`', '3', '1', '0', '0', '0', '', '', '1', '0', '0');
-- Aggiunta colonna N. API abilitate
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Utenti e permessi'), 'N. API abilitate', '`api_abilitate`.`num`', '3', '1', '0', '0', '0', '', '', '1', '0', '0');