Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions base_tier_validation/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,36 @@ improvement will be very valuable.
Changelog
=========

19.0.1.1.0 (2026-05-13)
-----------------------

UI improvements:

- Tier Definition search view: add an explicit *Archived* filter so
archived definitions can be surfaced in one click. The existing *All*
filter is preserved.
- Tier Definition form view: render ``reviewer_id`` (individual review
type) with the ``many2one_avatar_user`` widget so the reviewer's
avatar is shown next to the name, matching the rest of Odoo.
- Tier Definition list view: same ``many2one_avatar_user`` widget on
``reviewer_id``.
- Tier Definition *More Options* tab renamed to *Notifications &
Options* and split into two clearly-titled columns: *Notify reviewers
when* (all ``notify_*`` flags + ``notify_reminder_delay``) and *Review
options* (``has_comment``). The previous flat group mixed conceptually
different settings.
- Tier Review list view: render ``requested_by`` and ``done_by`` with
``many2one_avatar_user``. Add ``decoration-warning`` for pending rows
and ``decoration-muted`` for waiting rows so the row state is visible
at a glance, matching the existing decorations for rejected and
approved.
- Tier Definition action: add a helpful empty-state message explaining
what tier definitions are and how to chain them.
- Reviewer systray menu: lower its ordering so it sits with the other
notification menus (messaging, activities) on the right side of the
systray, to the right of the Enterprise AI button, instead of on the
far left.

19.0.1.0.4 (2026-05-13)
-----------------------

Expand Down
4 changes: 2 additions & 2 deletions base_tier_validation/models/tier_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,13 +200,13 @@ def _get_to_validate_message(self):
)

def _get_validated_message(self):
msg = f"""<i class="fa fa-thumbs-up"></i> {
msg = f"""<i class="fa fa-check"></i> {
self.env._("Operation has been <b>validated</b>!")
}"""
return self.validation_status == "validated" and msg or ""

def _get_rejected_message(self):
msg = f"""<i class="fa fa-thumbs-down"></i> {
msg = f"""<i class="fa fa-times"></i> {
self.env._("Operation has been <b>rejected</b>.")
}"""
return self.validation_status == "rejected" and msg or ""
Expand Down
30 changes: 30 additions & 0 deletions base_tier_validation/readme/HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
## 19.0.1.1.0 (2026-05-13)

UI improvements:

- Tier Definition search view: add an explicit *Archived* filter so
archived definitions can be surfaced in one click. The existing
*All* filter is preserved.
- Tier Definition form view: render ``reviewer_id`` (individual
review type) with the ``many2one_avatar_user`` widget so the
reviewer's avatar is shown next to the name, matching the rest of
Odoo.
- Tier Definition list view: same ``many2one_avatar_user`` widget on
``reviewer_id``.
- Tier Definition *More Options* tab renamed to *Notifications &
Options* and split into two clearly-titled columns: *Notify
reviewers when* (all ``notify_*`` flags + ``notify_reminder_delay``)
and *Review options* (``has_comment``). The previous flat group
mixed conceptually different settings.
- Tier Review list view: render ``requested_by`` and ``done_by`` with
``many2one_avatar_user``. Add ``decoration-warning`` for pending
rows and ``decoration-muted`` for waiting rows so the row state is
visible at a glance, matching the existing decorations for rejected
and approved.
- Tier Definition action: add a helpful empty-state message
explaining what tier definitions are and how to chain them.
- Reviewer systray menu: lower its ordering so it sits with the other
notification menus (messaging, activities) on the right side of the
systray, to the right of the Enterprise AI button, instead of on the
far left.

## 19.0.1.0.4 (2026-05-13)

UI improvement:
Expand Down
155 changes: 93 additions & 62 deletions base_tier_validation/static/description/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -398,31 +398,32 @@ <h1>Base Tier Validation</h1>
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-2">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#changelog" id="toc-entry-3">Changelog</a><ul>
<li><a class="reference internal" href="#section-1" id="toc-entry-4">19.0.1.0.4 (2026-05-13)</a></li>
<li><a class="reference internal" href="#section-2" id="toc-entry-5">19.0.1.0.1 (2026-05-12)</a></li>
<li><a class="reference internal" href="#section-3" id="toc-entry-6">17.0.1.0.0 (2024-01-10)</a></li>
<li><a class="reference internal" href="#section-4" id="toc-entry-7">14.0.1.0.0 (2020-11-19)</a></li>
<li><a class="reference internal" href="#section-5" id="toc-entry-8">13.0.1.2.2 (2020-08-30)</a></li>
<li><a class="reference internal" href="#section-6" id="toc-entry-9">12.0.3.3.1 (2019-12-02)</a></li>
<li><a class="reference internal" href="#section-7" id="toc-entry-10">12.0.3.3.0 (2019-11-27)</a></li>
<li><a class="reference internal" href="#section-8" id="toc-entry-11">12.0.3.2.1 (2019-11-26)</a></li>
<li><a class="reference internal" href="#section-9" id="toc-entry-12">12.0.3.2.0 (2019-11-25)</a></li>
<li><a class="reference internal" href="#section-10" id="toc-entry-13">12.0.3.1.0 (2019-07-08)</a></li>
<li><a class="reference internal" href="#section-11" id="toc-entry-14">12.0.3.0.0 (2019-12-02)</a></li>
<li><a class="reference internal" href="#section-12" id="toc-entry-15">12.0.2.1.0 (2019-05-29)</a></li>
<li><a class="reference internal" href="#section-13" id="toc-entry-16">12.0.2.0.0 (2019-05-28)</a></li>
<li><a class="reference internal" href="#section-14" id="toc-entry-17">12.0.1.0.0 (2019-02-18)</a></li>
<li><a class="reference internal" href="#section-15" id="toc-entry-18">11.0.1.0.0 (2018-05-09)</a></li>
<li><a class="reference internal" href="#section-16" id="toc-entry-19">10.0.1.0.0 (2018-03-26)</a></li>
<li><a class="reference internal" href="#section-17" id="toc-entry-20">9.0.1.0.0 (2017-12-02)</a></li>
<li><a class="reference internal" href="#section-1" id="toc-entry-4">19.0.1.1.0 (2026-05-13)</a></li>
<li><a class="reference internal" href="#section-2" id="toc-entry-5">19.0.1.0.4 (2026-05-13)</a></li>
<li><a class="reference internal" href="#section-3" id="toc-entry-6">19.0.1.0.1 (2026-05-12)</a></li>
<li><a class="reference internal" href="#section-4" id="toc-entry-7">17.0.1.0.0 (2024-01-10)</a></li>
<li><a class="reference internal" href="#section-5" id="toc-entry-8">14.0.1.0.0 (2020-11-19)</a></li>
<li><a class="reference internal" href="#section-6" id="toc-entry-9">13.0.1.2.2 (2020-08-30)</a></li>
<li><a class="reference internal" href="#section-7" id="toc-entry-10">12.0.3.3.1 (2019-12-02)</a></li>
<li><a class="reference internal" href="#section-8" id="toc-entry-11">12.0.3.3.0 (2019-11-27)</a></li>
<li><a class="reference internal" href="#section-9" id="toc-entry-12">12.0.3.2.1 (2019-11-26)</a></li>
<li><a class="reference internal" href="#section-10" id="toc-entry-13">12.0.3.2.0 (2019-11-25)</a></li>
<li><a class="reference internal" href="#section-11" id="toc-entry-14">12.0.3.1.0 (2019-07-08)</a></li>
<li><a class="reference internal" href="#section-12" id="toc-entry-15">12.0.3.0.0 (2019-12-02)</a></li>
<li><a class="reference internal" href="#section-13" id="toc-entry-16">12.0.2.1.0 (2019-05-29)</a></li>
<li><a class="reference internal" href="#section-14" id="toc-entry-17">12.0.2.0.0 (2019-05-28)</a></li>
<li><a class="reference internal" href="#section-15" id="toc-entry-18">12.0.1.0.0 (2019-02-18)</a></li>
<li><a class="reference internal" href="#section-16" id="toc-entry-19">11.0.1.0.0 (2018-05-09)</a></li>
<li><a class="reference internal" href="#section-17" id="toc-entry-20">10.0.1.0.0 (2018-03-26)</a></li>
<li><a class="reference internal" href="#section-18" id="toc-entry-21">9.0.1.0.0 (2017-12-02)</a></li>
</ul>
</li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-21">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-22">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-23">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-24">Contributors</a></li>
<li><a class="reference internal" href="#other-credits" id="toc-entry-25">Other credits</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-26">Maintainers</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-22">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-23">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-24">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-25">Contributors</a></li>
<li><a class="reference internal" href="#other-credits" id="toc-entry-26">Other credits</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-27">Maintainers</a></li>
</ul>
</li>
</ul>
Expand Down Expand Up @@ -491,7 +492,37 @@ <h2><a class="toc-backref" href="#toc-entry-2">Known issues / Roadmap</a></h2>
<div class="section" id="changelog">
<h2><a class="toc-backref" href="#toc-entry-3">Changelog</a></h2>
<div class="section" id="section-1">
<h3><a class="toc-backref" href="#toc-entry-4">19.0.1.0.4 (2026-05-13)</a></h3>
<h3><a class="toc-backref" href="#toc-entry-4">19.0.1.1.0 (2026-05-13)</a></h3>
<p>UI improvements:</p>
<ul class="simple">
<li>Tier Definition search view: add an explicit <em>Archived</em> filter so
archived definitions can be surfaced in one click. The existing <em>All</em>
filter is preserved.</li>
<li>Tier Definition form view: render <tt class="docutils literal">reviewer_id</tt> (individual review
type) with the <tt class="docutils literal">many2one_avatar_user</tt> widget so the reviewer’s
avatar is shown next to the name, matching the rest of Odoo.</li>
<li>Tier Definition list view: same <tt class="docutils literal">many2one_avatar_user</tt> widget on
<tt class="docutils literal">reviewer_id</tt>.</li>
<li>Tier Definition <em>More Options</em> tab renamed to <em>Notifications &amp;
Options</em> and split into two clearly-titled columns: <em>Notify reviewers
when</em> (all <tt class="docutils literal">notify_*</tt> flags + <tt class="docutils literal">notify_reminder_delay</tt>) and <em>Review
options</em> (<tt class="docutils literal">has_comment</tt>). The previous flat group mixed conceptually
different settings.</li>
<li>Tier Review list view: render <tt class="docutils literal">requested_by</tt> and <tt class="docutils literal">done_by</tt> with
<tt class="docutils literal">many2one_avatar_user</tt>. Add <tt class="docutils literal"><span class="pre">decoration-warning</span></tt> for pending rows
and <tt class="docutils literal"><span class="pre">decoration-muted</span></tt> for waiting rows so the row state is visible
at a glance, matching the existing decorations for rejected and
approved.</li>
<li>Tier Definition action: add a helpful empty-state message explaining
what tier definitions are and how to chain them.</li>
<li>Reviewer systray menu: lower its ordering so it sits with the other
notification menus (messaging, activities) on the right side of the
systray, to the right of the Enterprise AI button, instead of on the
far left.</li>
</ul>
</div>
<div class="section" id="section-2">
<h3><a class="toc-backref" href="#toc-entry-5">19.0.1.0.4 (2026-05-13)</a></h3>
<p>UI improvement:</p>
<ul class="simple">
<li>The “needs to be validated” banner shown above tier-validated
Expand All @@ -507,8 +538,8 @@ <h3><a class="toc-backref" href="#toc-entry-4">19.0.1.0.4 (2026-05-13)</a></h3>
the model but never rendered.</li>
</ul>
</div>
<div class="section" id="section-2">
<h3><a class="toc-backref" href="#toc-entry-5">19.0.1.0.1 (2026-05-12)</a></h3>
<div class="section" id="section-3">
<h3><a class="toc-backref" href="#toc-entry-6">19.0.1.0.1 (2026-05-12)</a></h3>
<p>Fixes:</p>
<ul class="simple">
<li>Restore auto-promotion of the lowest-sequence review to <tt class="docutils literal">pending</tt>
Expand All @@ -530,18 +561,18 @@ <h3><a class="toc-backref" href="#toc-entry-5">19.0.1.0.1 (2026-05-12)</a></h3>
<tt class="docutils literal">subtype_ids</tt> explicitly (mirroring <tt class="docutils literal">_notify_review_requested</tt>).</li>
</ul>
</div>
<div class="section" id="section-3">
<h3><a class="toc-backref" href="#toc-entry-6">17.0.1.0.0 (2024-01-10)</a></h3>
<div class="section" id="section-4">
<h3><a class="toc-backref" href="#toc-entry-7">17.0.1.0.0 (2024-01-10)</a></h3>
<p>Migrated to Odoo 17. Merged module with tier_validation_waiting. To
support sending messages in a validation sequence when it is their turn
to validate.</p>
</div>
<div class="section" id="section-4">
<h3><a class="toc-backref" href="#toc-entry-7">14.0.1.0.0 (2020-11-19)</a></h3>
<div class="section" id="section-5">
<h3><a class="toc-backref" href="#toc-entry-8">14.0.1.0.0 (2020-11-19)</a></h3>
<p>Migrated to Odoo 14.</p>
</div>
<div class="section" id="section-5">
<h3><a class="toc-backref" href="#toc-entry-8">13.0.1.2.2 (2020-08-30)</a></h3>
<div class="section" id="section-6">
<h3><a class="toc-backref" href="#toc-entry-9">13.0.1.2.2 (2020-08-30)</a></h3>
<p>Fixes:</p>
<ul class="simple">
<li>When using approve_sequence option in any tier.definition there can be
Expand All @@ -550,100 +581,100 @@ <h3><a class="toc-backref" href="#toc-entry-8">13.0.1.2.2 (2020-08-30)</a></h3>
sequence, but also other sequence for the same approver</li>
</ul>
</div>
<div class="section" id="section-6">
<h3><a class="toc-backref" href="#toc-entry-9">12.0.3.3.1 (2019-12-02)</a></h3>
<div class="section" id="section-7">
<h3><a class="toc-backref" href="#toc-entry-10">12.0.3.3.1 (2019-12-02)</a></h3>
<p>Fixes:</p>
<ul class="simple">
<li>Show comment on Reviews Table.</li>
<li>Edit notification with approve_sequence.</li>
</ul>
</div>
<div class="section" id="section-7">
<h3><a class="toc-backref" href="#toc-entry-10">12.0.3.3.0 (2019-11-27)</a></h3>
<div class="section" id="section-8">
<h3><a class="toc-backref" href="#toc-entry-11">12.0.3.3.0 (2019-11-27)</a></h3>
<p>New features:</p>
<ul class="simple">
<li>Add comment on Reviews Table.</li>
<li>Approve by sequence.</li>
</ul>
</div>
<div class="section" id="section-8">
<h3><a class="toc-backref" href="#toc-entry-11">12.0.3.2.1 (2019-11-26)</a></h3>
<div class="section" id="section-9">
<h3><a class="toc-backref" href="#toc-entry-12">12.0.3.2.1 (2019-11-26)</a></h3>
<p>Fixes:</p>
<ul class="simple">
<li>Remove message_subscribe_users</li>
</ul>
</div>
<div class="section" id="section-9">
<h3><a class="toc-backref" href="#toc-entry-12">12.0.3.2.0 (2019-11-25)</a></h3>
<div class="section" id="section-10">
<h3><a class="toc-backref" href="#toc-entry-13">12.0.3.2.0 (2019-11-25)</a></h3>
<p>New features:</p>
<ul class="simple">
<li>Notify reviewers</li>
</ul>
</div>
<div class="section" id="section-10">
<h3><a class="toc-backref" href="#toc-entry-13">12.0.3.1.0 (2019-07-08)</a></h3>
<div class="section" id="section-11">
<h3><a class="toc-backref" href="#toc-entry-14">12.0.3.1.0 (2019-07-08)</a></h3>
<p>Fixes:</p>
<ul class="simple">
<li>Singleton error</li>
</ul>
</div>
<div class="section" id="section-11">
<h3><a class="toc-backref" href="#toc-entry-14">12.0.3.0.0 (2019-12-02)</a></h3>
<div class="section" id="section-12">
<h3><a class="toc-backref" href="#toc-entry-15">12.0.3.0.0 (2019-12-02)</a></h3>
<p>Fixes:</p>
<ul class="simple">
<li>Edit Reviews Table</li>
</ul>
</div>
<div class="section" id="section-12">
<h3><a class="toc-backref" href="#toc-entry-15">12.0.2.1.0 (2019-05-29)</a></h3>
<div class="section" id="section-13">
<h3><a class="toc-backref" href="#toc-entry-16">12.0.2.1.0 (2019-05-29)</a></h3>
<p>Fixes:</p>
<ul class="simple">
<li>Edit drop-down style width and position</li>
</ul>
</div>
<div class="section" id="section-13">
<h3><a class="toc-backref" href="#toc-entry-16">12.0.2.0.0 (2019-05-28)</a></h3>
<div class="section" id="section-14">
<h3><a class="toc-backref" href="#toc-entry-17">12.0.2.0.0 (2019-05-28)</a></h3>
<p>New features:</p>
<ul class="simple">
<li>Pass parameters as functions.</li>
<li>Add Systray.</li>
</ul>
</div>
<div class="section" id="section-14">
<h3><a class="toc-backref" href="#toc-entry-17">12.0.1.0.0 (2019-02-18)</a></h3>
<div class="section" id="section-15">
<h3><a class="toc-backref" href="#toc-entry-18">12.0.1.0.0 (2019-02-18)</a></h3>
<p>Migrated to Odoo 12.</p>
</div>
<div class="section" id="section-15">
<h3><a class="toc-backref" href="#toc-entry-18">11.0.1.0.0 (2018-05-09)</a></h3>
<div class="section" id="section-16">
<h3><a class="toc-backref" href="#toc-entry-19">11.0.1.0.0 (2018-05-09)</a></h3>
<p>Migrated to Odoo 11.</p>
</div>
<div class="section" id="section-16">
<h3><a class="toc-backref" href="#toc-entry-19">10.0.1.0.0 (2018-03-26)</a></h3>
<div class="section" id="section-17">
<h3><a class="toc-backref" href="#toc-entry-20">10.0.1.0.0 (2018-03-26)</a></h3>
<p>Migrated to Odoo 10.</p>
</div>
<div class="section" id="section-17">
<h3><a class="toc-backref" href="#toc-entry-20">9.0.1.0.0 (2017-12-02)</a></h3>
<div class="section" id="section-18">
<h3><a class="toc-backref" href="#toc-entry-21">9.0.1.0.0 (2017-12-02)</a></h3>
<p>First version.</p>
</div>
</div>
<div class="section" id="bug-tracker">
<h2><a class="toc-backref" href="#toc-entry-21">Bug Tracker</a></h2>
<h2><a class="toc-backref" href="#toc-entry-22">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/tier-validation/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/tier-validation/issues/new?body=module:%20base_tier_validation%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h2><a class="toc-backref" href="#toc-entry-22">Credits</a></h2>
<h2><a class="toc-backref" href="#toc-entry-23">Credits</a></h2>
<div class="section" id="authors">
<h3><a class="toc-backref" href="#toc-entry-23">Authors</a></h3>
<h3><a class="toc-backref" href="#toc-entry-24">Authors</a></h3>
<ul class="simple">
<li>ForgeFlow</li>
</ul>
</div>
<div class="section" id="contributors">
<h3><a class="toc-backref" href="#toc-entry-24">Contributors</a></h3>
<h3><a class="toc-backref" href="#toc-entry-25">Contributors</a></h3>
<ul class="simple">
<li>Lois Rilo &lt;<a class="reference external" href="mailto:lois.rilo&#64;forgeflow.com">lois.rilo&#64;forgeflow.com</a>&gt;</li>
<li>Naglis Jonaitis &lt;<a class="reference external" href="mailto:naglis&#64;versada.eu">naglis&#64;versada.eu</a>&gt;</li>
Expand All @@ -668,10 +699,10 @@ <h3><a class="toc-backref" href="#toc-entry-24">Contributors</a></h3>
</ul>
</div>
<div class="section" id="other-credits">
<h3><a class="toc-backref" href="#toc-entry-25">Other credits</a></h3>
<h3><a class="toc-backref" href="#toc-entry-26">Other credits</a></h3>
</div>
<div class="section" id="maintainers">
<h3><a class="toc-backref" href="#toc-entry-26">Maintainers</a></h3>
<h3><a class="toc-backref" href="#toc-entry-27">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,12 @@ export const systrayItem = {
Component: TierReviewMenu,
};

// Systray items render right-to-left by descending sequence (higher =
// further left; the user menu at sequence 0 is the right-most). A low
// sequence keeps the reviewer menu grouped with the standard
// notification menus (messaging 25, activities 20) on the right, rather
// than off on the far left -- notably to the right of the Enterprise AI
// button (which sits left of the messaging menu, i.e. sequence > 25).
registry
.category("systray")
.add("base_tier_validation.ReviewerMenu", systrayItem, {sequence: 99});
.add("base_tier_validation.ReviewerMenu", systrayItem, {sequence: 24});
Loading
Loading