Alen Sugimoto
0904162ec5
Fix falsy negative currency formatting selection
...
Closes #14860
2026-05-24 08:31:26 -07:00
Cédric Krier
88d280d500
Add phone types as guessing when phonenumbers is not installed
...
Closes #14861
2026-05-26 09:49:36 +02:00
Cédric Krier
02031672ca
Do not save record in editable tree view with parent when checkbox is toggled
...
The parent record is responsible to save the records which is part of a field.
Closes #14848
2026-05-19 17:33:44 +02:00
Cédric Krier
eec4bae8d0
Process response to wizard button only if the state is still the same
...
The response is asynchronous so when the event is processed the state may have
changed.
Closes #14847
2026-05-19 17:18:34 +02:00
Cédric Krier
c22c4acd7a
Set __processing when processing wizard state
...
The protection was copied from tryton but it was missing this activation.
Closes #14846
2026-05-19 17:13:41 +02:00
Cédric Krier
f4dfb8de08
Use tree's record name search for the name parts of project work
...
Closes #14834
2026-05-19 15:22:00 +02:00
Cédric Krier
642063d4c9
Return a proper DateTime in UTC for domain parser completion
...
Closes #14842
2026-05-18 18:28:00 +02:00
Cédric Krier
340c6cda94
Always process 503 and 401 HTTP errors
...
Closes #14836
2026-05-18 15:09:24 +02:00
Cédric Krier
a6a03ed2c4
Publish user notification on the bus when notifications are also modified or deleted
...
Closes #14835
2026-05-18 14:11:39 +02:00
Sergi Almacellas Abellana
2fba072d4a
Clear ShippingMixin shipping_reference's when copying it
...
Closes #14833
2026-05-28 09:45:46 +02:00
Adrià Tarroja Caubet
cc103371a8
Avoid crash on SEPA mandate report without bank
...
Closes #14831
2026-05-13 11:25:48 +02:00
Cédric Krier
8e0adee054
Close database after initialization of Pool from WSGI application
...
The psycopg pool starts worker threads that must be stopped.
Closes #14849
2026-05-19 18:19:59 +02:00
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