Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Extra Tools
  3. Track record changesets v 16.0
  4. Sales Conditions FAQ

Track record changesets

by Onestein https://github.com/OCA/server-tools , Camptocamp https://github.com/OCA/server-tools , Odoo Community Association (OCA) https://github.com/OCA/server-tools
Odoo
v 16.0 Third Party 70
Download for v 16.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 1235
Technical Name base_changeset
LicenseAGPL-3
Websitehttps://github.com/OCA/server-tools
Versions 12.0 13.0 14.0 15.0 16.0
You bought this module and need support? Click here!

Track record changesets

Alpha License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

This module extends the functionality of records. It allows to create changesets that must be validated when a record is modified instead of direct modifications. Rules allow to configure which field must be validated.

What is a changeset

A changeset is a list of changes made on a record.

Some of the changes may be ‘Pending’, some ‘Accepted’ or ‘Rejected’ according to the changeset rules. The ‘Pending’ changes require an interaction by the approver user: only when that change is approved, its value is written on the record.

Important

This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. More details on development status

Table of contents

  • Configuration

Configuration

Access Rights

The changesets rules must be edited by users with the group Changesets Configuration. The changesets can be applied or canceled only by users with the group Changesets Validations

Changesets Rules

The changesets rules can be configured in Configuration > Record Changesets > Fields Rules.

  • Configuration of rules

    https://raw.githubusercontent.com/OCA/server-tools/16.0/base_changeset/static/src/img/rules.png

For each record field, an action can be defined:

  • Auto: the changes made on this field are always applied
  • Validate: the changes made on this field must be manually confirmed by a ‘Changesets User’ user
  • Never: the changes made on this field are always refused

In any case, all the changes made by the users are always applied directly on the users, but a ‘validated’ changeset is created for the history.

The supported fields are:

  • Char
  • Text
  • Date
  • Datetime
  • Integer
  • Float
  • Monetary
  • Boolean
  • Many2one

Rules can be global (no source model) or configured by source model. Rules by source model have the priority. If a field is not configured for the source model, it will use the global rule (if existing).

If a field has no rule, it is written to the record without changeset.

Usage

Changeset rules

The first step is to configure the changeset rules. Once that done, writes on records will be created as changesets.

Handling changesets

The list of all the changesets is in Configuration > Record Changesets > Changesets.

By default, only the pending changesets (waiting for validation) are shown. Remove the “Pending” filter to show all the changesets.

  • Changeset waiting for validation

    https://raw.githubusercontent.com/OCA/server-tools/16.0/base_changeset/static/src/img/changeset.png

The changes view shows the name of the record’s field, the Origin value and the New value alongside the state of the change. By clicking on the change in some cases a more detailed view is displayed, for instance, links for relations can be clicked on.

A button on a changeset allows to apply or reject all the changes at once.

Handling single changes

Accessing the changesets gives the full overview of all the changes made. However, it is more convenient to access the single changes directly from the records. When there is a pending change for a field you get a badge with the number of pending changes next to it like this:

  • Badge with the number of pending changes

    https://raw.githubusercontent.com/OCA/server-tools/16.0/base_changeset/static/src/img/badge.png

When you click on it:

  • Clicking the badge: red button to reject, green one to apply

    https://raw.githubusercontent.com/OCA/server-tools/16.0/base_changeset/static/src/img/badge_click.png

Click the red button to reject the change, click the green one to apply it.

Custom source rules in your addon

Addons wanting to create changeset with their own rules should pass the following keys in the context when they write on the record:

  • __changeset_rules_source_model: name of the model which asks for the change
  • __changeset_rules_source_id: id of the record which asks for the change

Also, they should extend the selection in ChangesetFieldRule._domain_source_models to add their model (the same that is passed in __changeset_rules_source_model).

The source is used for the application of the rules, allowing to have a different rule for a different source. It is also stored on the changeset for information.

Notes on security

Note that by default, changeset users see all changes on all configured rules. This circumvents read restrictions on the original records, so if you have restrictions on models with changeset rules, changeset users will still see all changes of all records, and applying a change on an inaccessible record will fail.

Known issues / Roadmap

  • Only a subset of the type of fields is actually supported
  • Multicompany not fully supported
  • The popover widget indicating the number of pending changes is not shown for fields without a label at the moment. The approach was already failing in 15.0 (in the case of inline fields such as the partner address fields) and even in 14.0 (in the case of fields for which no value was set yet). Or, for a more flexible approach, implement a kind of view preprocessing that allows a developer to indicate where the widget needs to go (analogous to <label for=”field_name” />).

Bug Tracker

Bugs are tracked on GitHub Issues. 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 feedback.

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

Credits

Authors

  • Onestein
  • Camptocamp

Contributors

  • Guewen Baconnier <guewen.baconnier@camptocamp.com>
  • Denis Leemann <denis.leemann@camptocamp.com>
  • Yannick Vaucher <yannick.vaucher@camptocamp.com>
  • Dennis Sluijk <d.sluijk@onestein.nl>
  • Andrea Stirpe <a.stirpe@onestein.nl>
  • Holger Brunn <mail@hunki-enterprises.com>
  • Mark Schuit <mark@gig.solutions>
  • Stefan Rijnhart <stefan@opener.amsterdam>

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

astirpe

This module is part of the OCA/server-tools project on GitHub.

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

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with