Cédric Krier
f7b37fcf3b
Display xxx2Many widgets when they become visible
...
When a tree is used in a xxx2Many widget then we can lazily request the content
of the tree by relying on the intersection observer that is already present at
the bottom of the table.
2025-04-10 19:09:38 +02:00
Nicolas Évrard
0e9cfb3e84
Do not refresh the pool when the notification comes from the same process
2024-12-18 17:08:26 +01:00
Nicolas Évrard
3cf1d64372
Use process-local data structure to store process related data
2025-01-08 23:20:32 +01:00
Nicolas Évrard
26f7c7142b
Add process local objects ala threading.local
2025-02-14 17:16:55 +01:00
Nicolas Évrard
c643794a85
Remove a useless call to Cache.refresh_pool
...
Since Pool.init is called with a non empty update, it will make a call to
Cache.refresh_pool at the end of its call to load_modules
2024-12-17 15:16:51 +01:00
Nicolas Évrard
ac6e93b078
Reset the pool instances only on the pool initialization
...
In a scenario where cache_timeout is set to zero, concurrent updates to the
pool might result in an empty pool dictionary because the process making the
update lose its reference to the updated pool thus replacing it with an empty
dictionary on the following instantiation of Pool.
Closes #13763
2024-12-17 15:14:04 +01:00
Cédric Krier
7a9820e5af
Change current record for the first selected only if there is no current record
...
#4028 added the behavior to apply the selected record also on form view the
first time.
But when switching to a calendar view from a form view, the tree states is
stored with the current record. If the calendar view is cleared (always with
sao via the search_filter), then the tree_states_done is cleared and on the
second switch to the form view the current record is override by record stored
in the tree states (from the first form switch).
Closes #13939
2025-03-26 20:07:54 +01:00
Nicolas Évrard
cd5a54cb2f
Delete warnings at the end of the Transaction
...
Closes #13686
2025-04-10 19:21:50 +02:00
Nicolas Évrard
68fb5e1fa7
Use high level API of res.user.warning in tests
2024-11-29 18:18:52 +01:00
Nicolas Évrard
fb200e610d
Add selection_change_with to Selection field's edition_depends
...
Closes #13959
2025-04-03 16:33:47 +02:00
Cédric Krier
b426fe621c
Restore asynchronous save but protected by a single promise
...
The write RPC must be done asynchronously in order to manage any concurrency
exception.
But the asynchronous RPC can only be done sequentially, so we ensure there can
be only one single pending promise.
Closes #13940
2025-03-25 13:49:53 +01:00
Cédric Krier
e5f0688da7
Store target of field as relation
...
For Many2Many it replaces the relation model by the target which is what is
expected by usage in many places like the domain for email models.
Closes #13756
2025-03-24 23:32:36 +01:00
Cédric Krier
703223faf7
Do not set more than the fulfillable quantity in Shopify fulfillment
...
Closes #13956
2025-04-02 17:29:47 +02:00
Cédric Krier
2f701eb054
Do not fill mode and views for relation field without views
...
It is useless to send those attributes as they will not be used by the client.
2025-03-31 20:04:51 +02:00
Cédric Krier
6daed3eb95
Test if views attribute is empty using jQuery.isEmptyObject
...
The views attribute can be just an empty object when the xxx2Many field is
using a different widget like a multiselection.
Closes #13917
2025-03-31 20:01:42 +02:00
Cédric Krier
a6c548b400
Check for new record only when saving an actual current record
...
49cbc9b99ed8 added the calculation of a new variable but before the test that a
current record is actually being saved.
Closes #13946
2025-03-28 16:04:21 +01:00
Cédric Krier
275248478a
Ensure the contextual company is not None and positive before using it
...
Closes #13868
2025-03-10 23:43:49 +01:00
Cédric Krier
1e151a15a2
Remove support for Python 3.8
2025-04-06 12:11:03 +02:00
Cédric Krier
6d8b42c687
Add support for Python 3.13
2025-04-06 12:10:20 +02:00
Cédric Krier
b2d84f32c2
Reset sale and shipment to draft before delete
...
Since 6c72b78d92d8 the documents are no more automatically cancelled prior
deletion.
2025-04-07 00:27:05 +02:00
Cédric Krier
b7e5b7d865
Remove coupon name in Vue Storefront test
...
Since 5f9f977bfd12 there is no more a name field on coupon.
2025-04-07 00:25:13 +02:00
Cédric Krier
9ba7970f41
Check invoice state only for modified lines with an invoice
...
Since 6c72b78d92d8 the rewrite of the check did not skip invoice line without
invoice.
2025-04-07 00:23:44 +02:00
Cédric Krier
5041a85ef6
Update on_* field of trigger in tests
...
Since bc7e074fc4d9 the fields of trigger has been suffixed with an '_'.
2025-04-07 00:30:35 +02:00
Cédric Krier
39af772212
Do not override all written ids by ids from each argument in ModelSQL write
...
6f1447bdd702 makes ModelSQL.write retrieve the list of ids written from
_before_Write but they should be used as-is to call _after_write (and others).
2025-04-07 00:18:19 +02:00
Cédric Krier
c5aadfb64a
Clear currency on output move of production to lost and found
2025-04-05 19:43:09 +02:00
Cédric Krier
52dd42b587
Remove wrong classmethod decorator on compute_fields of timesheet line
2025-04-05 19:42:30 +02:00
Cédric Krier
5aeff66acd
Use ModelStorage hooks instead of extending create/write/delete
2025-04-06 00:14:17 +02:00
Cédric Krier
45122b77c0
Add on_write to ModelStorage
2025-02-24 13:39:52 +01:00
Cédric Krier
e9fe355663
Add on_delete to ModelStorage
2025-02-19 17:52:22 +01:00
Cédric Krier
ae3cd83668
Rename "on_" columns of trigger
2025-02-20 09:29:52 +01:00
Cédric Krier
4b7b5a4739
Add check_modification to ModelStorage
2025-03-01 16:10:13 +01:00
Cédric Krier
72c96ec778
Add on_modification to ModelStorage
2025-02-19 23:01:52 +01:00
Cédric Krier
defc4c46c5
Add preprocess_values to ModelStorage
2025-02-24 12:58:37 +01:00
Cédric Krier
121c279f47
Add before/after methods for CWRD methods of ModelStorage
2025-04-05 16:33:40 +02:00
Cédric Krier
f94ae51649
Use compute fields for timesheet cost
2025-02-28 12:27:32 +01:00
Cédric Krier
15feef82d8
Use compute fields for places on stock move
2025-01-21 00:25:18 +01:00
Cédric Krier
12db02464b
Use compute fields for format contact mechanism value
2025-01-17 17:24:50 +01:00
Cédric Krier
651144cf37
Use compute fields for IBAN number
2025-01-17 16:12:13 +01:00
Cédric Krier
5984c9aa5f
Use compute fields for attendance date
2025-01-17 15:57:44 +01:00
Cédric Krier
ea8b1e810f
Use compute fields for intrastat type and value
2025-01-17 14:00:31 +01:00
Cédric Krier
6d8d307670
Use compute fields for internal quantities on stock move
...
Closes #13739
2025-01-15 22:10:07 +01:00
Cédric Krier
027384000b
Add compute fields to ModelStorage
2025-01-15 21:37:11 +01:00
Cédric Krier
1772caec90
Clean migrations for series before 6.0
2025-01-04 00:19:42 +01:00
Nicolas Évrard
cbdad75620
Remove old-style of super() calls
2025-04-04 00:45:18 +02:00
Nicolas Évrard
5781a49606
Call the actual super method of InteralShipmentReport
...
Closes #13892
2025-02-26 11:38:41 +01:00
Cédric Krier
18e4060d71
Do not check links to tfig.unece.org
2025-04-03 00:26:09 +02:00
Cédric Krier
b4d984125b
Permit party administrators to edit web users
...
Closes #13936
2025-03-24 13:12:43 +01:00
Cédric Krier
ee10ced9e2
Allow to use phonenumberslite as dependency
...
phonenumberslite is a stripped version of phonenumbers which consume less
memory because it does not include geocoder, carrier and timezone packages
which are not used.
2025-02-03 14:00:41 +01:00
Cédric Krier
a94ca05e3d
Make phonenumbers dependency optional
2025-02-03 14:37:56 +01:00
Cédric Krier
e9cd9d1163
Increase delay between transaction retries
...
Since c8771e45b861 the retry is no more a countdown but an increasing count, so
the sleep time must be adapted to also increase over retries.
Closes #13910
2025-03-07 21:54:11 +01:00