diff options
| author | Christophe Simonis <chs@odoo.com> | 2017-07-07 14:07:47 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2017-07-07 14:07:47 +0200 |
| commit | aef774884597342e4d716d606d2ca3b2d239fb4e (patch) | |
| tree | 6ff8d219968b1dbde0bc9006542a6559dcb291f4 | |
| parent | c1e154bee1fb49a102250048204b4e01c3def313 (diff) | |
| parent | 96fa86779b15ada2ae5556e967cc47a1862b0bfa (diff) | |
[MERGE] forward port branch saas-11 up to 96fa86779b1
| -rw-r--r-- | odoo/tools/image.py | 5 | ||||
| -rw-r--r-- | odoo/workflow/workitem.py | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/odoo/tools/image.py b/odoo/tools/image.py index 05f077d572b..b138930ecd8 100644 --- a/odoo/tools/image.py +++ b/odoo/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/odoo/workflow/workitem.py b/odoo/workflow/workitem.py index cfa07bc8b5d..c41dd2e6501 100644 --- a/odoo/workflow/workitem.py +++ b/odoo/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) |
