summaryrefslogtreecommitdiff
path: root/addons/website_google_map/controllers
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@openerp.com>2013-09-06 10:35:00 +0200
committerChristophe Matthieu <chm@openerp.com>2013-09-06 10:35:00 +0200
commit8a3f1742e0e9c7acaae726e5c7106d2d7df7e970 (patch)
tree78ae5d981fcd25677caea5c8b3999b1e77bf4547 /addons/website_google_map/controllers
parent6f6c59ec1de1881a70e4bf728ea5d8b56bd609f9 (diff)
parentc80cf7d0646463b290137c26fbada568a6942b00 (diff)
[MERGE] from website-al
bzr revid: chm@openerp.com-20130906083500-4n5knaxiqt4cg2ht
Diffstat (limited to 'addons/website_google_map/controllers')
-rw-r--r--addons/website_google_map/controllers/__init__.py3
-rw-r--r--addons/website_google_map/controllers/main.py50
2 files changed, 53 insertions, 0 deletions
diff --git a/addons/website_google_map/controllers/__init__.py b/addons/website_google_map/controllers/__init__.py
new file mode 100644
index 00000000000..e11f9ba81bb
--- /dev/null
+++ b/addons/website_google_map/controllers/__init__.py
@@ -0,0 +1,3 @@
+import main
+
+# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/website_google_map/controllers/main.py b/addons/website_google_map/controllers/main.py
new file mode 100644
index 00000000000..3867a3f20f0
--- /dev/null
+++ b/addons/website_google_map/controllers/main.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+
+import openerp
+from openerp.addons.web import http
+from openerp.addons.web.http import request
+from openerp.addons.website import website
+from datetime import datetime
+
+class google_map(http.Controller):
+
+ @website.route(['/google_map/'], type='http', auth="admin")
+ def google_map(self, *arg, **post):
+ values = {
+ 'partner_ids': post.get('partner_ids', ""),
+ 'width': post.get('width', 900),
+ 'height': post.get('height', 460),
+ 'partner_url': post.get('partner_url'),
+ }
+ return request.webcontext.render("website_google_map.google_map", values)
+
+ @website.route(['/google_map/partners.json'], type='http', auth="admin")
+ def google_map_data(self, *arg, **post):
+ partner_obj = request.registry['res.partner']
+
+ domain = [("id", "in", [int(p) for p in post.get('partner_ids', "").split(",") if p])]
+ partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, domain + [('website_published', '=', True)])
+ if not request.webcontext.is_public_user:
+ partner_ids += partner_obj.search(request.cr, request.uid, domain)
+ partner_ids = list(set(partner_ids))
+
+ return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, partner_ids)
+
+ @website.route(['/google_map/set_partner_position/'], type='http', auth="admin")
+ def google_map_set_partner_position(self, *arg, **post):
+ partner_obj = request.registry['res.partner']
+
+ partner_id = post.get('partner_id') and int(post['partner_id'])
+ latitude = post.get('latitude') and float(post['latitude'])
+ longitude = post.get('longitude') and float(post['longitude'])
+
+ if not request.webcontext.is_public_user and partner_id and (latitude or longitude):
+ values = {
+ 'partner_latitude': latitude,
+ 'partner_longitude': longitude,
+ 'date_localization': datetime.now().strftime('%Y-%m-%d'),
+ }
+ partner_obj.write(request.cr, request.uid, [partner_id], values)
+
+
+# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4: