Aggiunta possibilità di utilizzare campi "multiple" in impostazioni
Aggiunte impostazioni: - Inizio orario lavorativo - Fine orario lavorativo - Giorni lavorativi
This commit is contained in:
parent
f84b2dd9be
commit
e5da5d776d
|
@ -6,11 +6,19 @@ switch (filter('op')) {
|
|||
case 'update':
|
||||
$is_all_valid = true;
|
||||
|
||||
|
||||
|
||||
foreach (post('setting') as $id => $value) {
|
||||
|
||||
$result = Settings::get($id);
|
||||
|
||||
if (preg_match("/multiple\[(.+?)\]/", $result['tipo'], $m)) {
|
||||
$value = implode(",", $value);
|
||||
}
|
||||
|
||||
$is_valid = Settings::setValue($id, $value);
|
||||
|
||||
if (!$is_valid) {
|
||||
$result = Settings::get($id);
|
||||
if (!$is_valid) {
|
||||
|
||||
// integer
|
||||
if ($result['tipo'] == 'integer') {
|
||||
|
@ -26,6 +34,8 @@ switch (filter('op')) {
|
|||
'_NAME_' => '"'.$result['nome'].'"',
|
||||
]));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$is_all_valid &= $is_valid;
|
||||
|
|
|
@ -165,16 +165,16 @@ class Intervento extends Document
|
|||
*/
|
||||
public static function getNextCodice($data)
|
||||
{
|
||||
$maschera = setting('Formato codice intervento');
|
||||
$maschera = setting('Formato codice attività');
|
||||
|
||||
//$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice');
|
||||
|
||||
if (setting('Continua la numerazione')){
|
||||
if (setting('Ingnora il periodo temporale per il calcolo del codice attività')){
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice', []);
|
||||
}else{
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice', [
|
||||
'YEAR(data_richiesta) = '.prepare(date('Y', strtotime($data))),
|
||||
]);
|
||||
}else{
|
||||
$ultimo = Generator::getPreviousFrom($maschera, 'in_interventi', 'codice', []);
|
||||
}
|
||||
|
||||
$numero = Generator::generate($maschera, $ultimo);
|
||||
|
|
|
@ -48,7 +48,7 @@ class Settings
|
|||
}
|
||||
|
||||
/**
|
||||
* Restituisce le informazioni relative a una singolo impostazione specificata.
|
||||
* Restituisce le informazioni relative ad una singola impostazione specificata.
|
||||
*
|
||||
* @param string|int $setting
|
||||
*
|
||||
|
@ -87,7 +87,9 @@ class Settings
|
|||
*/
|
||||
public static function setValue($setting, $value)
|
||||
{
|
||||
|
||||
$setting = self::get($setting);
|
||||
|
||||
|
||||
// Trasformazioni
|
||||
// Boolean (checkbox)
|
||||
|
@ -105,6 +107,15 @@ class Settings
|
|||
// verifico che il valore scelto sia nella lista enumerata nel db
|
||||
elseif (preg_match("/list\[(.+?)\]/", $setting->tipo, $m)) {
|
||||
$validator = v::in(explode(',', $m[1]));
|
||||
|
||||
}
|
||||
|
||||
// multiple
|
||||
// verifico che il valore scelto sia nella lista enumerata nel db
|
||||
elseif (preg_match("/multiple\[(.+?)\]/", $setting->tipo, $m[0][0])) {
|
||||
|
||||
//$validator = v::in(explode(',', $m[0][0][1]));
|
||||
|
||||
}
|
||||
|
||||
// Boolean (checkbox)
|
||||
|
@ -150,6 +161,22 @@ class Settings
|
|||
{[ "type": "select", "label": "'.$setting->nome.'", "name": "setting['.$setting->id.']", "values": '.json_encode($list).', "value": "'.$setting->valore.'", "required": "'.intval($required).'", "help": "'.$setting->help.'" ]}';
|
||||
}
|
||||
|
||||
// Lista multipla
|
||||
if (preg_match("/multiple\[(.+?)\]/", $setting->tipo, $m)) {
|
||||
$values = explode(',', $m[1]);
|
||||
|
||||
$list = [];
|
||||
foreach ($values as $value) {
|
||||
$list[] = [
|
||||
'id' => $value,
|
||||
'text' => $value,
|
||||
];
|
||||
}
|
||||
|
||||
$result = '
|
||||
{[ "type": "select", "multiple": 1, "label": "'.$setting->nome.'", "name": "setting['.$setting->id.'][]", "values": '.json_encode($list).', "value": "'.$setting->valore.'", "required": "'.intval($required).'", "help": "'.$setting->help.'" ]}';
|
||||
}
|
||||
|
||||
// Lista da query
|
||||
elseif (preg_match('/^query=(.+?)$/', $setting->tipo, $m)) {
|
||||
$result = '
|
||||
|
|
|
@ -146,10 +146,19 @@ ALTER TABLE `co_scadenziario` ADD `note` VARCHAR(255) DEFAULT NULL AFTER `data_p
|
|||
-- Aggiunta note in vista scadenzario --
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Scadenzario' ), 'Note', 'co_scadenziario.note', '5', '1', '0', '0', '', '', '0', '0', '0');
|
||||
|
||||
|
||||
|
||||
UPDATE `zz_settings` SET `nome` = 'Ora inizio sul calendario' WHERE `zz_settings`.`nome` = 'Inizio orario lavorativo';
|
||||
UPDATE `zz_settings` SET `nome` = 'Ora fine sul calendario' WHERE `zz_settings`.`nome` = 'Fine orario lavorativo';
|
||||
UPDATE `zz_settings` SET `nome` = 'Formato codice attività' WHERE `zz_settings`.`nome` = 'Formato codice intervento';
|
||||
|
||||
-- Flag per decisere se continuare attraverso gli anni la numerazione delle attività sulla base dello stesso contatore
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `help`) VALUES (NULL, 'Continua la numerazione', '0', 'boolean', '1', 'Interventi', 'Continua attraverso gli anni la numerazione delle attività sulla base dello stesso contatore.');
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `help`) VALUES (NULL, 'Ingnora il periodo temporale per il calcolo del codice attività', '0', 'boolean', '1', 'Interventi', 'Continua attraverso gli anni la numerazione delle attività sulla base dello stesso contatore.');
|
||||
|
||||
|
||||
-- Inizio orario lavorativo
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `help`) VALUES (NULL, 'Inizio orario lavorativo', '08:00:00', 'time', '1', 'Interventi', 'Inizio dell''orario lavorativo standard.');
|
||||
|
||||
-- Fine orario lavorativo
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `help`) VALUES (NULL, 'Fine orario lavorativo', '18:00:00', 'time', '1', 'Interventi', 'Fine dell''orario lavorativo standard.');
|
||||
|
||||
-- Giorni lavorativi
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`,`help`) VALUES (NULL, 'Giorni lavorativi', 'Lunedì,Martedì,Mercoledì,Giovedì,Venerdì', 'multiple[Lunedì,Martedì,Mercoledì,Giovedì,Venerdì,Sabato,Domenica]', '1', 'Interventi', '');
|
Loading…
Reference in New Issue