5914 Commits
Author SHA1 Message Date
Cédric Krier ce26ef12dc Do not use cached report instance
We must always use a copy of the cached report instance to allow to add
directives to the template before being prepared.

Closes #14460
2026-01-03 12:53:56 +01:00
Cédric Krier ce7e973e85 Log exception when retrieve file ID from the filestore for Binary field 2025-12-15 17:11:51 +01:00
Cédric Krier aefd12642a Use always the immutable value from the cache
This prevents issues like #14433 from being missed.
2025-12-19 09:39:32 +01:00
Cédric Krier 402913d4cd Log event using the transaction of the records
Closes #14446
2025-12-23 09:55:34 +01:00
Cédric Krier 3b6b39de82 Use ID read of note in tests
Closes #14450
2025-12-25 09:54:24 +01:00
Cédric Krier d45e29e6ad Always surround WHERE clause with parentheses in EXCLUDE constraint
Closes #14449
2025-12-24 11:38:45 +01:00
Cédric Krier 6b9135321c Pass XML-RPC string to GzipStream instead of bytes
Since 0a04dc8fa935 the GzipStream class expect a string or a generator of
strings but not bytes.

Closes #14445
2025-12-22 20:11:10 +01:00
Cédric Krier 2ab19cf6eb Save wizard session states in new transaction for readonly wizard
The transaction is readonly which prevents to save in the database the session
with states.

Closes #14442
2025-12-23 09:52:40 +01:00
Cédric Krier f9a6bd7379 Ensure get_preferences_fields_view modifies mutable field definitions
Closes #14433
2025-12-18 21:24:26 +01:00
Cédric Krier a727c747ae Register a set and frozenset marshalling function for both JSON-RPC and XML-RPC
This completes 0a0f4db765fb for #14387
2025-12-18 19:18:12 +01:00
Cédric Krier 704da3630b Compare element to replace new view tree from inherit application against None
lxml raises a warning about truth-testing on element.

Close #14429
2025-12-16 11:56:31 +01:00
Cédric Krier 122ade0b30 Increase version number 2025-12-15 21:34:54 +01:00
Cédric Krier 692810e7b8 Prepare release 7.8.0 2025-12-15 20:17:16 +01:00
Cédric Krier 954f137e65 Update translations [skip ci] 2025-12-15 18:00:12 +01:00
Cédric Krier 433ef85ac8 Test action window using existing records from the keywords
Since 225529c5e779 the ids do not start at 1 so it must search for existing
records to test.
2025-12-14 13:57:42 +01:00
Nicolas Évrard 7bdb724da2 Search on the Target model in O2M when it has an active field
When comparing a one2many to None we should search on the Target model in order
to ensure the correct handling of the active field. Otherwise there might be
records that wouldn't be found by the search yet their one2many fields come up
empty.

Closes #14370
2025-11-14 18:11:20 +01:00
Nicolas Évrard 64424d1a90 Use the target id to compute the filter clause of a O2M field compared to None
Closes #14373
2025-12-13 14:57:52 +01:00
Nicolas Évrard a23df14c83 Use different starting point for IDs of table when testing
Closes #3799
2025-12-13 14:30:28 +01:00
Cédric Krier b5c13ef379 Use the right primary column name for PostgreSQL database method
On history table the primary column is `__id` instead of `id`.
2025-12-13 14:33:42 +01:00
Cédric Krier a9408ddd2f Implement setnextid for SQLite database 2025-12-13 14:31:19 +01:00
Cédric Krier 626b8e768c Stream json and gzip response
Closes #14409
2025-12-05 20:59:59 +01:00
Cédric Krier 815bd08c8e Auto reload the server when tryton.cfg files are modified
Since 6eb1a23b7457 the tryton.cfg files contains the model to register.
Therefore if they change, the server must be reloaded.
2025-12-03 12:10:53 +01:00
Cédric Krier 476065cf11 Use creation position to format warning key for new records
The opposite position in the creation order is used instead of the id (which is
not stable over transaction retries) to format the warning key when the record
has been created during the transaction.
This ensures that the formatting of the warning key is stable over transaction
retries.

Closes #10591
2025-11-27 16:26:20 +01:00
Cédric Krier cd223660ff Make option --all appends the res module to the list of updates
Since d237ff78d187 the res module is not updated even if it depends on ir
module because it is an early module.

Closes #14401
2025-11-28 15:32:06 +01:00
Cédric Krier 946805c0f3 Do not create fs_values and values for ir_model_data in init SQL
Since 49ca1e40161c those fields have been replaced by field_names.

Closes #14400
2025-11-28 10:19:03 +01:00
Nicolas Évrard 9d4966e41f Filter Many2Many group fields on active = True
When the field is used in a domain adding this filter ensure that comparison
with None will succeed when there are only inactive groups in the field.

Closes #14369
2025-12-03 08:47:20 +01:00
Cédric Krier 72d637cec9 Test if field_names is None instead of empty in ModelStorage hooks
Closes #14382
2025-11-21 11:50:54 +01:00
Cédric Krier 98941a588e Allow users to subscribe to notification cron jobs
Closes #13988
2025-12-02 19:24:36 +01:00
Cédric Krier 8ab505205d Allow users to subscribe to chats 2025-12-02 13:08:05 +01:00
Nicolas Évrard fa19c6226f Notify subscribed users of new message in chat 2025-12-02 18:11:10 +01:00
Nicolas Évrard 48dcd6ffdd Add user notification 2025-12-02 13:08:54 +01:00
Cédric Krier 4dce4ec167 Add documentation for chat 2025-12-02 14:38:58 +01:00
Nicolas Évrard 784eba9791 Correctly get model and id of resource when checking the Channel access rights 2025-10-02 09:44:58 +02:00
Nicolas Évrard 929b3545cd Add support for materializing ModelSQL based on a table query 2025-12-02 00:12:08 +01:00
Cédric Krier 4d8a1cd837 Do not update key value of user application on write
Closes #14353
2025-11-06 11:34:07 +01:00
Cédric Krier 4859bedaaf Convert max_tasks_per_child to None when the value is 0
The ProcessPoolExecutor supports only a positive integer or None.

Closes #14349
2025-11-05 14:38:52 +01:00
Nicolas Évrard 622457ba33 Merge security.check_session and security.check
That way we won't use the pool when the database is not already initialized.

Closes #14316
2025-10-24 18:16:51 +02:00
Nicolas Évrard ecc3e152d1 Apply SQLite types in check_session query
Closes #14315
2025-10-24 18:13:01 +02:00
Cédric Krier 0d677b4f74 Add an option to trytond-console to run a script file 2025-10-21 16:05:39 +02:00
Cédric Krier ac39a44d3b Remove outdated comment about converting Decimal into float for XML-RPC 2025-11-26 21:53:24 +01:00
Nicolas Évrard 3ed88c83c5 Register a MappingProxyType marshalling function for both JSON-RPC and XML-RPC
Closes #14387
2025-11-26 21:50:01 +01:00
Cédric Krier 518e5f3f69 Store only immutable structure or make a shallow copy in MemoryCache
Closes #14347
2025-11-03 23:08:31 +01:00
Cédric Krier b7ee37bb0a Replace clean_days with log_size in the cron configuration
Closes #14319
2025-10-27 19:20:23 +01:00
Cédric Krier b2d45c11cd Enforce access check in export_data
As the method is using instances to construct the exported data, the access
must be checked explicitly.

Closes #14366
2025-11-17 12:26:57 +01:00
Cédric Krier 95dc47a24f Include the traceback only in RPC responses in development mode
Closes #14354
2025-11-12 14:56:34 +01:00
Cédric Krier 41cc370e99 Enforce access check in HTML editor route
Use .read and .write instead of .browse and .save when editing field via the
HTML editor.

Closes #14364
2025-11-17 10:28:49 +01:00
Cédric Krier 4b9ec5939e Set TRYTOND_APPNAME and TRYTOND_TZ only if they are not set or empty
Closes #14322
2025-10-31 12:11:02 +01:00
Cédric Krier a735ea7a2b Make target ids unique when reading related fields
The result is converted into a dict based on the id so we must ensure that the
ids read are unique in case the same id appears after size limit.

Closes #14304
2025-10-21 12:07:40 +02:00
Cédric Krier 817936ef58 Fallback to id as record name when _rec_name value is empty
It happens that the _rec_name is not required so a fallback value is needed to
ensure to always have a name for the record.

Closes #14275
2025-10-21 12:18:02 +02:00
Cédric Krier a9ce6df05d Escape record name used in testing regex 2025-10-21 13:13:23 +02:00