From 84bd8a484c5c972eb0cd7314f41ccd1edeb244a5 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Mon, 18 Sep 2017 15:57:37 +0200 Subject: [PATCH] Aggiunta di Google Maps nel plugin Sedi --- assets/src/css/style.css | 4 ++ modules/anagrafiche/edit.php | 1 + modules/statistiche/edit.php | 2 +- plugins/sedi/actions.php | 3 ++ plugins/sedi/edit.php | 74 ++++++++++++++++++++++++++++++++++-- update/2_3.sql | 3 +- 6 files changed, 82 insertions(+), 5 deletions(-) diff --git a/assets/src/css/style.css b/assets/src/css/style.css index 4adfde818..897cee617 100644 --- a/assets/src/css/style.css +++ b/assets/src/css/style.css @@ -563,3 +563,7 @@ input.min-width { input.small-width { min-width: 100px; } + +.pac-container { + z-index: 1100 !important; +} diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index d9a0dfaaf..be30b3ce1 100644 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -381,6 +381,7 @@ if (!empty($google)) { + '; // Articoli piĆ¹ venduti -$articoli = $dbo->fetchArray("SELECT SUM(co_righe_documenti.qta) AS qta, mg_articoli.id, mg_articoli.codice, mg_articoli.descrizione, mg_articoli.um FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN mg_articoli ON mg_articoli.id=co_righe_documenti.idarticolo WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' GROUP BY co_righe_documenti.idarticolo ORDER BY SUM(qta) DESC LIMIT 15'); +$articoli = $dbo->fetchArray("SELECT SUM(co_righe_documenti.qta) AS qta, mg_articoli.id, mg_articoli.codice, mg_articoli.descrizione, mg_articoli.um FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN mg_articoli ON mg_articoli.id=co_righe_documenti.idarticolo WHERE co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' GROUP BY co_righe_documenti.idarticolo ORDER BY SUM(co_righe_documenti.qta) DESC LIMIT 15'); echo '
diff --git a/plugins/sedi/actions.php b/plugins/sedi/actions.php index eafeb3c96..7c35bde5f 100644 --- a/plugins/sedi/actions.php +++ b/plugins/sedi/actions.php @@ -43,6 +43,9 @@ switch ($operazione) { 'fax' => $post['fax'], 'id_nazione' => !empty($post['id_nazione']) ? $post['id_nazione'] : null, 'idzona' => $post['idzona'], + 'gaddress' => $post['gaddress'], + 'lat' => $post['lat'], + 'lng' => $post['lng'], ]; $dbo->update('an_sedi', $array, ['id' => $post['id']]); diff --git a/plugins/sedi/edit.php b/plugins/sedi/edit.php index ba297fbe5..dd2d02028 100644 --- a/plugins/sedi/edit.php +++ b/plugins/sedi/edit.php @@ -2,8 +2,17 @@ include_once __DIR__.'/../../core.php'; +$google = Settings::get('Google Maps API key'); + +/* +if (!empty($google)) { + echo ' +'; +} +*/ + echo ' -
+ @@ -80,8 +89,51 @@ echo '
{[ "type": "select", "label": "'.tr('Zona').'", "name": "idzona", "values": "query=SELECT `id`, CONCAT(`nome`, \' - \', `descrizione`) AS `descrizione` FROM `an_zone` ORDER BY `descrizione` ASC", "value": "$idzona$" ]}
-
+ '; +if (!empty($google)) { + echo ' +
+
+
+
+ {[ "type": "text", "label": "'.tr('Indirizzo Google').'", "name": "gaddress", "value": "$gaddress$", "extra": "data-geo=\'formatted_address\'" ]} +
+ +
+ {[ "type": "text", "label": "'.tr('Latitudine').'", "name": "lat", "value": "$lat$", "extra": "data-geo=\'lat\'", "class": "text-right" ]} +
+ +
+ {[ "type": "text", "label": "'.tr('Longitudine').'", "name": "lng", "value": "$lng$", "extra": "data-geo=\'lng\'", "class": "text-right" ]} +
+
+
'; + + // Calcola percorso + if (empty($records[0]['gaddress']) || (empty($records[0]['lat']) && empty($records[0]['lng']))) { + echo ' + '; + } + + echo ' +
'; + + if (!empty($records[0]['gaddress']) || (!empty($records[0]['lat']) && !empty($records[0]['lng']))) { + echo ' +
'; + } +} else { + echo ' +
+ '.Modules::link('Impostazioni', $dbo->fetchArray("SELECT `idimpostazione` FROM `zz_settings` WHERE sezione='Generali'")[0]['idimpostazione'], tr('Per abilitare la visualizzazione delle anagrafiche nella mappa, inserire la Google Maps API Key nella scheda Impostazioni')).'. +
'; +} + +echo '
@@ -92,6 +144,22 @@ echo '
- +'; +echo ' '; + +echo ' +'; diff --git a/update/2_3.sql b/update/2_3.sql index 435e5c624..421fae349 100644 --- a/update/2_3.sql +++ b/update/2_3.sql @@ -945,7 +945,8 @@ ALTER TABLE `zz_widgets` ADD `help` varchar(255); -- Aggiunta delle mappe Google INSERT INTO `zz_settings` (`nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES ('Google Maps API key', '', 'string', '1', 'Generali'); -ALTER TABLE `an_anagrafiche` ADD `gaddress` varchar(255), ADD `lat` float(10, 5), ADD `lng` float(10, 5); +ALTER TABLE `an_anagrafiche` ADD `gaddress` varchar(255), ADD `lat` float(10, 6), ADD `lng` float(10, 6); +ALTER TABLE `an_sedi` ADD `gaddress` varchar(255), ADD `lat` float(10, 6), ADD `lng` float(10, 6); -- Aggiunta del modulo Statistiche INSERT INTO `zz_modules` (`id`, `name`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Statistiche', 'statistiche', 'custom', '', 'fa fa-bar-chart', '2.3', '2.3', '1', NULL, '1', '1');