[IMP] use url_encode when building url query string

I have no idea why I originall implemented that crap via string munging.
This commit is contained in:
Xavier Morel 2014-05-23 15:03:23 +02:00
parent f7e0b2dd15
commit 4362c6127f
1 changed files with 12 additions and 8 deletions

View File

@ -15,6 +15,7 @@ import urllib2
import urlparse
import re
import werkzeug.urls
import werkzeug.utils
from dateutil import parser
from lxml import etree, html
@ -265,16 +266,19 @@ class Image(orm.AbstractModel):
if options is None: options = {}
classes = ['img', 'img-responsive'] + options.get('class', '').split()
size_params = []
if options.has_key('max_width'):
size_params.append("max_width=%i" % options['max_width'])
if options.has_key('max_height'):
size_params.append("max_height=%i" % options['max_height'])
url_params = {
'model': record._model._name,
'field': field_name,
'id': record.id,
}
for options_key in ['max_width', 'max_height']:
if options.get(options_key):
url_params[options_key] = options[options_key]
return ir_qweb.HTMLSafe('<img class="%s" src="/website/image?model=%s&field=%s&id=%s&%s"/>' % (
return ir_qweb.HTMLSafe('<img class="%s" src="/website/image?%s"/>' % (
' '.join(itertools.imap(werkzeug.utils.escape, classes)),
record._model._name,
field_name, record.id, '&'.join(size_params)))
werkzeug.urls.url_encode(url_params)
))
local_url_re = re.compile(r'^/(?P<module>[^]]+)/static/(?P<rest>.+)$')
def from_html(self, cr, uid, model, column, element, context=None):