Commit Graph
25 Commits
Author SHA1 Message Date
Cédric Krier 26076d82f1 Fallback to stored values to compute changed xxx2Many
The client may not send the values for the xxx2Many if they have not been
loaded. So in order to provide proper changes to apply once the values are
loaded we must base those changes on the current data stored.

issue9719
review308391002
2020-10-21 23:27:13 +02:00
Nicolas Évrard bfd07fffef Ensure that views are valid when replacing link by label
issue9548
review327881002
2020-09-23 10:06:49 +02:00
Cédric Krier b3f8d125f9 Use custom class to store record data
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
2020-06-13 09:48:03 +02:00
Cédric Krier cf1cdf1c98 Ignore link of action that user can not read
We must also prevent the client to read link action for which the user has not
read access.

issue9364
review305661002
2020-05-28 18:17:40 +02:00
Cédric Krier ad4a2bdf75 Add link button
issue9051
review280841002
2020-04-13 12:21:55 +02:00
Cédric Krier a48382124f Support explicit delete and remove for saving and on_change xxx2Many
issue4140
review291281002
2020-04-12 23:18:15 +02:00
Sergi Almacellas Abellana 0cb3377825 Add depends fields on view_attributes
issue8862
review303161002
2020-03-30 09:33:15 +02:00
Cédric Krier 0811414d49 Update button_action with returned values
issue8766
review268241002
2019-12-07 16:03:36 +01:00
Cédric Krier f7e5c68664 Do not consider as changed the reverse field of One2Many
issue8742
2019-11-17 23:42:02 +01:00
Cédric Krier 5e68f7c0ab Test _changed_values with rec_name
issue8637
review280081004
2019-09-11 23:50:20 +02:00
Cédric Krier 845eee5ea1 Add test to use stored value for One2Many changed without initial value
issue8605
review265901016
2019-09-07 23:34:55 +02:00
Cédric Krier 1738a4ec35 Add ir.message and use custom exceptions
issue3672
review35291002
2018-12-29 14:19:08 +01:00
Sergi Almacellas Abellana 3158279cb3 Remove button if it is not allowed to access some of its dependant fields
issue7502
review47511002
2018-08-01 10:44:06 +02:00
Sergi Almacellas Abellana 26f775e0b4 Add test for recursive dependant fields without access
issue7501
review46551002
2018-07-11 16:23:11 +02:00
Cédric Krier d2a461390a Remove support for Python 2.7
issue7497
review53261002
2018-06-26 19:11:19 +02:00
Sergi Almacellas Abellana bfb76a70ad Add deactivable mixin and ensure active field is present
issue4341
review38401002
2018-03-26 14:07:45 +02:00
Sergi Almacellas Abellana ff2bded417 Ensure that all buttons are registered in ir.model.button
issue6389
review36621002
2018-03-01 11:59:23 +01:00
Nicolas Évrard ddf4e0fe3c Remove empty pages from notebook
issue3295
review40421002
2017-06-09 16:07:03 +02:00
Nicolas Évrard 39c12cf496 Add set_rpc on Field
The __rpc__ attribute is currently filled by method in ModelView. Allowing
fields to define themselves what endpoints should be remotely callable make
this process more flexible.

issue4044
review30991002
2017-02-01 16:11:00 +01:00
Cédric Krier e843bd23c5 Add button rule
issue5944
review26791002
2016-10-26 09:44:09 +02:00
Nicolas Évrard ccbb43cb1d Use activate instead of install for module activation
issue1456
review28931002
2016-10-20 12:51:56 +02:00
Cédric Krier 6232dabdf3 Don't check write access on model for button with groups
issue5010
review23181002
2016-06-30 21:51:03 +02:00
Cédric Krier da1be07832 Make TestCase create and drop its database
and add with_transaction decorator.

issue5263
review20711002
2016-02-06 19:10:35 +01:00
Cédric Krier 8553dfe9b0 _change_values miss some one2many changes
If only records of one2many change but the tuple is still the same than
_changed_values miss it.

issue4345
review7721002
2014-11-21 10:08:35 +01:00
Cédric Krier fee97ca399 New API for on_change
Modify the instance instead of returning a dictionary.

issue4203
review8581002
2014-10-29 20:38:17 +01:00