diff --git a/assets/src/css/fonts/sourcesanspro-regular-webfont.eot b/assets/src/css/fonts/sourcesanspro-regular-webfont.eot new file mode 100644 index 000000000..a0f4e1832 Binary files /dev/null and b/assets/src/css/fonts/sourcesanspro-regular-webfont.eot differ diff --git a/assets/src/css/fonts/sourcesanspro-regular-webfont.svg b/assets/src/css/fonts/sourcesanspro-regular-webfont.svg new file mode 100644 index 000000000..0345b6479 --- /dev/null +++ b/assets/src/css/fonts/sourcesanspro-regular-webfont.svg @@ -0,0 +1,1054 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/src/css/fonts/sourcesanspro-regular-webfont.ttf b/assets/src/css/fonts/sourcesanspro-regular-webfont.ttf new file mode 100644 index 000000000..a7fa05849 Binary files /dev/null and b/assets/src/css/fonts/sourcesanspro-regular-webfont.ttf differ diff --git a/assets/src/css/fonts/sourcesanspro-regular-webfont.woff b/assets/src/css/fonts/sourcesanspro-regular-webfont.woff new file mode 100644 index 000000000..c09cf34f2 Binary files /dev/null and b/assets/src/css/fonts/sourcesanspro-regular-webfont.woff differ diff --git a/assets/src/css/fonts/sourcesanspro-regular-webfont.woff2 b/assets/src/css/fonts/sourcesanspro-regular-webfont.woff2 new file mode 100644 index 000000000..1a811db19 Binary files /dev/null and b/assets/src/css/fonts/sourcesanspro-regular-webfont.woff2 differ diff --git a/assets/src/css/style.css b/assets/src/css/style.css index 7dab59b51..09333630d 100755 --- a/assets/src/css/style.css +++ b/assets/src/css/style.css @@ -21,16 +21,24 @@ } @font-face { - font-family: 'OpenSansRegular'; - src: url('../fonts/opensans-regular-webfont.eot'); - src: url('../fonts/opensans-regular-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/opensans-regular-webfont.woff') format('woff'), url('../fonts/opensans-regular-webfont.ttf') format('truetype'), url('../fonts/opensans-regular-webfont.svg#OpenSansRegular') format('svg'); - font-weight: normal; - font-style: normal; + font-family: 'Source Sans Pro'; + src: local('Source Sans Pro'), + url('../fonts/sourcesanspro-regular-webfont.eot') format('embedded-opentype'), + url('../fonts/sourcesanspro-regular-webfont.woff') format('woff'), + url('../fonts/sourcesanspro-regular-webfont.woff2') format('woff2'), + url('../fonts/sourcesanspro-regular-webfont.ttf') format('truetype'), + url('../fonts/sourcesanspro-regular-webfont.svg') format('svg'); } html, body { - font-family: 'Open Sans', sans-serif; + font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; + background-color: #fff; } html { diff --git a/assets/src/css/themes/default.css b/assets/src/css/themes/default.css index 8f074dc2c..b32922a96 100755 --- a/assets/src/css/themes/default.css +++ b/assets/src/css/themes/default.css @@ -24,6 +24,7 @@ .skin-default.login-page .wrapper { background: #d2d6de; + display: block; } .skin-default .content-wrapper, diff --git a/gulpfile.js b/gulpfile.js index d7f5bb48d..d45f3d8c7 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -255,6 +255,11 @@ const fonts = gulp.parallel(() => { 'bootstrap/dist/fonts/glyphicons-halflings-regular.ttf', 'bootstrap/dist/fonts/glyphicons-halflings-regular.woff', 'bootstrap/dist/fonts/glyphicons-halflings-regular.woff2', + '../assets/src/css/fonts/sourcesanspro-regular-webfont.eot', + '../assets/src/css/fonts/sourcesanspro-regular-webfont.svg', + '../assets/src/css/fonts/sourcesanspro-regular-webfont.ttf', + '../assets/src/css/fonts/sourcesanspro-regular-webfont.woff', + '../assets/src/css/fonts/sourcesanspro-regular-webfont.woff2', ]; for (const i in vendor) { diff --git a/include/top.php b/include/top.php index c0fe29029..3b5b8b974 100755 --- a/include/top.php +++ b/include/top.php @@ -333,7 +333,6 @@ if (Auth::check()) { $settings_collapse = session_get('settings.sidebar-collapse') ? 1 : 0; $hide_sidebar = Auth::check() && (setting('Nascondere la barra sinistra di default') || $settings_collapse); echo ' - diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php index 16de29310..58c2f618e 100755 --- a/modules/anagrafiche/actions.php +++ b/modules/anagrafiche/actions.php @@ -80,11 +80,12 @@ switch (post('op')) { $anagrafica->idiva_vendite = post('idiva_vendite'); $anagrafica->idbanca_acquisti = post('idbanca_acquisti'); $anagrafica->idbanca_vendite = post('idbanca_vendite'); - $anagrafica->settore = post('settore'); + $anagrafica->id_settore = post('id_settore'); $anagrafica->marche = post('marche'); $anagrafica->dipendenti = post('dipendenti'); $anagrafica->macchine = post('macchine'); $anagrafica->idagente = post('idagente'); + $anagrafica->id_provenienza = post('id_provenienza'); $anagrafica->idrelazione = post('idrelazione'); $anagrafica->sitoweb = post('sitoweb'); $anagrafica->iscrizione_tribunale = post('iscrizione_tribunale'); diff --git a/modules/anagrafiche/ajax/search.php b/modules/anagrafiche/ajax/search.php index dd9dfbd84..6154d3a5e 100755 --- a/modules/anagrafiche/ajax/search.php +++ b/modules/anagrafiche/ajax/search.php @@ -42,7 +42,6 @@ $fields = [ 'Sito web' => 'sitoweb', 'Note' => 'note', 'Codice REA' => 'codicerea', - 'Settore' => 'settore', 'Marche' => 'marche', 'CCIAA' => 'cciaa', 'Numero di iscrizione albo artigiani' => 'n_alboartigiani', diff --git a/modules/anagrafiche/ajax/select.php b/modules/anagrafiche/ajax/select.php index 2790216af..18368d312 100755 --- a/modules/anagrafiche/ajax/select.php +++ b/modules/anagrafiche/ajax/select.php @@ -372,6 +372,33 @@ switch ($resource) { } break; + + case 'provenienze': + $query = 'SELECT id, descrizione, colore AS bgcolor FROM an_provenienze |where| ORDER BY descrizione'; + + foreach ($elements as $element) { + $filter[] = 'id='.prepare($element); + } + + if (!empty($search)) { + $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%'); + } + + break; + + + case 'settori': + $query = 'SELECT id, descrizione FROM an_settori |where| ORDER BY descrizione'; + + foreach ($elements as $element) { + $filter[] = 'id='.prepare($element); + } + + if (!empty($search)) { + $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%'); + } + + break; /* * Opzioni utilizzate: diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index 873c3c12e..bd37709c7 100755 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -490,9 +490,8 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
- {[ "type": "select", "label": "'.tr('Tipo attività predefinita').'", "name": "idtipointervento_default", "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento ORDER BY descrizione ASC", "value": "$idtipointervento_default$" ]} + {[ "type": "select", "label": "'.tr('Provenienza cliente').'", "name": "id_provenienza", "ajax-source": "provenienze", "value": "$id_provenienza$", "icon-after": "add|'.Modules::get('Provenienze')['id'].'" ]}
-
{[ "type": "select", "label": "'.tr('Relazione con il cliente').'", "name": "idrelazione", "ajax-source": "relazioni", "value": "$idrelazione$", "icon-after": "add|'.Modules::get('Relazioni')['id'].'" ]}
@@ -555,6 +554,11 @@ if ($is_cliente or $is_fornitore or $is_tecnico) { echo '
+ + +
+ {[ "type": "select", "label": "'.tr('Tipo attività predefinita').'", "name": "idtipointervento_default", "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento ORDER BY descrizione ASC", "value": "$idtipointervento_default$" ]} +
'; @@ -671,9 +675,9 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
-
- {[ "type": "text", "label": "", "name": "settore", "value": "$settore$" ]} -
+
+ {[ "type": "select", "label": "", "name": "id_settore", "ajax-source": "settori", "value": "$id_settore$", "icon-after": "add|" ]} +
{[ "type": "text", "label": "", "name": "marche", "value": "$marche$" ]} diff --git a/modules/provenienze/actions.php b/modules/provenienze/actions.php new file mode 100644 index 000000000..415585da7 --- /dev/null +++ b/modules/provenienze/actions.php @@ -0,0 +1,83 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +switch (filter('op')) { + case 'update': + $descrizione = filter('descrizione'); + $colore = filter('colore'); + + if (isset($descrizione)) { + if ($dbo->fetchNum('SELECT * FROM `an_provenienze` WHERE `descrizione`='.prepare($descrizione).' AND `id`!='.prepare($id_record)) == 0) { + $dbo->query('UPDATE `an_provenienze` SET `descrizione`='.prepare($descrizione).', `colore`='.prepare($colore).' WHERE `id`='.prepare($id_record)); + flash()->info(tr('Salvataggio completato.')); + } else { + flash()->error(tr("E' già presente una provenienza _NAME_.", [ + '_TYPE_' => $descrizione, + ])); + } + } else { + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); + } + + break; + + case 'add': + $descrizione = filter('descrizione'); + $colore = filter('colore'); + + if (isset($descrizione)) { + if ($dbo->fetchNum('SELECT * FROM `an_provenienze` WHERE `descrizione`='.prepare($descrizione)) == 0) { + $dbo->query('INSERT INTO `an_provenienze` (`descrizione`, `colore`) VALUES ('.prepare($descrizione).', '.prepare($colore).')'); + + $id_record = $dbo->lastInsertedID(); + + if (isAjaxRequest()) { + echo json_encode(['id' => $id_record, 'text' => $descrizione]); + } + + flash()->info(tr('Aggiunta nuova provenienza _NAME_', [ + '_NAME_' => $descrizione, + ])); + } else { + flash()->error(tr("E' già presente una provenienza di _NAME_.", [ + '_NAME_' => $descrizione, + ])); + } + } else { + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); + } + + break; + + case 'delete': + $righe = $dbo->fetchNum('SELECT idanagrafica FROM an_anagrafiche WHERE id_provenienza='.prepare($id_record)); + + if (isset($id_record) && empty($righe)) { + $dbo->query('DELETE FROM `an_provenienze` WHERE `id`='.prepare($id_record)); + flash()->info(tr('Provenienza _NAME_ eliminata con successo!', [ + '_NAME_' => $descrizione, + ])); + } else { + flash()->error(tr('Sono presenti '.count($righe).' anagrafiche collegate a questa provenienza.')); + } + + break; +} diff --git a/modules/provenienze/add.php b/modules/provenienze/add.php new file mode 100644 index 000000000..128f30d00 --- /dev/null +++ b/modules/provenienze/add.php @@ -0,0 +1,51 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +?>
+ + + +
+
+ {[ "type": "text", "label": "", "name": "descrizione", "required": 1 ]} +
+ +
+ {[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "", "extra": "maxlength='7'", "icon-after": "
" ]} +
+
+ + +
+
+ +
+
+
+ + diff --git a/modules/provenienze/edit.php b/modules/provenienze/edit.php new file mode 100644 index 000000000..4626b85e0 --- /dev/null +++ b/modules/provenienze/edit.php @@ -0,0 +1,77 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +?>
+ + + + +
+
+

+
+ +
+
+
+ {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]} +
+ +
+ {[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "
" ]} +
+ +
+
+
+ +
+ +fetchNum('SELECT idanagrafica FROM an_anagrafiche WHERE id_provenienza='.prepare($id_record)); + +if (!empty($righe)) { + echo ' +
+ '.tr('Ci sono _NUM_ anagrafiche collegate', [ + '_NUM_' => $righe, + ]).'. +
'; +} else { + ?> + + + + + + + + + diff --git a/modules/provenienze/init.php b/modules/provenienze/init.php new file mode 100644 index 000000000..8fcd413c4 --- /dev/null +++ b/modules/provenienze/init.php @@ -0,0 +1,24 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +if (isset($id_record)) { + $record = $dbo->fetchOne('SELECT * FROM `an_provenienze` WHERE id='.prepare($id_record)); +} diff --git a/modules/settori_merceologici/actions.php b/modules/settori_merceologici/actions.php new file mode 100644 index 000000000..5f7f3aabe --- /dev/null +++ b/modules/settori_merceologici/actions.php @@ -0,0 +1,83 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +switch (filter('op')) { + case 'update': + $descrizione = filter('descrizione'); + $colore = filter('colore'); + + if (isset($descrizione)) { + if ($dbo->fetchNum('SELECT * FROM `an_settori` WHERE `descrizione`='.prepare($descrizione).' AND `id`!='.prepare($id_record)) == 0) { + $dbo->query('UPDATE `an_settori` SET `descrizione`='.prepare($descrizione).' WHERE `id`='.prepare($id_record)); + flash()->info(tr('Salvataggio completato.')); + } else { + flash()->error(tr("E' già presente il settore merceologico _NAME_.", [ + '_TYPE_' => $descrizione, + ])); + } + } else { + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); + } + + break; + + case 'add': + $descrizione = filter('descrizione'); + $colore = filter('colore'); + + if (isset($descrizione)) { + if ($dbo->fetchNum('SELECT * FROM `an_settori` WHERE `descrizione`='.prepare($descrizione)) == 0) { + $dbo->query('INSERT INTO `an_settori` (`descrizione`) VALUES ('.prepare($descrizione).')'); + + $id_record = $dbo->lastInsertedID(); + + if (isAjaxRequest()) { + echo json_encode(['id' => $id_record, 'text' => $descrizione]); + } + + flash()->info(tr('Aggiunto nuovo settore merceologico _NAME_', [ + '_NAME_' => $descrizione, + ])); + } else { + flash()->error(tr("E' già presente un settore merceologico _NAME_.", [ + '_NAME_' => $descrizione, + ])); + } + } else { + flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio')); + } + + break; + + case 'delete': + $righe = $dbo->fetchNum('SELECT idanagrafica FROM an_anagrafiche WHERE id_settore='.prepare($id_record)); + + if (isset($id_record) && empty($righe)) { + $dbo->query('DELETE FROM `an_settori` WHERE `id`='.prepare($id_record)); + flash()->info(tr('Settore merceologico _NAME_ eliminato con successo!', [ + '_NAME_' => $descrizione, + ])); + } else { + flash()->error(tr('Sono presenti '.count($righe).' anagrafiche collegate a questo settore merceologico.')); + } + + break; +} diff --git a/modules/settori_merceologici/add.php b/modules/settori_merceologici/add.php new file mode 100644 index 000000000..442a60abd --- /dev/null +++ b/modules/settori_merceologici/add.php @@ -0,0 +1,47 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +?>
+ + + +
+
+ {[ "type": "text", "label": "", "name": "descrizione", "required": 1 ]} +
+
+ + +
+
+ +
+
+
+ + diff --git a/modules/settori_merceologici/edit.php b/modules/settori_merceologici/edit.php new file mode 100644 index 000000000..9b71f1217 --- /dev/null +++ b/modules/settori_merceologici/edit.php @@ -0,0 +1,72 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +?>
+ + + + +
+
+

+
+ +
+
+
+ {[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$" ]} +
+
+
+
+ +
+ +fetchNum('SELECT idanagrafica FROM an_anagrafiche WHERE id_settore='.prepare($id_record)); + +if (!empty($righe)) { + echo ' +
+ '.tr('Ci sono _NUM_ anagrafiche collegate', [ + '_NUM_' => $righe, + ]).'. +
'; +} else { + ?> + + + + + + + + + diff --git a/modules/settori_merceologici/init.php b/modules/settori_merceologici/init.php new file mode 100644 index 000000000..5a7607dec --- /dev/null +++ b/modules/settori_merceologici/init.php @@ -0,0 +1,24 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +if (isset($id_record)) { + $record = $dbo->fetchOne('SELECT * FROM `an_settori` WHERE id='.prepare($id_record)); +} diff --git a/src/HTMLBuilder/Handler/ChoicesHandler.php b/src/HTMLBuilder/Handler/ChoicesHandler.php index 045394dac..e172706f0 100755 --- a/src/HTMLBuilder/Handler/ChoicesHandler.php +++ b/src/HTMLBuilder/Handler/ChoicesHandler.php @@ -68,6 +68,13 @@ class ChoicesHandler implements HandlerInterface // Gestione dei placeholder $values['placeholder'] = isset($values['placeholder']) ? $values['placeholder'] : $values['label']; + // Gestione valori custom + if ( !empty($values['values']) ){ + $valori_custom = explode(",",$values['values']); + $options = ''.str_replace('"','',$valori_custom[0]).' + '.str_replace('"','',$valori_custom[1]).''; + } + // Generazione del codice HTML // "+ this.checked" rende il valore booleano un numero $result = ' @@ -78,9 +85,15 @@ class ChoicesHandler implements HandlerInterface -
'; diff --git a/update/2_4_28.sql b/update/2_4_28.sql index 19dcbd684..987150b02 100644 --- a/update/2_4_28.sql +++ b/update/2_4_28.sql @@ -33,7 +33,7 @@ UPDATE `zz_prints` SET `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name`='Stampe contabili'), '1', 'Libro giornale', 'Libro giornale', 'Libro giornale', 'libro_giornale', 'idconto', '', 'fa fa-print', '', '', '0', '0', '1', '1'); -- Aggiunta tabella mansioni -CREATE TABLE IF NOT EXISTS `an_mansioni` ( `id` INT NOT NULL AUTO_INCREMENT , `nome` VARCHAR(100) NOT NULL , `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , `updated_at` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , PRIMARY KEY (`id`)); +CREATE TABLE IF NOT EXISTS `an_mansioni` ( `id` INT NOT NULL AUTO_INCREMENT , `nome` VARCHAR(100) NOT NULL , PRIMARY KEY (`id`)); INSERT INTO `an_mansioni`( `nome` @@ -56,7 +56,7 @@ INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `visible`, UPDATE `zz_plugins` SET `options` = ' { \"main_query\": [ { \"type\": \"table\", \"fields\": \"Nominativo, Mansione, Telefono, Indirizzo email, Sede\", \"query\": \"SELECT an_referenti.id, an_referenti.nome AS Nominativo, an_mansioni.nome AS Mansione, an_referenti.telefono AS Telefono, an_referenti.email AS \'Indirizzo email\', IF(idsede = 0, \'Sede legale\', an_sedi.nomesede) AS Sede FROM an_referenti LEFT OUTER JOIN an_sedi ON idsede = an_sedi.id LEFT OUTER JOIN an_mansioni ON idmansione = an_mansioni.id WHERE 1=1 AND an_referenti.idanagrafica=|id_parent| HAVING 2=2 ORDER BY an_referenti.id DESC\"} ]}' WHERE `zz_plugins`.`name` = 'Referenti'; -CREATE TABLE IF NOT EXISTS `em_mansioni_template` ( `id` INT NOT NULL AUTO_INCREMENT , `idmansione` INT NOT NULL , `id_template` INT NOT NULL , `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , `updated_at` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`)); +CREATE TABLE IF NOT EXISTS `em_mansioni_template` ( `id` INT NOT NULL AUTO_INCREMENT , `idmansione` INT NOT NULL , `id_template` INT NOT NULL , PRIMARY KEY (`id`)); -- Aggiunta notifiche ai tecnici assegnati ALTER TABLE `in_statiintervento` CHANGE `notifica_tecnici` `notifica_tecnico_sessione` TINYINT(4) NOT NULL; diff --git a/update/2_4_34.sql b/update/2_4_34.sql index fc0e21484..5ddcf6b4a 100644 --- a/update/2_4_34.sql +++ b/update/2_4_34.sql @@ -60,3 +60,51 @@ INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione` -- Filtro per mostrare preventivi ai clienti INSERT INTO `zz_group_module` (`idgruppo`, `idmodule`, `name`, `clause`, `position`, `enabled`, `default`) VALUES ((SELECT `id` FROM `zz_groups` WHERE `nome`='Clienti'), (SELECT `id` FROM `zz_modules` WHERE `name`='Preventivi'), 'Mostra preventivi ai clienti coinvolti', 'co_preventivi.idanagrafica=|id_anagrafica|', 'WHR', 1, 0); + +-- Nuova tabella per gestire le provenienze +CREATE TABLE IF NOT EXISTS `an_provenienze` ( + `id` int NOT NULL AUTO_INCREMENT, + `descrizione` varchar(100) NOT NULL, + `colore` varchar(7) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB; + + +INSERT INTO `an_provenienze` (`id`, `descrizione`, `colore`) VALUES +(NULL, 'Sito web', '#caffb7'), +(NULL, 'Passaparola', '#8fbafd'); + +-- Aggiunto id_provenienza per scheda anagrafica Cliente +ALTER TABLE `an_anagrafiche` ADD `id_provenienza` AFTER `idrelazione`, INT DEFAULT NULL; + +-- Nuovo modulo per gestire le "Provenienze" +INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`, `use_notes`, `use_checklists`) VALUES (NULL, 'Provenienze', 'Provenienze clienti', 'provenienze', 'SELECT |select| FROM `an_provenienze` WHERE 1=1 HAVING 2=2', '', 'fa fa-angle-right', '2.4.34', '2.4.34', '3', (SELECT id FROM zz_modules t WHERE t.name = 'Anagrafiche'), '1', '1', '0', '0'); + +INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `visible`, `format`, `default`) VALUES +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Provenienze'), 'id', 'an_provenienze.id', 1, 1, 0, 1), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Provenienze'), 'descrizione', 'an_provenienze.descrizione', 2, 1, 0, 1), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Provenienze'), 'colore', 'an_provenienze.colore', 3, 1, 0, 1); + + +-- Aggiunta tabella settore merceologico +CREATE TABLE IF NOT EXISTS `an_settori` ( `id` INT NOT NULL AUTO_INCREMENT , `descrizione` VARCHAR(100) NOT NULL , PRIMARY KEY (`id`)); + +INSERT INTO `an_settori`( + `descrizione` +)( + SELECT DISTINCT `settore` FROM `an_anagrafiche` +); + +ALTER TABLE `an_anagrafiche` ADD `id_settore` INT NOT NULL AFTER `settore`; + +UPDATE `an_anagrafiche`, `an_settori` SET `id_settore`=`an_settori`.`id` WHERE `an_settori`.`descrizione`=`an_anagrafiche`.`settore`; + +ALTER TABLE `an_anagrafiche` DROP `settore`; + + +-- Nuovo modulo per gestire i "Settori merceologici" +INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`, `use_notes`, `use_checklists`) VALUES (NULL, 'Settori', 'Settori merceologici', 'settori_merceologici', 'SELECT |select| FROM `an_settori` WHERE 1=1 HAVING 2=2', '', 'fa fa-angle-right', '2.4.34', '2.4.34', '4', (SELECT id FROM zz_modules t WHERE t.name = 'Anagrafiche'), '1', '1', '0', '0'); + +INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `visible`, `format`, `default`) VALUES +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Settori'), 'id', 'an_settori.id', 1, 1, 0, 1), +(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Settori'), 'descrizione', 'an_settori.descrizione', 2, 1, 0, 1); diff --git a/update/tables.php b/update/tables.php index 58c4573f8..864b0a517 100755 --- a/update/tables.php +++ b/update/tables.php @@ -8,6 +8,8 @@ return [ 'an_referenti', 'an_regioni', 'an_relazioni', + 'an_provenienze', + 'an_settori', 'an_sedi', 'an_tipianagrafiche', 'an_tipianagrafiche_anagrafiche',