Skip to content

Commit 37b8bb4

Browse files
[IMP] web_form_banner: black, isort, prettier
1 parent 3550395 commit 37b8bb4

File tree

13 files changed

+211
-132
lines changed

13 files changed

+211
-132
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../web_form_banner

setup/web_form_banner/setup.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import setuptools
2+
3+
setuptools.setup(
4+
setup_requires=['setuptools-odoo'],
5+
odoo_addon=True,
6+
)

web_form_banner/README.rst

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22
Web Form Banner
33
===============
44

5-
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5+
..
6+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
67
!! This file is generated by oca-gen-addon-readme !!
78
!! changes will be overwritten. !!
89
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10+
!! source digest: sha256:1c2f9f74b0b25525e1a645a0a16a0c910d49f764c53e135cd9c10bc24fe2bee7
11+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
912
1013
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
1114
:target: https://odoo-community.org/page/development-status
@@ -14,16 +17,16 @@ Web Form Banner
1417
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
1518
:alt: License: AGPL-3
1619
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
17-
:target: https://github.com/OCA/web/tree/12.0/web_form_banner
20+
:target: https://github.com/OCA/web/tree/15.0/web_form_banner
1821
:alt: OCA/web
1922
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
20-
:target: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_form_banner
23+
:target: https://translation.odoo-community.org/projects/web-15-0/web-15-0-web_form_banner
2124
:alt: Translate me on Weblate
22-
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
23-
:target: https://runbot.odoo-community.org/runbot/162/12.0
24-
:alt: Try me on Runbot
25+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
26+
:target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=15.0
27+
:alt: Try me on Runboat
2528

26-
|badge1| |badge2| |badge3| |badge4| |badge5|
29+
|badge1| |badge2| |badge3| |badge4| |badge5|
2730

2831
The module adds configurable banners for backend **form** views. Define rules per model
2932
(and optionally per view) to show context-aware alerts with a chosen severity (info/warning/danger).
@@ -183,8 +186,8 @@ Bug Tracker
183186

184187
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
185188
In case of trouble, please check there if your issue has already been reported.
186-
If you spotted it first, help us smashing it by providing a detailed and welcomed
187-
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_form_banner%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
189+
If you spotted it first, help us to smash it by providing a detailed and welcomed
190+
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_form_banner%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
188191

189192
Do not contact contributors directly about support or help with technical issues.
190193

@@ -216,6 +219,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
216219
mission is to support the collaborative development of Odoo features and
217220
promote its widespread use.
218221

219-
This module is part of the `OCA/web <https://github.com/OCA/web/tree/12.0/web_form_banner>`_ project on GitHub.
222+
This module is part of the `OCA/web <https://github.com/OCA/web/tree/15.0/web_form_banner>`_ project on GitHub.
220223

221224
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

web_form_banner/__manifest__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@
1414
"views/web_form_banner_rule_views.xml",
1515
],
1616
"demo": ["demo/web_form_banner_rule_demo.xml"],
17-
'installable': True,
17+
"installable": True,
1818
}

web_form_banner/demo/web_form_banner_rule_demo.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8" ?>
22
<odoo noupdate="1">
33
<record id="demo_rule_partner_name_length" model="web.form.banner.rule">
44
<field name="name">Partner name length notice</field>
5-
<field name="model_id" ref="base.model_res_partner"/>
5+
<field name="model_id" ref="base.model_res_partner" />
66
<field name="severity">warning</field>
77
<field name="target_xpath">//sheet</field>
88
<field name="position">before</field>
9-
<field name="message_value_code"><![CDATA[
9+
<field
10+
name="message_value_code"
11+
><![CDATA[
1012
name = (record.name or "").strip()
1113
n = len(name)
1214
if n > 20:

web_form_banner/models/ir_model.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,17 @@ def fields_view_get(
2121
current_view_id = view_id or res.get("view_id")
2222
if not current_view_id:
2323
return res
24-
rules = self.env["web.form.banner.rule"].sudo().search(
25-
[
26-
("model_name", "=", self._name),
27-
"|",
28-
("view_ids", "in", current_view_id),
29-
("view_ids", "=", False),
30-
]
24+
rules = (
25+
self.env["web.form.banner.rule"]
26+
.sudo()
27+
.search(
28+
[
29+
("model_name", "=", self._name),
30+
"|",
31+
("view_ids", "in", current_view_id),
32+
("view_ids", "=", False),
33+
]
34+
)
3135
)
3236
if not rules:
3337
return res

web_form_banner/models/web_form_banner_rule.py

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

4-
import time
54
import datetime as dt
5+
import time
6+
from functools import lru_cache
7+
from string import Template
8+
69
from dateutil import parser as dateparse
710
from dateutil.relativedelta import relativedelta
8-
from pytz import timezone
9-
10-
from functools import lru_cache
1111
from lxml import etree
12-
from string import Template
12+
from pytz import timezone
1313

1414
from odoo import _, api, fields, models
1515
from odoo.exceptions import ValidationError
@@ -42,7 +42,7 @@ class WebFormBannerRule(models.Model):
4242
string="Position",
4343
default="before",
4444
required=True,
45-
help="Where to insert the placeholder relative to the first matched node."
45+
help="Where to insert the placeholder relative to the first matched node.",
4646
)
4747
severity = fields.Selection(
4848
[("info", "Info"), ("warning", "Warning"), ("danger", "Danger")],
@@ -58,7 +58,7 @@ class WebFormBannerRule(models.Model):
5858
message_is_html = fields.Boolean(
5959
"HTML",
6060
help="If checked, 'message' is treated as raw HTML (no escaping). "
61-
"If not checked, the rendered text is escaped and newlines become <br/>."
61+
"If not checked, the rendered text is escaped and newlines become <br/>.",
6262
)
6363
message_value_code = fields.Text(
6464
help="Python expression evaluated server-side. Must return a dict.\n"
@@ -82,8 +82,10 @@ def _build_form_url(self, rec):
8282
try:
8383
if not rec or not getattr(rec, "id", None):
8484
return ""
85-
base = self.env["ir.config_parameter"].sudo().get_param(
86-
"web.base.url", default=""
85+
base = (
86+
self.env["ir.config_parameter"]
87+
.sudo()
88+
.get_param("web.base.url", default="")
8789
)
8890
return "%s/web#id=%d&model=%s&view_type=form" % (base, rec.id, rec._name)
8991
except Exception:
@@ -155,9 +157,9 @@ def compute_message(self, rule_id, model, res_id):
155157
# If no explicit `values`, treat other keys as template vars
156158
if not values:
157159
values = {
158-
k: v for k, v in out.items() if k not in {
159-
"visible", "severity", "values", "html"
160-
}
160+
k: v
161+
for k, v in out.items()
162+
if k not in {"visible", "severity", "values", "html"}
161163
}
162164
if not visible:
163165
return {"visible": False}

0 commit comments

Comments
 (0)