diff --git a/addons/website/models/ir_qweb.py b/addons/website/models/ir_qweb.py index fcfd3861c2c..e2472df9bb3 100644 --- a/addons/website/models/ir_qweb.py +++ b/addons/website/models/ir_qweb.py @@ -8,6 +8,8 @@ Also, adds methods to convert values back to openerp models. import itertools +import werkzeug.utils + from openerp.osv import orm, fields class QWeb(orm.AbstractModel): @@ -56,9 +58,34 @@ class HTML(orm.AbstractModel): _inherit = ['website.qweb.field', 'ir.qweb.field.html'] class Image(orm.AbstractModel): + """ + Widget options: + + ``class`` + set as attribute on the generated tag + """ _name = 'website.qweb.field.image' _inherit = ['website.qweb.field', 'ir.qweb.field.image'] + def to_html(self, cr, uid, field_name, record, options, + source_element, t_att, g_att, qweb_context): + assert source_element.nodeName != 'img',\ + "Oddly enough, the root tag of an image field can not be img. " \ + "That is because the image goes into the tag, or it gets the " \ + "hose again." + + return super(Image, self).to_html( + cr, uid, field_name, record, options, + source_element, t_att, g_att, qweb_context) + + def record_to_html(self, cr, uid, field_name, record, column, options=None): + cls = '' + if 'class' in options: + cls = ' class="%s"' % werkzeug.utils.escape(options['class']) + + return '' % ( + cls, record._model._name, field_name, record.id) + class Currency(orm.AbstractModel): _name = 'website.qweb.field.currency' _inherit = ['website.qweb.field', 'ir.qweb.field.currency'] diff --git a/addons/website_sale/views/website_sale.xml b/addons/website_sale/views/website_sale.xml index 1c096ecd3de..03b786ece08 100644 --- a/addons/website_sale/views/website_sale.xml +++ b/addons/website_sale/views/website_sale.xml @@ -124,7 +124,7 @@
- +
@@ -328,7 +328,7 @@
- +

Product Name

@@ -381,7 +381,7 @@