diff --git a/odoo_dynamic_dashboard/doc/RELEASE_NOTES.md b/odoo_dynamic_dashboard/doc/RELEASE_NOTES.md index 87640efc7..fe206dea2 100644 --- a/odoo_dynamic_dashboard/doc/RELEASE_NOTES.md +++ b/odoo_dynamic_dashboard/doc/RELEASE_NOTES.md @@ -18,4 +18,9 @@ #### 18.09.2025 #### Version 18.0.1.0.3 ##### FIX -- Updated issue while saving the dashboard menu \ No newline at end of file +- Updated issue while saving the dashboard menu + +#### 05.12.2025 +#### Version 18.0.1.0.3 +##### ADD +- Added multi company and user access support for dashboards \ No newline at end of file diff --git a/odoo_dynamic_dashboard/models/dashboard_block.py b/odoo_dynamic_dashboard/models/dashboard_block.py index 5599a57f2..63a321536 100644 --- a/odoo_dynamic_dashboard/models/dashboard_block.py +++ b/odoo_dynamic_dashboard/models/dashboard_block.py @@ -122,6 +122,12 @@ class DashboardBlock(models.Model): domain = [] if rec.filter: domain = expression.AND([literal_eval(rec.filter)]) + if 'company_id' in self.env[rec.model_name]._fields: + domain = expression.AND([[('company_id', '=', self.env.company.id)], domain]) + # ✅ Add current user domain (if relevant) + if 'user_id' in self.env[rec.model_name]._fields: + domain = expression.AND([[('user_id', '=', self.env.user.id)], domain]) + vals.update({'domain': domain}) if rec.model_name: if rec.type == 'graph': self._cr.execute(self.env[rec.model_name].get_query(domain, diff --git a/odoo_dynamic_dashboard/models/domain_to_sql.py b/odoo_dynamic_dashboard/models/domain_to_sql.py index 56b7d3efe..ad96eb857 100644 --- a/odoo_dynamic_dashboard/models/domain_to_sql.py +++ b/odoo_dynamic_dashboard/models/domain_to_sql.py @@ -26,7 +26,6 @@ def get_query(self, args, operation, field, start_date=None, end_date=None, group_by=False, apply_ir_rules=False): """ Dashboard block Query Creation """ query = self._where_calc(args) - print("query", query) if apply_ir_rules: self._apply_ir_rules(query, 'read') if operation and field: diff --git a/odoo_dynamic_dashboard/static/src/js/dynamic_dashboard_tile.js b/odoo_dynamic_dashboard/static/src/js/dynamic_dashboard_tile.js index eb5d6025c..6af35218d 100644 --- a/odoo_dynamic_dashboard/static/src/js/dynamic_dashboard_tile.js +++ b/odoo_dynamic_dashboard/static/src/js/dynamic_dashboard_tile.js @@ -43,6 +43,7 @@ export class DynamicDashboardTile extends Component { // Function for getting records by double click async getRecords(){ var model_name = this.props.widget.model_name; + console.log("Model Name:",this.props); if (model_name){ await this.doAction({ type: 'ir.actions.act_window', @@ -50,7 +51,7 @@ export class DynamicDashboardTile extends Component { view_mode: 'list', views: [[false, "list"]], domain: this.props.widget.domain, - }); + }); } } }