flectra/addons/base_import_module/models/ir_ui_view.py
flectra-admin 769eafb483 [INIT] Inception of Flectra from Odoo
Flectra is Forked from Odoo v11 commit : (6135e82d73)
2018-01-16 11:45:59 +05:30

29 lines
1012 B
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from operator import itemgetter
from odoo import api, models
class IrUiView(models.Model):
_inherit = 'ir.ui.view'
@api.model
def _validate_custom_views(self, model):
# views from imported modules should be considered as custom views
result = super(IrUiView, self)._validate_custom_views(model)
self._cr.execute("""
SELECT max(v.id)
FROM ir_ui_view v
LEFT JOIN ir_model_data md ON (md.model = 'ir.ui.view' AND md.res_id = v.id)
LEFT JOIN ir_module_module m ON (m.name = md.module)
WHERE m.imported = true
AND v.model = %s
AND v.active = true
GROUP BY coalesce(v.inherit_id, v.id)
""", [model])
ids = (row[0] for row in self._cr.fetchall())
views = self.with_context(load_all_views=True).browse(ids)
return views._check_xml() and result