summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-07-07 13:59:13 +0200
committerChristophe Simonis <chs@odoo.com>2017-07-07 13:59:13 +0200
commit9cc799f51168f2ecdaad1108adaa194fc4c88c8f (patch)
tree811f7874242684c195fd2d06872358ded5f95f88
parent1fda2168872348e66c26bc92dc63f58c2d13ad92 (diff)
parent9a79b7b81801ea617b18fec74d61e53bfe4b5d44 (diff)
[MERGE] forward port branch saas-6 up to 9a79b7b8180
-rw-r--r--openerp/tools/image.py5
-rw-r--r--openerp/workflow/workitem.py2
2 files changed, 5 insertions, 2 deletions
diff --git a/openerp/tools/image.py b/openerp/tools/image.py
index 05f077d572b..b138930ecd8 100644
--- a/openerp/tools/image.py
+++ b/openerp/tools/image.py
@@ -75,7 +75,7 @@ def image_resize_image(base64_source, size=(1024, 1024), encoding='base64', file
if image.size != size:
image = image_resize_and_sharpen(image, size)
- if image.mode not in ["1", "L", "P", "RGB", "RGBA"]:
+ if image.mode not in ["1", "L", "P", "RGB", "RGBA"] or (filetype == 'JPEG' and image.mode == 'RGBA'):
image = image.convert("RGB")
background_stream = StringIO.StringIO()
@@ -92,6 +92,7 @@ def image_resize_and_sharpen(image, size, preserve_aspect_ratio=False, factor=2.
:param preserve_aspect_ratio: boolean (default: False)
:param factor: Sharpen factor (default: 2.0)
"""
+ origin_mode = image.mode
if image.mode != 'RGBA':
image = image.convert('RGBA')
image.thumbnail(size, Image.ANTIALIAS)
@@ -102,6 +103,8 @@ def image_resize_and_sharpen(image, size, preserve_aspect_ratio=False, factor=2.
# create a transparent image for background and paste the image on it
image = Image.new('RGBA', size, (255, 255, 255, 0))
image.paste(resized_image, ((size[0] - resized_image.size[0]) / 2, (size[1] - resized_image.size[1]) / 2))
+ if image.mode != origin_mode:
+ image = image.convert(origin_mode)
return image
def image_save_for_web(image, fp=None, format=None):
diff --git a/openerp/workflow/workitem.py b/openerp/workflow/workitem.py
index 0de16c8aaa3..55ea210ce23 100644
--- a/openerp/workflow/workitem.py
+++ b/openerp/workflow/workitem.py
@@ -224,7 +224,7 @@ class WorkflowItem(object):
transitions.append((transition['id'], self.workitem['inst_id']))
if test and transitions:
- cr.executemany('insert into wkf_witm_trans (trans_id,inst_id) values (%s,%s)', transitions)
+ cr.executemany('insert into wkf_witm_trans (trans_id,inst_id) values (%s,%s) except (select trans_id,inst_id from wkf_witm_trans)', transitions)
cr.execute('delete from wkf_workitem where id=%s', (self.workitem['id'],))
for t in transitions:
self._join_test(t[0], t[1], stack)