summaryrefslogtreecommitdiff
path: root/addons/website/models/res_partner.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/website/models/res_partner.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website/models/res_partner.py')
-rw-r--r--addons/website/models/res_partner.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/addons/website/models/res_partner.py b/addons/website/models/res_partner.py
new file mode 100644
index 00000000..0af69ab2
--- /dev/null
+++ b/addons/website/models/res_partner.py
@@ -0,0 +1,43 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+import werkzeug.urls
+
+from odoo import models, fields
+
+class Partner(models.Model):
+ _name = 'res.partner'
+ _inherit = ['res.partner', 'website.published.multi.mixin']
+
+ visitor_ids = fields.One2many('website.visitor', 'partner_id', string='Visitors')
+
+ def google_map_img(self, zoom=8, width=298, height=298):
+ google_maps_api_key = self.env['website'].get_current_website().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.display_name or ''),
+ 'size': "%sx%s" % (width, height),
+ 'zoom': zoom,
+ 'sensor': 'false',
+ 'key': google_maps_api_key,
+ }
+ return '//maps.googleapis.com/maps/api/staticmap?'+werkzeug.urls.url_encode(params)
+
+ def google_map_link(self, zoom=10):
+ params = {
+ 'q': '%s, %s %s, %s' % (self.street or '', self.city or '', self.zip or '', self.country_id and self.country_id.display_name or ''),
+ 'z': zoom,
+ }
+ return 'https://maps.google.com/maps?' + werkzeug.urls.url_encode(params)
+
+ def _get_name(self):
+ name = super(Partner, self)._get_name()
+ if self._context.get('display_website') and self.env.user.has_group('website.group_multi_website'):
+ if self.website_id:
+ name += ' [%s]' % self.website_id.name
+ return name
+
+ def _compute_display_name(self):
+ self2 = self.with_context(display_website=False)
+ super(Partner, self2)._compute_display_name()