[FIX] point_of_sale: get the correct logo when using multiple databases
In an environment where multiple database are available the company_logo controller in the web module will return a placeholder logo (the Odoo logo) if it can't figure out what db the request belongs to. This logo is used on the ESC/POS receipts. Because we load the logo with an anonymous CORS request there is no authentication on the request. This is necessary because the POS tends to not be served over HTTPS whereas the rest of Odoo is. Without this crossOrigin attribute we could potentially end up in a situation where the canvas is considered tainted by the browser which would prevent us from extracting the canvas' data with toDataURL(). So removing the crossOrigin attribute is not an option, specifying the db is the next best thing. opw-670471 note: in >=9.0 session is a variable defined in the js module instead of a property on PosModel, so 'self.session.db' should become 'session.db'.
This commit is contained in:
parent
9f073102ef
commit
feedb0f1f4
|
@ -369,7 +369,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
|
|||
logo_loaded.reject();
|
||||
};
|
||||
self.company_logo.crossOrigin = "anonymous";
|
||||
self.company_logo.src = '/web/binary/company_logo' +'?_'+Math.random();
|
||||
self.company_logo.src = '/web/binary/company_logo' +'?dbname=' + self.session.db + '&_'+Math.random();
|
||||
|
||||
return logo_loaded;
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue