When adding/removing a group in a user (and tracking a user or a partner), odoo sends a 'reified' val 'in_group_{group_id}'. We must convert this value into the real groups_id one.
Having a product.template with taxes from multiple companies assigned, let a
user without all of these companies enabled set the taxes of that product.
Before this change, the taxes related to inaccessible companies will be
inadvertently removed.
Co-authored-by: Raf Ven <raf.ven@dynapps.be>
Odoo allows creating or updating records with values like ``{"many2one_field_id": empty.recordset()}``,
but this crashes when using ``deepcopy``, which fails in recreating the ``api.Environment`` object
attached to the recordset.
This commit should fix the issue by updating the values before passing them to ``deepcopy``.
When a field or a model is unlinked, keep the related audit logs. Denormalize
the field and model info on the logs and log lines so that the information
is still available after the deletion of the related data model.
Also, to improve the performance of the deletion of fields and models,
add indexes on the log's model_id and log line's field_id.
Co-Authored-By: Stefan Rijnhart <stefan@opener.am>