Skip to content

Commit fe36df2

Browse files
feat: gestione flag abilitato stati impianti
1 parent 00a8ee2 commit fe36df2

4 files changed

Lines changed: 91 additions & 7 deletions

File tree

modules/impianti/ajax/select.php

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
switch ($resource) {
2424
case 'impianti':
25-
$query = 'SELECT id, CONCAT(matricola, " - ", nome) AS descrizione FROM my_impianti |where| ORDER BY id, idanagrafica';
25+
$query = 'SELECT id, CONCAT(matricola, " - ", nome) AS descrizione, IFNULL(my_statiimpianti.is_abilitato,1) AS is_abilitato FROM my_impianti LEFT JOIN my_statiimpianti ON my_impianti.id_stato=my_statiimpianti.id |where| ORDER BY id, idanagrafica';
2626

2727
foreach ($elements as $element) {
2828
$filter[] = 'id='.prepare($element);
@@ -33,7 +33,19 @@
3333
$search_fields[] = 'matricola LIKE '.prepare('%'.$search.'%');
3434
}
3535

36-
$custom['link'] = 'module:Impianti';
36+
$data = AJAX::selectResults($query, $where, $filter, $search_fields, $limit, $custom);
37+
$rs = $data['results'];
38+
foreach ($rs as $k => $r) {
39+
$rs[$k] = array_merge($r, [
40+
'text' => $r['descrizione'],
41+
'disabled' => !empty($elements) ? 0 : !$r['is_abilitato'],
42+
]);
43+
}
44+
$results = [
45+
'results' => $rs,
46+
'recordsFiltered' => $data['recordsFiltered'],
47+
'link' => 'module:Impianti'
48+
];
3749

3850
break;
3951

@@ -42,7 +54,7 @@
4254
* - idanagrafica
4355
*/
4456
case 'impianti-cliente':
45-
$query = 'SELECT my_impianti.id, CONCAT(my_impianti.matricola, " - ", my_impianti.nome) AS descrizione, my_impianti.idanagrafica, an_anagrafiche.ragione_sociale, my_impianti.idsede, IFNULL(an_sedi.nomesede, "Sede legale") AS nomesede FROM my_impianti LEFT JOIN an_anagrafiche ON my_impianti.idanagrafica=an_anagrafiche.idanagrafica LEFT JOIN an_sedi ON my_impianti.idsede=an_sedi.id';
57+
$query = 'SELECT my_impianti.id, CONCAT(my_impianti.matricola, " - ", my_impianti.nome) AS descrizione, my_impianti.idanagrafica, an_anagrafiche.ragione_sociale, my_impianti.idsede, IFNULL(an_sedi.nomesede, "Sede legale") AS nomesede, IFNULL(my_statiimpianti.is_abilitato,1) AS is_abilitato FROM my_impianti LEFT JOIN an_anagrafiche ON my_impianti.idanagrafica=an_anagrafiche.idanagrafica LEFT JOIN an_sedi ON my_impianti.idsede=an_sedi.id LEFT JOIN my_statiimpianti ON my_impianti.id_stato=my_statiimpianti.id';
4658
if (!empty($superselect['idcontratto'])) {
4759
$query .= ' INNER JOIN my_impianti_contratti ON my_impianti.id=my_impianti_contratti.idimpianto';
4860
$where[] = 'my_impianti_contratti.idcontratto='.prepare($superselect['idcontratto']);
@@ -70,6 +82,19 @@
7082
$search_fields[] = 'my_impianti.matricola LIKE '.prepare('%'.$search.'%');
7183
}
7284

85+
$data = AJAX::selectResults($query, $where, $filter, $search_fields, $limit, $custom);
86+
$rs = $data['results'];
87+
foreach ($rs as $k => $r) {
88+
$rs[$k] = array_merge($r, [
89+
'text' => $r['descrizione'],
90+
'disabled' => !empty($elements) ? 0 : !$r['is_abilitato'],
91+
]);
92+
}
93+
$results = [
94+
'results' => $rs,
95+
'recordsFiltered' => $data['recordsFiltered'],
96+
];
97+
7398
break;
7499

75100
/*

modules/stati_impianti/actions.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
}
3636
$stato->icona = post('icona');
3737
$stato->colore = post('colore');
38+
$stato->is_abilitato = post('is_abilitato');
3839
$stato->save();
3940

4041
$stato->setTranslation('title', $descrizione);

modules/stati_impianti/edit.php

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,29 @@
3333
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
3434

3535
<div class="row">
36-
<div class="col-md-5">
36+
<div class="col-md-4">
3737
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$title$", "extra": "<?php echo $attr; ?>" ]}
3838
</div>
3939

40-
<div class="col-md-4">
40+
<div class="col-md-3">
4141
{[ "type": "text", "label": "<?php echo tr('Icona'); ?>", "name": "icona", "required": 1, "class": "text-center", "value": "$icona$", "extra": "", "icon-after": "<?php echo (!empty($record['icona'])) ? '<i class=\"'.$record['icona'].'\"></i>' : ''; ?>" ]}
4242
</div>
4343

44-
<div class="col-md-3">
44+
<div class="col-md-2">
4545
{[ "type": "text", "label": "<?php echo tr('Colore'); ?>", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "<div class='img-circle square'></div>" ]}
4646
</div>
47+
48+
<div class="col-md-3">
49+
<div class="card card-primary">
50+
<div class="card-header">
51+
<h3 class="card-title"><?php echo tr('Flags'); ?></h3>
52+
</div>
53+
54+
<div class="card-body">
55+
{[ "type": "checkbox", "label": "<?php echo tr('Abilitato?'); ?>", "name": "is_abilitato", "value": "$is_abilitato$", "help": "<?php echo tr('Gli impianti che si trovano in questo stato se disattivo verranno disabilitati dai vari menù a tendina'); ?>" ]}
56+
</div>
57+
</div>
58+
</div>
4759
</div>
4860
</form>
4961

update/2_11.sql

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,4 +248,50 @@ UPDATE `zz_segments_lang` SET `title`='Sales' WHERE `title` LIKE 'Standard sales
248248
UPDATE `zz_segments` SET `name`='Vendite' WHERE `name` LIKE 'Standard vendite';
249249
UPDATE `zz_segments_lang` SET `title`='Acquisti' WHERE `title` LIKE 'Standard acquisti';
250250
UPDATE `zz_segments_lang` SET `title`='Purchases' WHERE `title` LIKE 'Standard purchases';
251-
UPDATE `zz_segments` SET `name`='Acquisti' WHERE `name` LIKE 'Standard acquisti';
251+
UPDATE `zz_segments` SET `name`='Acquisti' WHERE `name` LIKE 'Standard acquisti';
252+
253+
-- Nuova colonna stato impianto
254+
ALTER TABLE `my_statiimpianti` ADD `is_abilitato` BOOLEAN NOT NULL DEFAULT TRUE AFTER `deleted_at`;
255+
256+
UPDATE `zz_modules` SET `options` = "
257+
SELECT
258+
|select|
259+
FROM
260+
`my_impianti`
261+
LEFT JOIN `an_anagrafiche` AS clienti ON `clienti`.`idanagrafica` = `my_impianti`.`idanagrafica`
262+
LEFT JOIN `an_anagrafiche` AS tecnici ON `tecnici`.`idanagrafica` = `my_impianti`.`idtecnico`
263+
LEFT JOIN `zz_categorie` ON `zz_categorie`.`id` = `my_impianti`.`id_categoria`
264+
LEFT JOIN `zz_categorie_lang` ON (`zz_categorie`.`id` = `zz_categorie_lang`.`id_record` AND `zz_categorie_lang`.|lang|)
265+
LEFT JOIN `zz_categorie` as sub ON sub.`id` = `my_impianti`.`id_sottocategoria`
266+
LEFT JOIN `zz_categorie_lang` as sub_lang ON (sub.`id` = sub_lang.`id_record` AND sub_lang.|lang|)
267+
LEFT JOIN (SELECT an_sedi.id, CONCAT(an_sedi.nomesede, '<br />',IF(an_sedi.telefono!='',CONCAT(an_sedi.telefono,'<br />'),''),IF(an_sedi.cellulare!='',CONCAT(an_sedi.cellulare,'<br />'),''),an_sedi.citta,IF(an_sedi.indirizzo!='',CONCAT(' - ',an_sedi.indirizzo),'')) AS info FROM an_sedi) AS sede ON sede.id = my_impianti.idsede
268+
LEFT JOIN `zz_marche` as marca ON `marca`.`id` = `my_impianti`.`id_marca`
269+
LEFT JOIN `zz_marche` as modello ON `modello`.`id` = `my_impianti`.`id_modello`
270+
LEFT JOIN `my_statiimpianti` ON `my_impianti`.`id_stato`=`my_statiimpianti`.`id`
271+
LEFT JOIN `my_statiimpianti_lang` ON (`my_statiimpianti`.`id` = `my_statiimpianti_lang`.`id_record` AND `my_statiimpianti_lang`.|lang|)
272+
WHERE
273+
1=1
274+
HAVING
275+
2=2
276+
ORDER BY
277+
`matricola`" WHERE `name` = 'Impianti';
278+
279+
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `avg`, `default`) VALUES ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Impianti'), 'Stato', '`my_statiimpianti_lang`.`title`', '13', '1', '0', '0', '0', '', '', '1', '0', '0', '0');
280+
281+
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
282+
(1, (SELECT MAX(`id`) FROM `zz_views`), 'Stato'),
283+
(2, (SELECT MAX(`id`) FROM `zz_views`), 'Status');
284+
285+
-- Segmenti impianti
286+
INSERT INTO `zz_segments` (`id_module`, `name`, `clause`, `position`, `pattern`, `note`, `dicitura_fissa`, `predefined`, `predefined_accredito`, `predefined_addebito`, `autofatture`, `for_fe`, `is_sezionale`, `is_fiscale`) VALUES
287+
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Impianti'), 'Disabilitati', '1=1 AND `my_statiimpianti`.`is_abilitato`=0', 'WHR', '####', '', '', 0, 0, 0, 0, 0, 0, 0),
288+
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Impianti'), 'Abilitati', '1=1 AND (`my_statiimpianti`.`is_abilitato`=1 OR `my_statiimpianti`.`is_abilitato` IS NULL)', 'WHR', '####', '', '', 0, 0, 0, 0, 0, 0, 0),
289+
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Impianti'), 'Tutti', '1=1', 'WHR', '####', '', '', 1, 0, 0, 0, 0, 0, 1);
290+
291+
INSERT INTO `zz_segments_lang` (`id`, `id_lang`, `id_record`, `title`) VALUES
292+
(NULL, '1', (SELECT MAX(`id`) FROM `zz_segments`), 'Tutti'),
293+
(NULL, '2', (SELECT MAX(`id`) FROM `zz_segments`), 'All'),
294+
(NULL, '1', (SELECT MAX(`id`)-1 FROM `zz_segments`), 'Abilitati'),
295+
(NULL, '2', (SELECT MAX(`id`)-1 FROM `zz_segments`), 'Enabled'),
296+
(NULL, '1', (SELECT MAX(`id`)-2 FROM `zz_segments`), 'Disabilitati'),
297+
(NULL, '2', (SELECT MAX(`id`)-2 FROM `zz_segments`), 'Disabled');

0 commit comments

Comments
 (0)