[IMP] base: search template view based on key in addition to xml_id
In Studio, users can create views, reports, etc. which do not have an xml_id (no record in 'ir.model.data' from import/install). After this modification, the template can use the t-call using a readable key on newly created views.
This commit is contained in:
committed by
Christophe Matthieu
parent
ede9960a78
commit
9a98a4d60e
@@ -128,7 +128,7 @@ class IrUiView(models.Model):
|
||||
@api.model
|
||||
def _view_obj(self, view_id):
|
||||
if isinstance(view_id, pycompat.string_types):
|
||||
return self.env.ref(view_id)
|
||||
return self.search([('key', '=', view_id)]) or self.env.ref(view_id)
|
||||
elif isinstance(view_id, pycompat.integer_types):
|
||||
return self.browse(view_id)
|
||||
# assume it's already a view object (WTF?)
|
||||
|
||||
@@ -1126,7 +1126,8 @@ actual arch.
|
||||
return template
|
||||
if '.' not in template:
|
||||
raise ValueError('Invalid template id: %r' % template)
|
||||
return self.env['ir.model.data'].xmlid_to_res_id(template, raise_if_not_found=True)
|
||||
view = self.search([('key', '=', template)])
|
||||
return view and view.id or self.env['ir.model.data'].xmlid_to_res_id(template, raise_if_not_found=True)
|
||||
|
||||
def clear_cache(self):
|
||||
""" Deprecated, use `clear_caches` instead. """
|
||||
|
||||
Reference in New Issue
Block a user