odoo/addons/website_google_map/models/res_partner.py

30 lines
1012 B
Python

# -*- coding: utf-8 -*-
from openerp.osv import osv
import simplejson
import werkzeug.wrappers
class res_partner(osv.Model):
_inherit = 'res.partner'
def google_map_json(self, cr, uid, ids, context=None):
data = {
"counter": len(ids),
"partners": []
}
for partner in self.pool.get('res.partner').browse(cr, uid, ids, context={'show_address': True}):
data["partners"].append({
'id': partner.id,
'name': partner.name,
'address': '\n'.join(partner.name_get()[0][1].split('\n')[1:]),
'type': partner.grade_id.name,
'latitude': partner.partner_latitude,
'longitude': partner.partner_longitude,
})
mime = 'application/json'
body = "var data = " + "}, \n{".join(simplejson.dumps(data).split("}, {"))
return werkzeug.wrappers.Response(body, headers=[('Content-Type', mime), ('Content-Length', len(body))])