When a process change the list of activated modules, the others must refresh
their pool. We do that by just stopping the pool for that database, the next
request will load the new pool.
issue8988
review302861002
As we rollback the cache modification when loading a module, we must clear all
of them at the end to ensure to not keep outdated data.
issue9759
review339421002
A function field summary is added which takes the first line of description
field. This is useful to identify line without product (only with description)
in the list.
issue9695
review292431002
There is no need to enforce access right on instances because only internal
code can use them and the design is to only check on the external calls.
issue7765
review322581002
They can not be displayed by all clients (nor OS).
But also they can be trimmed automatically by web input which breaks comparison
against changes.
issue9248
review312681002
We add a rule to give read access to all view searches without a user.
We manage the delete access on client side thanks to the _delete attribute.
If the user does not have the delete right, the bookmark star is disabled.
issue9515
review323751002
We add the Translator directives to the template so we can use the i18n
extension on HTML report.
We also cache in memory the parsed template and avoid to write it in temp
directory for the loader.
issue9511
issue6489
review321891002
The values may contain None which is not orderable so we insert a third
argument before the value to prevent to compare None value against others.
issue9381
review303881005
By using a class with slots instead of standard dict, we can reduce a lot the
memory usage to store the record data in the caches and values.
Also we can rely on the data in the cache to exist only for real field which
can be used to create a fast path in ModelStorage.__getattr__.
As now storing data in the cache has no extra cost, we can store data from the
transactional cache in the local. This allow also to have a shorter path in
ModelStorage.__getattr__.
For more memory efficiency, we remove the record from the cache instead of
clearing them. It was better to clear a dict but a record is less expensive to
re-instantiate than clearing.
issue9369
issue9225
review297861002
The price_decimal stored in ir.configuration is checked against the current
configuration value. We do not allow to start serving a database for which the
values are different as it may be due to a misconfiguration which can lead to
data corruption.
issue9324
review317381002