Files
tryton/address.py
T
Cédric Krier ec62322964 Fix test as full_address is a Function field
The address must be saved to be allowed to use the function field.
And the split lines should be join by empty space
2016-09-06 10:08:22 +02:00

30 lines
971 B
Python

# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import urllib
import sys
from trytond.model import fields
from trytond.transaction import Transaction
from trytond.pool import PoolMeta
__all__ = ['Address']
class Address:
__metaclass__ = PoolMeta
__name__ = 'party.address'
google_maps_url = fields.Function(fields.Char('Google Maps'),
'on_change_with_google_maps_url')
@fields.depends('street', 'zip', 'city', 'country', 'subdivision')
def on_change_with_google_maps_url(self, name=None):
lang = Transaction().language[:2]
url = ' '.join(self.full_address.splitlines())
if url.strip():
if isinstance(url, str) and sys.version_info < (3,):
url = url.encode('utf-8')
return 'http://maps.google.com/maps?hl=%s&q=%s' % \
(lang, urllib.quote(url))
return ''