mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
[IMP] sale_exception_portal: add tests and use safe_eval
H5654
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import time
|
||||
from odoo import fields, models
|
||||
from odoo.tools.safe_eval import safe_eval
|
||||
|
||||
|
||||
class ExceptionRule(models.Model):
|
||||
@@ -24,8 +25,11 @@ class SaleOrder(models.Model):
|
||||
# Locals() can be used instead of defined params, but can also cause buggy behavior on return
|
||||
params = {'sale': self, 'exception': ex, 'time': time}
|
||||
try:
|
||||
exec(ex.code, globals(), params)
|
||||
if 'failed' in params:
|
||||
safe_eval(ex.code,
|
||||
params,
|
||||
mode='exec',
|
||||
nocopy=True) # nocopy allows to return 'result'
|
||||
if params.get('failed', False):
|
||||
desc = ex.website_description or ex.description
|
||||
message = {'title': ex.name, 'description': desc}
|
||||
reasons.append(message)
|
||||
|
||||
Reference in New Issue
Block a user