From 61cc3ae8eabfc13144a6202e07d1fd4e5eb4c1bb Mon Sep 17 00:00:00 2001 From: mav-adhoc Date: Mon, 13 Jul 2026 20:27:13 +0000 Subject: [PATCH] [FIX] report_aeroo: avoid display_name write when rendering records `__filter` called `_compute_display_name()` directly. Outside the ORM compute protocol that assignment goes through Field.__set__'s business-logic path and issues a real write() on the rendered model instead of only updating the cache. Printing an aeroo report as a user without write access on that model (e.g. res.country, writable only by the Settings group) raised AccessError; it also returned None so the value was not rendered. Read display_name instead (computed into cache, no write), restoring the original name_get()[0][1] behaviour. X-original-commit: b5f73b118a18a0c8c554820a0bc95722bf36075c --- report_aeroo/__manifest__.py | 2 +- report_aeroo/report_parser.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/report_aeroo/__manifest__.py b/report_aeroo/__manifest__.py index 6ae04c29..2d0e2af4 100644 --- a/report_aeroo/__manifest__.py +++ b/report_aeroo/__manifest__.py @@ -6,7 +6,7 @@ { "name": "Aeroo Reports", - "version": "19.0.1.0.0", + "version": "19.0.1.1.0", "category": "Generic Modules/Aeroo Reports", "summary": "Enterprise grade reporting solution", "author": "Alistek", # pylint: disable=manifest-required-author diff --git a/report_aeroo/report_parser.py b/report_aeroo/report_parser.py index 30248dcf..89061ebf 100644 --- a/report_aeroo/report_parser.py +++ b/report_aeroo/report_parser.py @@ -103,7 +103,9 @@ class ReportAerooAbstract(models.AbstractModel): def __filter(self, val): if isinstance(val, models.BaseModel) and val: - return val._compute_display_name() + # Leemos display_name; llamar _compute_display_name() directo dispara + # un write() real que rompe con usuarios sin permiso (p. ej. res.country). + return val[:1].display_name return _filter(val) # Extra Functions ==================================================