summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/openerpframework.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@openerp.com>2013-11-07 15:32:12 +0100
committerChristophe Simonis <chs@openerp.com>2013-11-07 15:32:12 +0100
commita48e79335509f96f9dd386b8ca08f6f7de494f52 (patch)
tree9576fe3fe29f07cb2ad93be8e5f14efedc0ceb75 /addons/web/static/src/js/openerpframework.js
parent8dd53f66524a492e733f9fa3dcc89c037487e107 (diff)
[FIX] web: correct cookie parsing.
avoid reading wrong cookie by matching the whole cookie name bzr revid: chs@openerp.com-20131107143212-50hrpvkaw3gxxlop
Diffstat (limited to 'addons/web/static/src/js/openerpframework.js')
-rw-r--r--addons/web/static/src/js/openerpframework.js17
1 files changed, 8 insertions, 9 deletions
diff --git a/addons/web/static/src/js/openerpframework.js b/addons/web/static/src/js/openerpframework.js
index 1d688505a06..9f3a6352511 100644
--- a/addons/web/static/src/js/openerpframework.js
+++ b/addons/web/static/src/js/openerpframework.js
@@ -1209,15 +1209,14 @@ openerp.TranslationDataBase = openerp.Class.extend(/** @lends instance.Translati
openerp._t = new openerp.TranslationDataBase().build_translation_function();
openerp.get_cookie = function(c_name) {
- if (document.cookie.length > 0) {
- var c_start = document.cookie.indexOf(c_name + "=");
- if (c_start != -1) {
- c_start = c_start + c_name.length + 1;
- var c_end = document.cookie.indexOf(";", c_start);
- if (c_end == -1) {
- c_end = document.cookie.length;
- }
- return unescape(document.cookie.substring(c_start, c_end));
+ var cookies = document.cookie ? document.cookie.split('; ') : [];
+ for (var i = 0, l = cookies.length; i < l; i++) {
+ var parts = cookies[i].split('=');
+ var name = parts.shift();
+ var cookie = parts.join('=');
+
+ if (c_name && c_name === name) {
+ return cookie;
}
}
return "";