Cédric Krier
ac42d79df7
Document setup of Shopify variants
2025-03-09 10:30:46 +01:00
Cédric Krier
a56834c421
Document that Modify Header wizards are recalculating lines
2025-03-10 13:46:00 +01:00
Cédric Krier
220fd433c9
Add checkout option to cookiecutter command line in tutorial
2025-03-25 09:30:22 +01:00
Cédric Krier
716b0b2ed6
Remove access right tests in scenario
...
The access rights are now only a configuration matter.
2025-03-30 15:22:07 +02:00
Cédric Krier
854562ad6e
Add default value to user in set_user testing tool
2025-03-30 15:21:11 +02:00
Cédric Krier
86c60f700c
Do not fill to_post_number with empty value in Sendcloud parcel
2025-04-15 21:27:51 +02:00
Cédric Krier
274f2a3941
Support structured address in shipping services
2025-01-25 13:21:21 +01:00
Cédric Krier
2e0ecbabf5
Add numbers property to address
2025-01-25 13:20:36 +01:00
Cédric Krier
b2401ede71
Force update of address format
2025-01-25 01:14:12 +01:00
Cédric Krier
0d1da7c1b4
Add structured address
2025-01-25 13:21:34 +01:00
Cédric Krier
8043c1f6cd
Fill secondary unit from product customer
...
Closes #2294
2025-04-14 18:19:25 +02:00
Maxime Richez
8129eb4bfc
Fill secondary unit from product supplier
...
Closes #13933
2025-04-14 18:56:45 +02:00
Cédric Krier
faca1dd187
Order bank account per owners
...
Closes #13937
2025-03-24 18:44:31 +01:00
Cédric Krier
d68df1a8e6
Store payable bank account number on SEPA payment
...
This allows the user to select the bank account to use for the payment instead
of the first IBAN.
Also it stores the bank account that was selected by default on processing.
Closes #13938
2025-03-24 23:10:42 +01:00
Cédric Krier
2a85bd2a14
Remove test on the returned value from production _move method
...
The method always returns a stock move.
2025-03-27 00:26:53 +01:00
Cédric Krier
43dff0d4f6
Add method to prepare stock move from a BOM input or ouput
...
This allows customization of the stock move using data from the BOM.
Closes #13945
2025-03-27 00:25:18 +01:00
Cédric Krier
81134c70da
Update window form buttons when record is modified
...
This synchronize the behavior of these buttons with the one from the One2Many
widget.
Closes #13949
2025-03-28 15:53:05 +01:00
Cédric Krier
3b253210ae
Initialize position of One2Many widget to None/null
2025-03-28 15:51:55 +01:00
Cédric Krier
3a0892126d
Set cursor on product field in opportunity line form
...
Since 9ec3b6ddc7ec the product is no more the first focusable field but it
stays the first useful to have the focus.
Closes #13908
2025-03-31 18:23:37 +02:00
Cédric Krier
1d68553044
Clear browser selection when selecting multiple rows
...
Closes #13952
2025-03-31 23:18:30 +02:00
Cédric Krier
130da3b56d
Archive Shopify products removed instead of deleting them
...
Such that customization made from the admin interface are preserved if the
product is republished.
Closes #13962
2025-04-04 00:27:57 +02:00
Cédric Krier
d169592a30
Do not update Shopify product with empty product description
...
Closes #13963
2025-04-04 00:37:39 +02:00
Cédric Krier
fff5663ae1
Add DecimalNull as tools
2025-04-08 09:59:33 +02:00
Cédric Krier
88b9c02577
Prevent to revise multiple times the same asset with the same invoice line
...
Closes #13970
2025-04-11 13:24:16 +02:00
Cédric Krier
b26b3538cf
Always use flex display for #tabcontent except on small screen
...
On form view, this put the scrollbar for long form only on the form without the
preview.
On small screen the form is switch back to block so the panel-body with the
flex-direction column push the #tabcontent to expand more than the height of
the viewport.
With the content of the preview being always visible without scrollbar (except
for the screen), we can put the navigation at the bottom as natural place.
2025-04-12 12:42:54 +02:00
Nicolas Évrard
cfc38c8070
Store column widths by screen size
2025-04-14 22:57:36 +02:00
Nicolas Évrard
8b6e83e5b2
Allow column widths to be reset
2025-04-14 23:16:26 +02:00
Nicolas Évrard
93ae0df5c3
Allow column resizing in Sao
...
Closes #13115
2025-04-14 23:11:48 +02:00
Nicolas Évrard
15b3e1f5cf
Use the position:sticky on the row of the thead
...
It was previously put on the th because neither Firefox nor Chrome supported it
on thead or tr but it has been solved now.
https://caniuse.com/css-sticky
2024-12-12 10:50:15 +01:00
Nicolas Évrard
4f195c7ffe
Add simple chat widget on sidebar of clients
2025-04-12 17:25:28 +02:00
Cédric Krier
e5c35f988b
Add chat
2025-04-12 16:54:16 +02:00
Nicolas Évrard
a17172f6dd
Toggle the option's selected state on mousedown in the filter window
...
This applies the changes from 3b0ae1dadfa0 to the filter window
2025-04-12 21:32:15 +02:00
Nicolas Évrard
83d280fede
Display checkbox in multiselection in the filter window
...
This applies the changes from 97e82c27dc17 to the filter window
2025-04-12 21:30:56 +02:00
Nicolas Évrard
9babb76a0f
Set sao's multiselection widget height according to its content
2025-03-05 18:13:37 +01:00
Nicolas Évrard
baaf7784fa
Ensure that update_selection is called if init_selection has failed
...
Closes #13960
2025-04-03 16:46:56 +02:00
Cédric Krier
dc53b5fff1
Update npm dependencies
2025-04-12 21:11:11 +02:00
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