Overslaan naar inhoud

Description

The dws_gbg_tier_validation module extends the generic tier validation engine (base_tier_validation) with:

  • An optional control to prevent reviewers from validating their own changes.
  • A fix for the top‑bar “Review notificator” counter so it correctly reflects pending reviews in parallel approval flows.

Everything is implemented by inheritance — the purchased base module is not modified.

Key Features

  • New boolean option on tier.definition: Validator cannot validate own changes (no_self_review).
  • Helper field show_no_self_review to control form visibility (only shown when there are more than one active validators for the same model).
  • Behavior by reviewer type when option is enabled:
    • Specific user / Field: if the resolved reviewer equals the requester, the review is skipped.
    • Group: requester is excluded from the eligible reviewer set.
  • Systray “Review notificator” counter shows correct pending counts for parallel approvals: we compute counts directly from tier.review and dynamically evaluate eligibility, instead of relying on potentially stale stored fields.
  • Works for all models using the tier validation engine.

Configuration

  1. Go to Settings → Technical → Tier Definitions.
  2. Edit or create a definition. In the “More Options” tab, enable Validator cannot validate own changes.
  3. The checkbox is only visible if there are more than one active tier definitions for the same model.

Compatibility

Depends on base_tier_validation. Designed for Odoo 16.

Changelog

  • 1.1.0 — Systray counter fix for parallel validations; dynamic eligibility in counts.
  • 1.0.0 — Initial release with self-review prevention and UI helper field.

Note: This module avoids direct changes to base_tier_validation to keep upgrades safe.


Beschrijving

De module dws_gbg_tier_validation breidt de generieke engine voor niveauvalidatie (base_tier_validation) uit met:

  • Een optionele controle om te voorkomen dat beoordelaars hun eigen wijzigingen valideren.
  • Een fix voor de "Review notificator" teller in de bovenbalk, zodat deze de openstaande beoordelingen in parallelle goedkeuringsstromen correct weergeeft.

Alles is geïmplementeerd via overerving — de aangekochte basismodule wordt niet gewijzigd.

Belangrijkste kenmerken

  • Nieuwe booleaanse optie op tier.definition: Beoordelaar kan eigen wijzigingen niet valideren (no_self_review).
  • Hulpveld show_no_self_review om de zichtbaarheid op het formulier te beheren (alleen getoond als er meer dan één actieve beoordelaar is voor hetzelfde model).
  • Gedrag per type beoordelaar wanneer de optie is ingeschakeld:
    • Specifieke gebruiker / Veld: als de aangewezen beoordelaar gelijk is aan de aanvrager, wordt de beoordeling overgeslagen.
    • Groep: de aanvrager wordt uitgesloten van de set met in aanmerking komende beoordelaars.
  • Systray “Review notificator” teller toont correcte aantallen voor parallelle goedkeuringen: we berekenen de aantallen direct vanuit tier.review en evalueren dynamisch wie in aanmerking komt, in plaats van te vertrouwen op mogelijk verouderde opgeslagen velden.
  • Werkt voor alle modellen die de niveauvalidatie-engine gebruiken.

Configuratie

  1. Ga naar Instellingen → Technisch → Niveau Definities (Tier Definitions).
  2. Bewerk of maak een definitie aan. Schakel op het tabblad "Meer opties" de optie Beoordelaar kan eigen wijzigingen niet valideren in.
  3. Het selectievakje is alleen zichtbaar als er meer dan één actieve niveaudefinitie voor hetzelfde model is.

Compatibiliteit

Afhankelijk van base_tier_validation. Ontworpen voor Odoo 16.

Changelog

  • 1.1.0 — Systray teller fix voor parallelle validaties; dynamische controle in tellingen.
  • 1.0.0 — Initiële release met preventie van zelfbeoordeling en UI-hulpveld.

Let op: Deze module vermijdt directe wijzigingen aan base_tier_validation om updates veilig te houden.


Opis

Moduł dws_gbg_tier_validation rozszerza ogólny silnik walidacji poziomów (base_tier_validation) o:

  • Opcjonalną kontrolę zapobiegającą zatwierdzaniu własnych zmian przez recenzentów.
  • Poprawkę licznika „Powiadomienia o recenzjach” na górnym pasku, aby poprawnie odzwierciedlał oczekujące recenzje w równoległych przepływach zatwierdzeń.

Wszystko zostało zaimplementowane poprzez dziedziczenie — zakupiony moduł bazowy nie jest modyfikowany.

Kluczowe funkcje

  • Nowa opcja logiczna w tier.definition: Zatwierdzający nie może zatwierdzać własnych zmian (no_self_review).
  • Pole pomocnicze show_no_self_review do kontrolowania widoczności formularza (wyświetlane tylko wtedy, gdy dla tego samego modelu istnieje więcej niż jeden aktywny zatwierdzający).
  • Zachowanie według typu recenzenta, gdy opcja jest włączona:
    • Konkretny użytkownik / Pole: jeśli wyznaczony recenzent jest tożsamy z wnioskodawcą, recenzja jest pomijana.
    • Grupa: wnioskodawca zostaje wykluczony z grona uprawnionych recenzentów.
  • Licznik „Powiadomienia o recenzjach” w zasobniku systemowym pokazuje poprawne liczby dla zatwierdzeń równoległych: obliczamy liczby bezpośrednio z tier.review i dynamicznie oceniamy uprawnienia, zamiast polegać na potencjalnie nieaktualnych polach przechowywanych.
  • Działa dla wszystkich modeli korzystających z silnika walidacji poziomów.

Konfiguracja

  1. Przejdź do Ustawienia → Techniczne → Definicje poziomów (Tier Definitions).
  2. Edytuj lub utwórz definicję. Na karcie „Więcej opcji” włącz Zatwierdzający nie może zatwierdzać własnych zmian.
  3. Pole wyboru jest widoczne tylko wtedy, gdy dla tego samego modelu istnieje więcej niż jedna aktywna definicja poziomu.

Kompatybilność

Wymaga base_tier_validation. Zaprojektowany dla Odoo 16.

Lista zmian

  • 1.1.0 — Poprawka licznika w zasobniku dla walidacji równoległych; dynamiczne sprawdzanie uprawnień w licznikach.
  • 1.0.0 — Pierwsze wydanie z zapobieganiem samoweryfikacji i pomocniczym polem interfejsu użytkownika.

Uwaga: Ten moduł unika bezpośrednich zmian w base_tier_validation, aby zapewnić bezpieczeństwo aktualizacji.