Commit Graph
205 Commits
Author SHA1 Message Date
Cédric Krier 421ec76c49 Clear all cache after module loaded
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
2021-01-13 00:26:53 +01:00
Cédric Krier f40d16a89e Document Cache.drop as classmethod 2020-12-26 21:49:29 +01:00
Maxime Richez d64ae06e19 Add summary to line list
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
2020-12-25 17:14:57 +01:00
Cédric Krier 3b005787d3 Document ModelView._buttons states keys
issue9954
review292951002
2020-12-22 00:27:17 +01:00
Cédric Krier e18501c644 Support other methods for button_change decorator
issue9871
review314871002
2020-12-05 12:09:27 +01:00
David Harper 31a0ee2ec4 Use double backticks for literals in documentation
issue9827
review335091002
2020-11-29 11:35:29 +00:00
David Harper 6badc77143 Document One2One.get_relation method
issue9826
review331201002
2020-11-29 11:30:45 +00:00
Nicolas Évrard a9ff2c7339 PYSON's DateTime defaults to the current time in UTC
issue9698
review329211002
2020-10-22 12:11:09 +02:00
Cédric Krier cd7d40eb07 Add symbol widget
issue9059
review276871002
2020-10-09 19:09:06 +02:00
Cédric Krier 7f6b94610b Add sql_pairing tool
issue9606
review328091002
2020-10-08 21:34:15 +02:00
Cédric Krier a9241ac345 Add option to ensure emails are sent
issue9456
review298071002
2020-07-21 14:33:49 +02:00
Cédric Krier 060a9da6bf Add model, record and records attribute on Wizard
issue9421
review309861012
2020-07-07 23:56:10 +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 a48382124f Support explicit delete and remove for saving and on_change xxx2Many
issue4140
review291281002
2020-04-12 23:18:15 +02:00
Cédric Krier 5626018cd6 Add export CSV data route
issue9090
review261011002
2020-04-12 23:10:30 +02:00
Cédric Krier b12d729c2d Add test on target of relation fields
issue9132
review291211004
2020-04-02 00:01:14 +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 34e5c61a1a Run trigger in the queue
This ensures that internal changes that are reverted later in the same
transaction does not trigger an action.
Also we ensure that a record is triggered by the same trigger only
once per transaction.

issue8342
review280971002
2020-03-28 17:13:12 +01:00
Cédric Krier 62f2ce0198 Set all fields readonly for inactive records
issue3747
review295061011
2020-03-17 20:08:13 +01:00
Cédric Krier a99931c5c4 Do use translation cache if records were modified after last synchronisation
On distributed setup, the cache is not synchronized instantaneously so we can
not use the cache if the record was modified by another process since the last
synchronisation.

issue9013
review262841002
2020-02-15 01:36:48 +01:00
Cédric Krier 9b2ed5d993 Move search documentation to ModelStorage
issue8946
review270771002
2020-01-21 00:40:40 +01:00
Cédric Krier 6b14518eff Position new record based on order
We sent an order to the client for action and xxx2Many so its screen has
always a default order set.
To position a new record on non editable tree, we use the order of the 'id'
column if presents.

issue8880
review276501003
2019-12-28 18:16:28 +01:00
Cédric Krier 45226af9d5 Make PYSON example a literal block 2019-12-19 17:36:26 +01:00
Cédric Krier 0ff927977d Add help text to Dict keys
issue8801
review284371002
2019-12-11 22:25:51 +01:00
Cédric Krier 0811414d49 Update button_action with returned values
issue8766
review268241002
2019-12-07 16:03:36 +01:00
Nicolas Évrard b8c582c002 Add validate information on wizard Button
issue8571
review260041002
2019-11-21 15:39:56 +01:00
Cédric Krier 507a8e26fe Add start value to PYSON Date and DateTime
This enable the customization of the starting point for delta operations.

issue8561
review264041002
2019-09-20 11:36:05 +02:00
Cédric Krier def268915a Add MultiSelection field
issue7851
review249911002
2019-09-20 11:32:56 +02:00
Sergi Almacellas Abellana 058a816879 Support dot notation on PYSON Eval
issue8528
review287841003
2019-09-19 14:11:17 +02:00
Cédric Krier 589e27cc87 Add lazy_gettext
issue8560
review283901002
2019-08-25 13:00:28 +02:00
Cédric Krier 2d4f6766b1 Improve domain validation error from server
We add to DomainValidationError the invalid domain and the field definition so
the client can format and append it to the description of the error.

issue8288
review255351002
2019-06-16 19:04:55 +02:00
Cédric Krier 2d0002d8e9 Allow to search on related field in search box
The server adds to the definition of the fields, the definition of relation
fields up to specific deep level.
The clients use this relation fields definition to extend the domain parser
with those fields using a dot notation. But those "dotted fields" are not
shown in the search filter to not bloat the popup as it is dedicated to
learning.
In addition, Dict fields are also filled with relation fields coming from the
keys defined in the schema model. As the size can very large, it is possible
to deactivate this feature from the configuration.

issue8293
review259391005
2019-06-16 15:44:14 +02:00
Cédric Krier e39129ee3d Add sort and translate options to Reference field
As Reference field uses the SelectionMixin, they could have the same options.

issue8278
review253331002
2019-04-15 16:11:00 +02:00
Cédric Krier 4b4c57a362 Add duration on Cache
issue8249
review283181002
2019-04-11 18:35:25 +02:00
Cédric Krier 0fbf5cecd2 Add cache management on RPC
issue8233
review257231002
2019-04-08 10:10:40 +02:00
Cédric Krier e9ee50982b Allow to update records when importing data
issue652
review273131003
2019-04-04 20:00:25 +02:00
Cédric Krier 016ebc8f4e Use attribute directive to Transaction.user instead of wrong reference 2019-04-04 19:49:05 +02:00
Cédric Krier af791d5beb Typo on Procedure in RPC documentation 2019-03-26 16:03:20 +01:00
Cédric Krier 6d16b629f2 Add CSV exports to print toolbar
issue8130
review54571002
2019-03-22 17:21:21 +01:00
Cédric Krier 2752490423 Improve note button
* Add resources method to ModelStorage
* Support badge on icon
* Display unread and total of notes
* Add two extra colors for icon

issue8122
review70561002
2019-03-22 12:16:36 +01:00
Cédric Krier fb59d8c9b4 Update documentation of the return of ModelStorage.import_data 2019-03-21 17:50:39 +01:00
Cédric Krier 10e31bc311 Add Model.__names__ to retrieve model and field names
issue8159
review72431002
2019-03-15 12:27:44 +01:00
Cédric Krier c4ddbb064a Prevent filling cache with data from old transaction
Once the cache has been cleared, we must ensure that transaction started
before the clearing cannot fill the global cache.

issue8019
review56541002
2019-03-02 23:11:14 +01:00
Cédric Krier 98bb26a386 Move field definition from Model to Field
issue8037
review74441002
2019-02-13 10:37:40 +01:00
Cédric Krier b34cac78d5 Allow to lock records for update
issue8012
review45901002
2019-01-30 09:45:59 +01:00
Cédric Krier da24071467 Make Cache transactional
We implement sync, commit and rollback to follow transaction semantic.
When a transaction clears a cache, the global cache is cleared only when the
transaction is committed meanwhile the transaction will use a cache for itself
only.
We remove _nocache option because the sync, commit and rollback operate only
for the transaction.

issue7975
review53521002
2019-01-18 11:57:11 +01:00
Cédric Krier 889b1cc9f8 Allow to search and order on Dict key value
issue7905
review62391002
2019-01-18 11:32:47 +01:00
Cédric Krier 1738a4ec35 Add ir.message and use custom exceptions
issue3672
review35291002
2018-12-29 14:19:08 +01:00
Cédric Krier f430589b56 Add warning in the documentation about static filter
issue7902
review58451002
2018-12-21 23:48:05 +01:00
Cédric Krier d1bb790cb8 New API to read related fields
issue7888
review58431002
2018-12-21 23:41:56 +01:00