diff options
| author | Martin Trigaux <mat@odoo.com> | 2016-05-20 09:04:38 +0200 |
|---|---|---|
| committer | Martin Trigaux <mat@odoo.com> | 2016-05-20 09:04:38 +0200 |
| commit | 06c49d19c3f0028d9dadaee9c9d97abf005e3455 (patch) | |
| tree | c50cc5df1acc31a2e680aa5867e1762f67abaabb /addons/web/controllers/main.py | |
| parent | 6d6a90f385c5da331581558290a40ba59b82f0bb (diff) | |
| parent | 3b234a23cb3cf8b659f849c231fa3b2e160213b5 (diff) | |
[MERGE] Forwardport of 9.0 up to 3b234a23c
Diffstat (limited to 'addons/web/controllers/main.py')
| -rw-r--r-- | addons/web/controllers/main.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 3c585900e83..9462015088f 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -4,6 +4,7 @@ import base64 import csv import functools import glob +import imghdr import itertools import jinja2 import logging @@ -1080,7 +1081,8 @@ class Binary(http.Controller): '/logo.png', ], type='http', auth="none", cors="*") def company_logo(self, dbname=None, **kw): - imgname = 'logo.png' + imgname = 'logo' + imgext = '.png' placeholder = functools.partial(get_resource_path, 'web', 'static', 'src', 'img') uid = None if request.session.db: @@ -1093,7 +1095,7 @@ class Binary(http.Controller): uid = openerp.SUPERUSER_ID if not dbname: - response = http.send_file(placeholder(imgname)) + response = http.send_file(placeholder(imgname + imgext)) else: try: # create an empty registry @@ -1107,12 +1109,14 @@ class Binary(http.Controller): """, (uid,)) row = cr.fetchone() if row and row[0]: - image_data = StringIO(str(row[0]).decode('base64')) - response = http.send_file(image_data, filename=imgname, mtime=row[1]) + image_base64 = str(row[0]).decode('base64') + image_data = StringIO(image_base64) + imgext = '.' + (imghdr.what(None, h=image_base64) or 'png') + response = http.send_file(image_data, filename=imgname + imgext, mtime=row[1]) else: response = http.send_file(placeholder('nologo.png')) except Exception: - response = http.send_file(placeholder(imgname)) + response = http.send_file(placeholder(imgname + imgext)) return response |
