Cédric Krier
d52455c360
Support pool process with spawn context for cron and worker
...
When max_tasks_per_child is set, the ProcessPoolExecutor uses a spawn
multiprocessing context which starts a new process from scratch with a __name__
being __mp_main__ which prevents the configuration to be restored.
So in the ProcessPoolExecutor initializer the configuration is restored using
the initial options.
Closes #14843
2026-05-19 12:29:44 +02:00
Cédric Krier
62b3a3b475
Test origin from sale instead of line to calculate cost for return sale of product kit
...
Closes #14854
2026-05-21 10:26:44 +02:00
Cédric Krier
51eaae2070
Delete stock moves only of deactivated products
...
Closes #14844
2026-05-19 10:53:56 +02:00
Cédric Krier
66232f9929
Add optionally a journal column on the invoice list
2026-05-05 16:39:29 +02:00
Cédric Krier
e1b601f923
Remove dependency to pytz and backports.entry-points-selectable
2026-04-28 19:32:51 +02:00
Cédric Krier
a0a6bca457
Add invoice relate from period and fiscal year
...
Closes #14812
2026-04-24 18:26:48 +02:00
Cédric Krier
bd60a15973
Manage products directly on category form
...
Closes #14811
2026-04-24 23:31:34 +02:00
Cédric Krier
3317d0849a
Use search window to delete/remove records from xxx2Many widgets
...
Closes #14782
2026-04-17 18:59:58 +02:00
Nicolas Évrard
9aa924a504
Fetch limit records of ResourceAccessMixin models when they are available
...
Closes #14788
2026-04-21 13:40:21 +02:00
Nicolas Évrard
df1e087165
Use last_modification as the basis of the date of ir.model.log
...
Closes #14786
2026-04-20 17:03:34 +02:00
Nicolas Évrard
d5d9cf3889
Parse equality to a date as two clauses when handling datetime fields
...
Closes #14778
2026-04-14 18:29:42 +02:00
Nicolas Évrard
bee103868f
Modernize parse_clause tests
2026-04-14 18:20:45 +02:00
Cédric Krier
642ff61ab4
Add country organization as criteria of tax rule
...
Closes #14771
2026-04-14 17:29:07 +02:00
Cédric Krier
ad9f7bf8f2
Calculate average lead time for product suppliers
...
Closes #14764
2026-04-13 13:12:59 +02:00
Cédric Krier
b83d7055a9
Guess the type of contact mechanism
...
Closes #14768
2026-04-23 09:18:59 +02:00
Cédric Krier
48d5d5d996
Add check deliverability option to validate email tool
2026-04-23 09:19:13 +02:00
José Antonio Díaz Miralles
d45d477f4f
Reject O2M validate promise when record validation fails after screen display
...
Closes #14775
2026-04-19 13:11:06 +02:00
Cédric Krier
3691d1e8ef
Add a delay to PEPPOL edocument rendering and processing for each service
...
Closes #14767
2026-04-13 18:26:21 +02:00
Cédric Krier
f1e349beee
Restrict direct debit domain to party with receptions
...
Closes #14736
2026-04-02 15:29:10 +02:00
Maxime Richez
ee4bdd08bb
Display products used by customs category
...
Closes #14770
2026-05-07 11:19:56 +02:00
Xavi Hermoso
30a52dd460
Update purchase request state when it is manually linked to a quotation
...
Closes #14773
2026-05-12 09:33:32 +00:00
Cédric Krier
20b2eceed3
Calcule stock move weight on done when required for intrastat
...
The weight may not have been calculated at the creation of the move if the
product did not have a weight set at that time.
Closes #14824
2026-05-08 12:38:14 +02:00
Cédric Krier
081e7e124f
Do not fail to compute supply and purchase date for product supplier without weekdays
...
Closes #14841
2026-05-18 17:45:32 +02:00
Nicolas Évrard
066860fb17
Stop the propagation of the click event in buttons from list-form
...
Closes #14839
2026-05-18 15:57:55 +02:00
Cédric Krier
a9d44cab56
Ensure a reset password token is set before skipping the generation
2026-05-06 17:16:34 +02:00
Cédric Krier
dd56e5d88d
Do not generate a new reset password if the current one is still valid
...
Closes #14819
2026-05-06 17:15:31 +02:00
Cédric Krier
408cd5debf
Include timesheet cost in production work only if timesheet cost module is activated
...
f2642fe60c20 extends the cost method using the cost price of the timesheet line
but without ensuring the module is activated.
Closes #14830
2026-05-12 09:02:55 +02:00
Cédric Krier
f0445ae0bf
Do not add empty extension when slugify filename
...
Closes #14823
2026-05-07 13:34:06 +02:00
Cédric Krier
94f6470f70
Update the version of Stripe used
2026-05-11 09:11:38 +02:00
Cédric Krier
0c1492457e
Add support for AGE to SQLite backend
...
Closes #14763
2026-04-13 12:08:16 +02:00
Cédric Krier
b90030e0c7
Add missing '...' on menu entry that opens a dialog
2026-04-03 18:17:54 +02:00
Cédric Krier
c33e1825f5
Use plural form for attachment and note label
2026-04-03 18:17:33 +02:00
Cédric Krier
96f38c6da0
Display the number of records being deleted in the confirmation message
...
Closes #14745
2026-04-03 18:16:39 +02:00
Cédric Krier
14cec1520b
Raise a generic user error message when failing to parse statement
...
Closes #14621
2026-04-03 17:06:49 +02:00
Cédric Krier
a936b768d0
Add button to mark notifications as read
...
Closes #14744
2026-04-03 15:56:14 +02:00
Cédric Krier
d4518aae4d
Make search on boolean non equals to True is the same as different of False
...
Closes #14815
2026-05-06 09:23:35 +02:00
Cédric Krier
e95e3f989f
Do not reset to quotation Shopify order already processed
...
After a refund the authorized payment amount may be lower than the amount to
pay but the sale should still stay in processing or done state.
Closes #14816
2026-05-05 00:11:08 +02:00
Cédric Krier
3b16f5f6db
Ensure to refund Shopify order only once
...
There are no guarantee from Shopify that the fulfillableQuantity will be
updated just after the refund creation but the sale may be re-processed via the
Shopify webhooks just after the refund.
To avoid to refund multiple times, we need to keep track that the refund was
already be made.
Closes #14776
2026-04-16 11:11:01 +02:00
Cédric Krier
466f6c0120
Delegate notification handling of worker to the backend
...
Since bb52a833e823 the backend provides methods to handle notification.
Closes #14821
2026-05-07 18:12:20 +02:00
Cédric Krier
c1adf66b45
Add RPC method name as fragment of the URL for session methods
2026-05-06 17:25:44 +02:00
Cédric Krier
12c5be5391
Add rpc suffix to reset password procedure
...
Closes #14820
2026-05-06 17:24:23 +02:00
Nicolas Évrard
8066320c0d
Consider in-leaf with a unique value as constrained for domain inversion
...
Closes #13869
2025-02-13 01:02:11 +01:00
Nicolas Évrard
23d6566664
Synchronize trytond and tryton domain_inversion implementations
...
The commit d826376d08a5 was not correctly copied.
2025-02-12 18:59:33 +01:00
Cédric Krier
e90cff1f89
Flip expander and icons for RTL language
...
Closes #14810
2026-04-24 16:16:27 +02:00
Xavi Hermoso
0f28185db8
Filter draft purchase request using state
...
Using empty purchase line is confusing with the domain added for request quotation.
Closes #13700
2026-05-07 18:22:46 +02:00
Sergi Almacellas Abellana
ff2a02c2aa
Add missing space in ethanol volume uom string
2026-04-14 15:05:19 +02:00
Nicolas Évrard
372e8920cf
Fallback on the model name when there is no name param in a tryton URL
...
Closes #14743
2026-04-02 19:44:24 +02:00
Cédric Krier
17e71bf684
Always put form input inside an input-group to position accesskey
...
And invert left/right position on RTL.
Closes #14809
2026-04-24 16:14:05 +02:00
Sergi Almacellas Abellana
e74040ae42
Always use out/return as sale move types
...
Closes #14807
2026-04-23 16:51:09 +02:00
Cédric Krier
c074c26abc
Do not render buttons in readonly screen
...
Closes #14803
2026-04-23 12:47:01 +02:00