From d5c2f5c1158fb228abe72d0198df0da0d9ace98f Mon Sep 17 00:00:00 2001 From: Cedric Collins Date: Fri, 24 Sep 2021 11:11:25 -0500 Subject: [PATCH] [FIX] base_exception_user: fix stack trace when exception description is False H7674 --- base_exception_user/models/base_exception.py | 21 ++++++++++++++++++- .../wizard/base_exception_confirm.py | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/base_exception_user/models/base_exception.py b/base_exception_user/models/base_exception.py index 46453bce..6be0da0a 100644 --- a/base_exception_user/models/base_exception.py +++ b/base_exception_user/models/base_exception.py @@ -1,7 +1,26 @@ -from odoo import models, fields +import html +from odoo import api, models, fields class ExceptionRule(models.Model): _inherit = 'exception.rule' allow_user_ignore = fields.Boolean('Allow User Ignore') + + +class BaseException(models.AbstractModel): + _inherit = 'base.exception' + + @api.depends("exception_ids", "ignore_exception") + def _compute_exceptions_summary(self): + for rec in self: + if rec.exception_ids and not rec.ignore_exception: + rec.exceptions_summary = "" % "".join( + [ + "
  • %s: %s
  • " + % tuple(map(html.escape, (e.name, e.description or ''))) + for e in rec.exception_ids + ] + ) + else: + rec.exceptions_summary = False diff --git a/base_exception_user/wizard/base_exception_confirm.py b/base_exception_user/wizard/base_exception_confirm.py index 80b18073..a0c21bb7 100644 --- a/base_exception_user/wizard/base_exception_confirm.py +++ b/base_exception_user/wizard/base_exception_confirm.py @@ -16,7 +16,7 @@ class ExceptionRuleConfirm(models.AbstractModel): def action_confirm(self): if self.ignore and 'message_ids' in self.related_model_id: exceptions_summary = '' % ''.join( - ['
  • %s: %s
  • ' % tuple(map(html.escape, (e.name, e.description))) for e in + ['
  • %s: %s
  • ' % tuple(map(html.escape, (e.name, e.description or ''))) for e in self.exception_ids]) msg = '

    Exceptions ignored:

    ' + exceptions_summary self.related_model_id.message_post(body=msg)