Skip to content

Commit f7a2d00

Browse files
[MIG] web_form_banner: Migration to 15.0
1 parent 9de2fb4 commit f7a2d00

File tree

5 files changed

+24
-30
lines changed

5 files changed

+24
-30
lines changed

web_form_banner/__manifest__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,22 @@
22
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
33
{
44
"name": "Web Form Banner",
5-
"version": "12.0.1.0.0",
5+
"version": "15.0.1.0.0",
66
"category": "Web",
77
"author": "Quartile, Odoo Community Association (OCA)",
88
"website": "https://github.com/OCA/web",
99
"license": "AGPL-3",
1010
"depends": ["web"],
1111
"data": [
1212
"security/ir.model.access.csv",
13-
"views/assets.xml",
1413
"views/web_form_banner_rule_views.xml",
1514
],
15+
"assets": {
16+
"web.assets_backend": [
17+
"web_form_banner/static/src/js/*.esm.js",
18+
"web_form_banner/static/src/scss/*.scss",
19+
],
20+
},
1621
"demo": ["demo/web_form_banner_rule_demo.xml"],
1722
"installable": True,
1823
}

web_form_banner/models/web_form_banner_rule.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
# Copyright 2025 Quartile (https://www.quartile.co)
22
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
33

4-
import datetime as dt
54
import logging
6-
import time
75
from functools import lru_cache
86
from string import Template
97

@@ -14,9 +12,8 @@
1412

1513
from odoo import _, api, fields, models
1614
from odoo.exceptions import ValidationError
17-
from odoo.tools import html_escape
15+
from odoo.tools import html_escape, safe_eval
1816
from odoo.tools.float_utils import float_compare, float_is_zero, float_round
19-
from odoo.tools.safe_eval import safe_eval
2017

2118
_logger = logging.getLogger(__name__)
2219

@@ -115,7 +112,6 @@ class WebFormBannerRule(models.Model):
115112
)
116113
position = fields.Selection(
117114
[("before", "Before target"), ("after", "After target")],
118-
string="Position",
119115
default="before",
120116
required=True,
121117
help="Where to insert the placeholder relative to the first matched node.",
@@ -158,7 +154,7 @@ def _check_target_xpath(self):
158154
try:
159155
etree.XPath(xp or "//sheet")
160156
except (etree.XPathSyntaxError, etree.XPathEvalError) as e:
161-
raise ValidationError(_("Invalid XPath:\n%s") % e)
157+
raise ValidationError(_("Invalid XPath:\n%s") % e) from e
162158

163159
@api.model
164160
def _build_form_url(self, rec):
@@ -179,8 +175,8 @@ def _build_form_url(self, rec):
179175
def _base_eval_ctx_static(self):
180176
# Only static, import-heavy items
181177
return {
182-
"time": time,
183-
"datetime": dt,
178+
"time": safe_eval.time,
179+
"datetime": safe_eval.datetime,
184180
"dateutil": {
185181
"parser": dateparse,
186182
"relativedelta": relativedelta,
@@ -240,9 +236,9 @@ def _run_rule_code(self, rule, eval_ctx):
240236
return {}
241237
code = rule.message_value_code.strip()
242238
try:
243-
out = safe_eval(code, eval_ctx, mode="eval") or {}
239+
out = safe_eval.safe_eval(code, eval_ctx, mode="eval") or {}
244240
except Exception:
245-
safe_eval(code, eval_ctx, mode="exec", nocopy=True)
241+
safe_eval.safe_eval(code, eval_ctx, mode="exec", nocopy=True)
246242
out = eval_ctx.get("result") or {}
247243
return out if isinstance(out, dict) else {}
248244

web_form_banner/static/src/js/web_form_banner.js renamed to web_form_banner/static/src/js/web_form_banner.esm.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
odoo.define("web_form_banner.save_plus_load", function (require) {
2-
"use strict";
2+
33
var rpc = require("web.rpc");
44
var FormController = require("web.FormController");
55

@@ -129,6 +129,16 @@ odoo.define("web_form_banner.save_plus_load", function (require) {
129129
else elRef.innerHTML = "";
130130
return;
131131
}
132+
console.log(
133+
"Banner",
134+
ruleId,
135+
"on",
136+
model,
137+
resId,
138+
formVals,
139+
"→",
140+
res
141+
);
132142
var sev = first(
133143
res.severity,
134144
elRef.dataset.defaultSeverity,

web_form_banner/tests/test_web_form_banner.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ def setUpClass(cls):
2020
cls.rule_email.active = False
2121
cls.rule_tag.active = False
2222
cls.partner_form_view = cls.env.ref("base.view_partner_form")
23-
2423
cls.p_len3 = cls.Partner.create({"name": "Bob"}) # 3
2524
cls.p_len12 = cls.Partner.create({"name": "Yoshi Tashiro"}) # 12
2625
cls.p_len22 = cls.Partner.create({"name": "Professor Charles Xavier"}) # 22

web_form_banner/views/assets.xml

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)