diff --git a/addons/website/models/res_config.py b/addons/website/models/res_config.py index 518ace8b699..1d3c9d0fd38 100644 --- a/addons/website/models/res_config.py +++ b/addons/website/models/res_config.py @@ -33,3 +33,17 @@ class WebsiteConfigSettings(models.TransientModel): module_website_form_editor = fields.Boolean("Form builde = create and customize forms") module_website_version = fields.Boolean("A/B testing and versioning") favicon = fields.Binary('Favicon', related='website_id.favicon') + + +class BaseConfigSettings(models.TransientModel): + _inherit = 'base.config.settings' + + google_maps_api_key = fields.Char(string='Google Maps API Key') + + def set_google_maps_api_key(self): + self.env['ir.config_parameter'].set_param( + 'google_maps_api_key', (self.google_maps_api_key or '').strip(), groups=['base.group_system']) + + def get_default_google_maps_api_key(self, fields): + google_maps_api_key = self.env['ir.config_parameter'].get_param('google_maps_api_key', default='') + return dict(google_maps_api_key=google_maps_api_key) diff --git a/addons/website/models/res_partner.py b/addons/website/models/res_partner.py index 973ad736d90..d0f4a76b199 100644 --- a/addons/website/models/res_partner.py +++ b/addons/website/models/res_partner.py @@ -16,11 +16,15 @@ class Partner(models.Model): @api.multi def google_map_img(self, zoom=8, width=298, height=298): + google_maps_api_key = self.env['ir.config_parameter'].sudo().get_param('google_maps_api_key') + if not google_maps_api_key: + return False params = { 'center': '%s, %s %s, %s' % (self.street or '', self.city or '', self.zip or '', self.country_id and self.country_id.name_get()[0][1] or ''), 'size': "%sx%s" % (height, width), 'zoom': zoom, 'sensor': 'false', + 'key': google_maps_api_key, } return urlplus('//maps.googleapis.com/maps/api/staticmap', params) diff --git a/addons/website/views/res_config_views.xml b/addons/website/views/res_config_views.xml index 72a2823bba4..5cf5b5f9752 100644 --- a/addons/website/views/res_config_views.xml +++ b/addons/website/views/res_config_views.xml @@ -1,6 +1,26 @@ + + general.configuration.inherit.form + base.config.settings + + + + + + + Website settings website.config.settings diff --git a/addons/website/views/website_templates.xml b/addons/website/views/website_templates.xml index f1096472d5c..c58057eec12 100644 --- a/addons/website/views/website_templates.xml +++ b/addons/website/views/website_templates.xml @@ -910,9 +910,14 @@ Sitemap: sitemap.xml "widget": "contact", "fields": ["name", "address", "phone", "mobile", "fax", "email"]}'/> - - - + + + + + + + Visualize on Google Maps +