summaryrefslogtreecommitdiff
path: root/odoo/addons/base/models/ir_http.py
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/addons/base/models/ir_http.py')
-rw-r--r--odoo/addons/base/models/ir_http.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/odoo/addons/base/models/ir_http.py b/odoo/addons/base/models/ir_http.py
index fc2f1a70318..eab07d2768e 100644
--- a/odoo/addons/base/models/ir_http.py
+++ b/odoo/addons/base/models/ir_http.py
@@ -278,10 +278,6 @@ class IrHttp(models.AbstractModel):
obj = None
if xmlid:
obj = env.ref(xmlid, False)
- elif id and model == 'ir.attachment' and access_token:
- obj = env[model].sudo().browse(int(id))
- if not consteq(obj.access_token or '', access_token):
- return (403, [], None)
elif id and model in env.registry:
obj = env[model].browse(int(id))
@@ -289,6 +285,12 @@ class IrHttp(models.AbstractModel):
if not obj or not obj.exists() or field not in obj:
return (404, [], None)
+ # access token grant access
+ if model == 'ir.attachment' and access_token:
+ obj = obj.sudo()
+ if not consteq(obj.access_token or '', access_token):
+ return (403, [], None)
+
# check read access
try:
last_update = obj['__last_update']