summaryrefslogtreecommitdiff
path: root/addons/web/controllers/main.py
diff options
context:
space:
mode:
authorMartin Trigaux <mat@odoo.com>2016-05-20 09:04:38 +0200
committerMartin Trigaux <mat@odoo.com>2016-05-20 09:04:38 +0200
commit06c49d19c3f0028d9dadaee9c9d97abf005e3455 (patch)
treec50cc5df1acc31a2e680aa5867e1762f67abaabb /addons/web/controllers/main.py
parent6d6a90f385c5da331581558290a40ba59b82f0bb (diff)
parent3b234a23cb3cf8b659f849c231fa3b2e160213b5 (diff)
[MERGE] Forwardport of 9.0 up to 3b234a23c
Diffstat (limited to 'addons/web/controllers/main.py')
-rw-r--r--addons/web/controllers/main.py14
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