mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-18 09:12:03 +02:00
Initial commit: OCA Technical packages (595 packages)
This commit is contained in:
commit
2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions
|
|
@ -0,0 +1,250 @@
|
|||
=======================
|
||||
Track record changesets
|
||||
=======================
|
||||
|
||||
..
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:a0553f512eea126df69773c8a4597af8d63d3427fa46a6bee3090761e8f7b869
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
|
||||
:target: https://odoo-community.org/page/development-status
|
||||
:alt: Alpha
|
||||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github
|
||||
:target: https://github.com/OCA/server-tools/tree/16.0/base_changeset
|
||||
:alt: OCA/server-tools
|
||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||
:target: https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-base_changeset
|
||||
:alt: Translate me on Weblate
|
||||
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
||||
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=16.0
|
||||
:alt: Try me on Runboat
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
||||
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 <https://odoo-community.org/page/development-status>`_
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
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
|
||||
|
||||
.. image:: 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
|
||||
|
||||
.. image:: 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
|
||||
|
||||
.. image:: 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
|
||||
|
||||
.. image:: 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 <https://github.com/OCA/server-tools/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 <https://github.com/OCA/server-tools/issues/new?body=module:%20base_changeset%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
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.
|
||||
|
||||
.. image:: https://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: https://odoo-community.org
|
||||
|
||||
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.
|
||||
|
||||
.. |maintainer-astirpe| image:: https://github.com/astirpe.png?size=40px
|
||||
:target: https://github.com/astirpe
|
||||
:alt: astirpe
|
||||
|
||||
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|
||||
|
||||
|maintainer-astirpe|
|
||||
|
||||
This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/16.0/base_changeset>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
Loading…
Add table
Add a link
Reference in a new issue