OCA reporting engine fork for dev and update.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models, tools
class BiSQLView(models.Model): _inherit = 'bi.sql.view'
def check_manual_fields(self, model): # check the fields we need are defined on self, to stop it going # early on install / startup - particularly problematic during upgrade if 'group_operator' in tools.table_columns( self.env.cr, 'bi_sql_view_field') and\ model._name.startswith(self._model_prefix): # Use SQL instead of ORM, as ORM might not be fully initialised - # we have no control over the order that fields are defined! # We are not concerned about user security rules. self.env.cr.execute( """
SELECT f.name, f.ttype, f.group_operator FROM bi_sql_view v LEFT JOIN bi_sql_view_field f ON f.bi_sql_view_id = v.id WHERE v.model_name = %s ; """, (model._name,)
) sql_fields = self.env.cr.fetchall()
for sql_field in sql_fields: if sql_field[0] in model._fields and\ sql_field[1] in ('integer', 'float') and\ sql_field[2]: model._fields[sql_field[0]].group_operator = sql_field[2]
|