[Erp5-report] r39220 kazuhiko - /erp5/trunk/products/ERP5Form/ImageField.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Oct 15 11:45:43 CEST 2010


Author: kazuhiko
Date: Fri Oct 15 11:45:37 2010
New Revision: 39220

URL: http://svn.erp5.org?rev=39220&view=rev
Log:
modify ImageField:
* 'image_display' parameter is no longer required. the image will not be resized if this parameter is empty.
* 'resolution' parater is now respected. it was just ignored before.
* creates a shorter URL.

Modified:
    erp5/trunk/products/ERP5Form/ImageField.py

Modified: erp5/trunk/products/ERP5Form/ImageField.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/ImageField.py?rev=39220&r1=39219&r2=39220&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/ImageField.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/ImageField.py [utf8] Fri Oct 15 11:45:37 2010
@@ -32,9 +32,7 @@ from Products.Formulator.Field import ZM
 from Products.Formulator.DummyField import fields
 from OFS.Image import Image as OFSImage
 from lxml.etree import Element
-from Acquisition import aq_base
 from lxml import etree
-from decimal import Decimal
 import re
 
 DRAW_URI = 'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0'
@@ -66,7 +64,7 @@ class ImageFieldWidget(Widget.TextWidget
         "The display size. See ERP5.Document.Image.default_displays_id_list "
         "for possible values. This is only used with ERP5 Images."),
                                default='thumbnail',
-                               required=1)
+                               required=0)
 
     image_format = fields.StringField('image_format',
                                title='Image Format',
@@ -100,13 +98,18 @@ class ImageFieldWidget(Widget.TextWidget
               field.get_value('title')
         css_class = field.get_value('css_class')
         extra = field.get_value('extra')
-        display = field.get_value('image_display')
-        format = field.get_value('image_format')
-        resolution = field.get_value('image_resolution')
+        options = {}
+        options['display'] = field.get_value('image_display')
+        options['format'] = field.get_value('image_format')
+        options['resolution'] = field.get_value('image_resolution')
+        parameters = '&'.join(['%s=%s' % (k, v) for k, v in options.items() \
+                               if v])
+        if parameters:
+            image = '%s?%s' % (image, parameters)
         return Widget.render_element(
             "img",
             alt=alt,
-            src="%s?display=%s&format=%s&" % (image, display, format),
+            src=image,
             css_class=css_class,
             extra=extra,
         )




More information about the Erp5-report mailing list