From a88c9869048d55eec2207c29550e27b6c2863b54 Mon Sep 17 00:00:00 2001 From: Cybrosys Technologies Date: Fri, 26 Jul 2024 16:42:49 +0530 Subject: [PATCH] July 26: [FIX] Bug Fixed 'advanced_dynamic_dashboard' --- advanced_dynamic_dashboard/__manifest__.py | 2 +- advanced_dynamic_dashboard/doc/RELEASE_NOTES.md | 7 ++++++- advanced_dynamic_dashboard/models/dashboard_block.py | 4 ++-- advanced_dynamic_dashboard/models/domain_to_sql.py | 11 +++++++---- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/advanced_dynamic_dashboard/__manifest__.py b/advanced_dynamic_dashboard/__manifest__.py index e04813846..66180ecda 100755 --- a/advanced_dynamic_dashboard/__manifest__.py +++ b/advanced_dynamic_dashboard/__manifest__.py @@ -21,7 +21,7 @@ ############################################################################# { 'name': "Advanced Dynamic Dashboard", - 'version': '16.0.2.1.2', + 'version': '16.0.2.1.3', 'category': 'Productivity', 'summary': """Odoo Dynamic Dashboard, Dynamic Dashboard, Odoo Dashboard, Dynamic Dashbaord, AI Dashboard, Odoo17 Dashboard, Dashboard, Odoo17, Configurable Dashboard""", 'description': """Create Configurable Advanced Dynamic Dashboard to get the diff --git a/advanced_dynamic_dashboard/doc/RELEASE_NOTES.md b/advanced_dynamic_dashboard/doc/RELEASE_NOTES.md index 3a535a7c2..d4b26be09 100755 --- a/advanced_dynamic_dashboard/doc/RELEASE_NOTES.md +++ b/advanced_dynamic_dashboard/doc/RELEASE_NOTES.md @@ -3,4 +3,9 @@ #### 22.03.2024 #### Version 16.0.1.0.0 #### ADD -- Initial commit for Advanced Dynamic Dashboard \ No newline at end of file +- Initial commit for Advanced Dynamic Dashboard + +#### 26.07.2024 +#### Version 16.0.2.1.3 +#### Updated +- Bug fix, updated the code in get_query() since there was an issue when we give group by as product_product model diff --git a/advanced_dynamic_dashboard/models/dashboard_block.py b/advanced_dynamic_dashboard/models/dashboard_block.py index f7ce58ab6..14ecd518f 100755 --- a/advanced_dynamic_dashboard/models/dashboard_block.py +++ b/advanced_dynamic_dashboard/models/dashboard_block.py @@ -126,8 +126,8 @@ class DashboardBlock(models.Model): if rec.filter: domain = expression.AND([literal_eval(rec.filter)]) if rec.model_name: - if rec.type == 'graph': - self._cr.execute(self.env[rec.model_name].get_query(domain, + if rec.type == 'graph' and rec.model_id == rec.group_by_id.model_id: + m= self._cr.execute(self.env[rec.model_name].get_query(domain, rec.operation, rec.measured_field_id, group_by=rec.group_by_id)) diff --git a/advanced_dynamic_dashboard/models/domain_to_sql.py b/advanced_dynamic_dashboard/models/domain_to_sql.py index 1df7c1478..d45870589 100755 --- a/advanced_dynamic_dashboard/models/domain_to_sql.py +++ b/advanced_dynamic_dashboard/models/domain_to_sql.py @@ -36,11 +36,15 @@ def get_query(self, args, operation, field, group_by=False, if group_by: if group_by.ttype == 'many2one': relation_model = group_by.relation.replace('.', '_') - join = ' INNER JOIN %s on "%s".id = "%s".%s' % ( + join = 'INNER JOIN %s ON "%s".id = "%s".%s' % ( relation_model, relation_model, self._table, group_by.name) + if relation_model == 'product_product': + additional_join = ' INNER JOIN product_template ON product_template.id = product_product.product_tmpl_id' + join = join + additional_join + relation_model = 'product_template' rec_name = self.env[group_by.relation]._rec_name_fallback() - data = data + ',"%s".%s AS %s' % ( - relation_model, rec_name, group_by.name) + data = data + ',"%s".%s AS name' % ( + relation_model, rec_name) group_by_str = ' Group by "%s".%s' % (relation_model, rec_name) else: data = data + ',"%s".%s' % (self._table, group_by.name) @@ -48,7 +52,6 @@ def get_query(self, args, operation, field, group_by=False, self._table, str(group_by.name)) else: data = '"%s".id' % self._table - from_clause, where_clause, where_clause_params = query.get_sql() where_str = where_clause and (" WHERE %s" % where_clause) or '' query_str = 'SELECT %s FROM ' % data + from_clause + join + where_str + group_by_str