Skip to content

Commit fad1c14

Browse files
[FIX] web_form_banner
- Fix not updating banner when pager is update or duplicate or create - Fix presentation of help in web form banner rule
1 parent 9883dd7 commit fad1c14

File tree

4 files changed

+70
-60
lines changed

4 files changed

+70
-60
lines changed

web_form_banner/README.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,10 +230,10 @@ Once the values are filled in, the banners will disappear:
230230

231231
|image4|
232232

233-
.. |image1| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_form_banner/static/description/partner_email_rule.png
234-
.. |image2| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_form_banner/static/description/partner_tag_rule.png
235-
.. |image3| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_form_banner/static/description/partner_layout_banner.png
236-
.. |image4| image:: https://raw.githubusercontent.com/OCA/web/19.0/web_form_banner/static/description/partner_layout_no_banner.png
233+
.. |image1| image:: https://raw.githubusercontent.com/OCA/web/17.0/web_form_banner/static/description/partner_email_rule.png
234+
.. |image2| image:: https://raw.githubusercontent.com/OCA/web/17.0/web_form_banner/static/description/partner_tag_rule.png
235+
.. |image3| image:: https://raw.githubusercontent.com/OCA/web/17.0/web_form_banner/static/description/partner_layout_banner.png
236+
.. |image4| image:: https://raw.githubusercontent.com/OCA/web/17.0/web_form_banner/static/description/partner_layout_no_banner.png
237237

238238
Known issues / Roadmap
239239
======================

web_form_banner/static/description/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -563,12 +563,12 @@ <h2><a class="toc-backref" href="#toc-entry-5">Message setting examples:</a></h2
563563
</span> <span class="n">result</span> <span class="o">=</span> <span class="p">{</span><span class="s2">&quot;visible&quot;</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
564564
</pre>
565565
<p>If we set up the rules for a partner record as shown below:</p>
566-
<p><img alt="image1" src="https://raw.githubusercontent.com/OCA/web/19.0/web_form_banner/static/description/partner_email_rule.png" /></p>
567-
<p><img alt="image2" src="https://raw.githubusercontent.com/OCA/web/19.0/web_form_banner/static/description/partner_tag_rule.png" /></p>
566+
<p><img alt="image1" src="https://raw.githubusercontent.com/OCA/web/17.0/web_form_banner/static/description/partner_email_rule.png" /></p>
567+
<p><img alt="image2" src="https://raw.githubusercontent.com/OCA/web/17.0/web_form_banner/static/description/partner_tag_rule.png" /></p>
568568
<p>The banners will be displayed in the partner form view:</p>
569-
<p><img alt="image3" src="https://raw.githubusercontent.com/OCA/web/19.0/web_form_banner/static/description/partner_layout_banner.png" /></p>
569+
<p><img alt="image3" src="https://raw.githubusercontent.com/OCA/web/17.0/web_form_banner/static/description/partner_layout_banner.png" /></p>
570570
<p>Once the values are filled in, the banners will disappear:</p>
571-
<p><img alt="image4" src="https://raw.githubusercontent.com/OCA/web/19.0/web_form_banner/static/description/partner_layout_no_banner.png" /></p>
571+
<p><img alt="image4" src="https://raw.githubusercontent.com/OCA/web/17.0/web_form_banner/static/description/partner_layout_no_banner.png" /></p>
572572
</div>
573573
</div>
574574
<div class="section" id="known-issues-roadmap">

web_form_banner/static/src/js/web_form_banner.esm.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,26 @@ patch(FormController.prototype, {
133133
scheduleRefresh(this);
134134
return r;
135135
},
136+
async create() {
137+
const r = await super.create();
138+
scheduleRefresh(this);
139+
return r;
140+
},
136141
async save(p = {}) {
137142
const ok = await super.save(p);
138143
if (ok) scheduleRefresh(this);
139144
return ok;
140145
},
146+
async duplicateRecord() {
147+
const r = await super.duplicateRecord();
148+
scheduleRefresh(this);
149+
return r;
150+
},
151+
async onPagerUpdate(...args) {
152+
const r = await super.onPagerUpdate(...args);
153+
scheduleRefresh(this);
154+
return r;
155+
},
141156
});
142157

143158
const _superApplyChanges = Record.prototype._applyChanges;

web_form_banner/views/web_form_banner_rule_views.xml

Lines changed: 47 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -92,55 +92,52 @@
9292
/>
9393
</page>
9494
<page string="Help">
95-
<group>
96-
<div>
97-
<h3>Help for Message Valude Code</h3>
98-
<p
99-
>Available evaluation context variables are as follows:</p>
100-
<ul>
101-
<li><code
102-
>env</code>: Odoo environment for ORM access.</li>
103-
<li><code>user</code>: Current user (<code
104-
>env.user</code>).</li>
105-
<li><code
106-
>ctx</code>: Copy of the current context (<code
107-
>dict(env.context)</code>).</li>
108-
<li><code
109-
>record</code>: Current record (the form's record).</li>
110-
<li><code
111-
>draft</code>: The persisted field values of the ORM record (before applying the current
112-
form's unsaved changes) + the current unsaved changes on trigger fields.
113-
Should be used instead of <code
114-
>record</code> when your rule is triggered dynamically by an
115-
update to a trigger field. It doesn't include any values from complex fields
116-
(x2many/reference, etc).
117-
</li>
118-
<li><code
119-
>current_id</code>: Integer id of the record being edited, or <code
120-
>False</code> if the form
121-
is creating a new record.
122-
</li>
123-
<li><code
124-
>model</code>: Shortcut to the current model (<code
125-
>env[record._name]</code>).</li>
126-
<li><code
127-
>url_for(obj)</code>: Helper that returns a backend form URL for <code
128-
>obj</code>.</li>
129-
<li><code
130-
>context_today(ts=None)</code>: User-timezone “today” (date) for reliable date comparisons.</li>
131-
<li><code
132-
>time, datetime</code>: Standard Python time/datetime modules.</li>
133-
<li><code>dateutil</code>: <code
134-
>{ "parser": dateutil.parser, "relativedelta": dateutil.relativedelta }</code></li>
135-
<li><code>timezone</code>: <code
136-
>pytz.timezone</code> for TZ handling.</li>
137-
<li><code>float_compare</code>, <code
138-
>float_is_zero</code>, <code
139-
>float_round</code>: Odoo float utils for precision-safe comparisons/rounding.</li>
140-
</ul>
141-
<p>Example of Message Value Code (model: <code
142-
>sale.order</code>)</p>
143-
<code style="white-space: pre-wrap">
95+
<h3>Help for Message Valude Code</h3>
96+
<p
97+
>Available evaluation context variables are as follows:</p>
98+
<ul>
99+
<li><code
100+
>env</code>: Odoo environment for ORM access.</li>
101+
<li><code>user</code>: Current user (<code
102+
>env.user</code>).</li>
103+
<li><code>ctx</code>: Copy of the current context (<code
104+
>dict(env.context)</code>).</li>
105+
<li><code
106+
>record</code>: Current record (the form's record).</li>
107+
<li><code
108+
>draft</code>: The persisted field values of the ORM record (before applying the current
109+
form's unsaved changes) + the current unsaved changes on trigger fields.
110+
Should be used instead of <code
111+
>record</code> when your rule is triggered dynamically by an
112+
update to a trigger field. It doesn't include any values from complex fields
113+
(x2many/reference, etc).
114+
</li>
115+
<li><code
116+
>current_id</code>: Integer id of the record being edited, or <code
117+
>False</code> if the form
118+
is creating a new record.
119+
</li>
120+
<li><code
121+
>model</code>: Shortcut to the current model (<code
122+
>env[record._name]</code>).</li>
123+
<li><code
124+
>url_for(obj)</code>: Helper that returns a backend form URL for <code
125+
>obj</code>.</li>
126+
<li><code
127+
>context_today(ts=None)</code>: User-timezone “today” (date) for reliable date comparisons.</li>
128+
<li><code
129+
>time, datetime</code>: Standard Python time/datetime modules.</li>
130+
<li><code>dateutil</code>: <code
131+
>{ "parser": dateutil.parser, "relativedelta": dateutil.relativedelta }</code></li>
132+
<li><code>timezone</code>: <code
133+
>pytz.timezone</code> for TZ handling.</li>
134+
<li><code>float_compare</code>, <code
135+
>float_is_zero</code>, <code
136+
>float_round</code>: Odoo float utils for precision-safe comparisons/rounding.</li>
137+
</ul>
138+
<p>Example of Message Value Code (model: <code
139+
>sale.order</code>)</p>
140+
<pre style="white-space: pre-wrap">
144141
domain = [("partner_id", "=", draft.partner_id.id)]
145142
if record_id:
146143
domain += [("id", "&amp;lt;", record_id)]
@@ -150,9 +147,7 @@ if last:
150147
result = {"visible": True, "html": html}
151148
else:
152149
result = {"visible": False}
153-
</code>
154-
</div>
155-
</group>
150+
</pre>
156151
</page>
157152
</notebook>
158153
</sheet>

0 commit comments

Comments
 (0)