summaryrefslogtreecommitdiff
path: root/addons/website_form/models/models.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2016-11-25 10:01:14 +0100
committerRaphael Collet <rco@openerp.com>2017-01-03 16:52:49 +0100
commit5d746d0ac663232d656bb57e82fec290bb5d82fd (patch)
treef1d51602745c28b43ab84a309fcbc7080c60e5c9 /addons/website_form/models/models.py
parent1abd543f1412cf16953fd28659baabf1e4df6010 (diff)
[IMP] base, *: tighten `ir.model` access rights
Remove unrestricted "read" access. To make code internally using `ir.model` work, add a private method `_get` on `ir.model` to retrieve the record corresponding to a model name, without access rights issue. Change signature of method `get_authorized_fields` to make it use a model name instead of a model id. This removes the necessity of a search on `ir.model`.
Diffstat (limited to 'addons/website_form/models/models.py')
-rw-r--r--addons/website_form/models/models.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/addons/website_form/models/models.py b/addons/website_form/models/models.py
index 16aba290a2a..f1a80abbb68 100644
--- a/addons/website_form/models/models.py
+++ b/addons/website_form/models/models.py
@@ -41,13 +41,14 @@ class website_form_model(models.Model):
])
}
return {
- k: v for k, v in self.get_authorized_fields().iteritems()
+ k: v for k, v in self.get_authorized_fields(self.model).iteritems()
if k not in excluded
}
- @api.multi
- def get_authorized_fields(self):
- model = self.env[self.model]
+ @api.model
+ def get_authorized_fields(self, model_name):
+ """ Return the fields of the given model name as a mapping like method `fields_get`. """
+ model = self.env[model_name]
fields_get = model.fields_get()
for key, val in model._inherits.iteritems():