Browse Source

July 26: [FIX] Bug Fixed 'advanced_dynamic_dashboard'

pull/332/merge
Cybrosys Technologies 9 months ago
parent
commit
a88c986904
  1. 2
      advanced_dynamic_dashboard/__manifest__.py
  2. 5
      advanced_dynamic_dashboard/doc/RELEASE_NOTES.md
  3. 4
      advanced_dynamic_dashboard/models/dashboard_block.py
  4. 11
      advanced_dynamic_dashboard/models/domain_to_sql.py

2
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

5
advanced_dynamic_dashboard/doc/RELEASE_NOTES.md

@ -4,3 +4,8 @@
#### Version 16.0.1.0.0
#### ADD
- 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

4
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))

11
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

Loading…
Cancel
Save