Repository navigation
Conversation
bosd
force-pushed
the
19.0-add-tier_validation_digest
branch
from
May 13, 2026 15:57
078d592 to
53c1013
Compare
bosd
force-pushed
the
19.0-add-tier_validation_digest
branch
5 times, most recently
from
October 6, 2026 19:13
41fac6c to
ca68b52
Compare
added 3 commits
October 6, 2026 21:37
New auto-installed module that surfaces tier-validation counts in the periodic KPI digest email so each recipient sees, at a glance: - how many tier reviews are pending their action right now, - how many reviews are queued behind a lower-sequence tier (useful when ``approve_sequence`` is enabled -- see what is coming), - how many reviews they validated during the digest period, and - (manager view) how many reviews are pending across the entire company. Each tile links to a filtered ``tier.review`` list so the recipient can act in one click. Auto-installs whenever both ``base_tier_validation`` and ``digest`` are present, so deployments already running both modules pick it up transparently. The four KPIs are single counts over ``tier.review`` -- not split per underlying business model -- because that is the digest convention (one number per tile) and because ``tier.review`` is the single source of truth across every tier-validated model. The action that opens from each tile groups by ``model`` by default, so the per-model breakdown is one click away. The team-wide KPI is gated to ``base.group_erp_manager`` so ordinary users do not see the configuration toggle on their own digest preferences. The framework already raises ``AccessError`` when a non-manager attempts to read the value, and the digest send loop catches that and skips the KPI for that user. The "pending for you" tile is enabled by default: ``default=True`` on ``kpi_tier_validation_pending`` covers digests created after install, and a ``post_init_hook`` turns it on for digests that already exist. The other three tiles stay opt-in. The per-user KPI computes depend on the ``uid`` context (and the period KPI on the digest's start/end datetimes), so the ORM cache does not serve one recipient's count to the next during the send loop.
bosd
force-pushed
the
19.0-add-tier_validation_digest
branch
from
October 6, 2026 19:37
ca68b52 to
188a98d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Our customer rather had a periodic digest e-mail instead of a notification on each individual document.
They do a huge amount of validations.
Adds tier validation tiles to the periodic KPI digest email:
Each tile's Open Report link opens the matching list of the review board of
base_tier_validation_board(#40), on the filter of the tile: your pending, queued (Waiting) or Late reviews, the reviews you validated (Approved, done by you), or all pending reviews for the team tile. Late uses the board's definition, so it follows the samebase_tier_validation.late_after_dayssystem parameter as the board and the reviewer systray.It also adds digest tips, the one tip each digest email shows, every user once. For everyone: where to find your reviews, the Late filter, giving a reason when rejecting. For administrators: the order of the reviews and Approve by sequence, Tier Validation Exceptions, and the Four-eyes Principle. Their sequences sit between those of Odoo's own tips, so they mix in rather than fill the first emails; links are absolute, since they end up in an email. Like Odoo's own tips, each has a 540 px illustration: a small screenshot (7 to 16 KB) shipped in
static/imgand served by the instance itself, so the image always matches the installed version.A tip on bulk approval is a separate commit because it depends on #46: squash it once #46 is merged, or drop it.
Depends on #40; the second commit points
test-requirements.txtat it and goes once #40 is merged. It is a separate glue module that auto-installs withdigest, sobase_tier_validationdoesn't get adigestdependency.Changed after testing: the links used to be
/odoo/action-<id>&menu_id=<id>, which Odoo 19 can't route, so Open Report led nowhere. They now use the board's actions with?menu_id=, checked in a browser. The module's own copies of these review lists are gone. Testing the late tile also showed that #40's Late filter didn't work through a real search on Odoo 19; that's fixed in #40.CC @LoisRForgeFlow