Migliorato Pulsante Precedente e Successivo all'interno della scheda attività

This commit is contained in:
Luca 2024-03-02 17:16:51 +01:00
parent 6406135540
commit 20a4c9dc2e
4 changed files with 39 additions and 19 deletions

View File

@ -412,8 +412,8 @@ if (Auth::check()) {
<li class="nav-button" >
<p style="padding:10px 15px;">&nbsp;</p>
</li>';
if ($user->gruppo == 'Amministratori') {
//Visualizzo gli hooks solo agli amministratori e solo se non sono stati disabilitati.
if ($user->gruppo == 'Amministratori' && !$config['disable_hooks']) {
echo '
<li class="dropdown notifications-menu nav-button">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">

View File

@ -43,9 +43,12 @@ if (isset($id_record)) {
WHERE
`in_interventi`.`id`='.prepare($id_record));
//Pulsante Precedente e Successivo all'interno della scheda attività
//Ricavo la query del modulo
$module_query = Util\Query::getQuery(Models\Module::getCurrent());
//Aggiunto eventuali filtri applicati alla vista
if (!empty(getSearchValues($id_module))) {
$having = [];
$search_values = getSearchValues($id_module);
@ -55,14 +58,30 @@ if (isset($id_record)) {
foreach($having as $condition) {
$module_query = str_replace('2=2', '2=2 AND '.$condition, $module_query);
}
//Controllo se questo id_record è presente all'interno dei risultati, altrimenti non considero i filtri applicati alla vista
/*$query_test = str_replace('1=1', '1=1 AND `in_interventi`.`id` ='.prepare($id_record), $module_query);
if (count($database->FetchArray($query_test))>0)
$module_query = $module_query;
else
$module_query = Util\Query::getQuery(Models\Module::getCurrent());*/
}
$prev_query = str_replace('1=1', '1=1 AND `in_interventi`.`codice` = '.($record['codice']-1), $module_query);
//Mi ricavo la posizione di questo id_record
$database->FetchArray('SET @posizione = 0;');
$posizioni = $database->FetchArray($module_query);
foreach($posizioni as $posizione) {
if ($posizione['id'] == $id_record)
$posizione_attuale = $posizione['posizione'];
}
$prev_query = str_replace('2=2', '2=2 AND `posizione` ='.$posizione_attuale-1, $module_query);
$database->FetchArray('SET @posizione = 0;');
$prev = $database->FetchOne($prev_query)['id'];
$next_query = str_replace('1=1', '1=1 AND `in_interventi`.`codice` = '.($record['codice']+1), $module_query);
$next_query = str_replace('2=2', '2=2 AND `posizione` ='.$posizione_attuale+1, $module_query);
$database->FetchArray('SET @posizione = 0;');
$next = $database->FetchOne($next_query)['id'];
}

View File

@ -26,13 +26,20 @@ echo '
<div class="row">
<div class="col-md-3">
{[ "type": "date", "label": "'.tr('Data inizio').'", "name": "data_inizio", "value": "-now-", "required":1 ]}
{[ "type": "date", "label": "'.tr('Data inizio periodo duplicazione').'", "name": "data_inizio", "value": "-now-", "required":1 ]}
</div>
<div class="col-md-3">
{[ "type": "date", "label": "'.tr('Data fine').'", "name": "data_fine", "value": "-now-", "required":1 ]}
{[ "type": "date", "label": "'.tr('Data fine periodo duplicazione').'", "name": "data_fine", "value": "-now-", "required":1 ]}
</div>
<div class="col-md-6">
{[ "type": "select", "multiple":"1", "label": "'.tr('Giorni da considerare per la duplicazione').'", "name": "giorni[]", "required": 0, "value": "'.strtolower(setting('Giorni lavorativi')).'", "values": "list=\"lunedì\":\"'.tr('Lunedì').'\", \"martedì\":\"'.tr('Martedì').'\", \"mercoledì\":\"'.tr('Mercoledì').'\", \"giovedì\":\"'.tr('Giovedì').'\", \"venerdì\":\"'.tr('Venerdì').'\", \"sabato\":\"'.tr('Sabato').'\", \"domenica\":\"'.tr('Domenica').'\"", "required":1 ]}
</div>
</div>
<div class="row">
<div class="col-md-3">
{[ "type": "time", "label": "'.tr('Ora richiesta').'", "name": "ora_richiesta", "value": "-now-", "required":1 ]}
</div>
@ -40,12 +47,6 @@ echo '
<div class="col-md-3">
{[ "type": "time", "label": "'.tr('Ora scadenza').'", "name": "ora_scadenza" ]}
</div>
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "select", "multiple":"1", "label": "'.tr('Giorni da considerare per la duplicazione').'", "name": "giorni[]", "required": 0, "value": "'.strtolower(setting('Giorni lavorativi')).'", "values": "list=\"lunedì\":\"'.tr('Lunedì').'\", \"martedì\":\"'.tr('Martedì').'\", \"mercoledì\":\"'.tr('Mercoledì').'\", \"giovedì\":\"'.tr('Giovedì').'\", \"venerdì\":\"'.tr('Venerdì').'\", \"sabato\":\"'.tr('Sabato').'\", \"domenica\":\"'.tr('Domenica').'\"", "required":1 ]}
</div>
<div class="col-md-6">
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `in_statiintervento`.`id`, `name` as descrizione, `colore` AS _bgcolor_ FROM `in_statiintervento` LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento`.`id` = `in_statiintervento_lang`.`id_record` AND `in_statiintervento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `deleted_at` IS NULL ORDER BY `name`", "value": "" ]}

View File

@ -427,8 +427,8 @@ class Query
}
$select = empty($select) ? '*' : implode(', ', $select);
$query = str_replace('|select|', $select, $query);
$query = str_replace('|select|', $select.', @posizione := @posizione + 1 AS `posizione`', $query);
return [
'query' => self::replacePlaceholder($query),