cx_Freeze include only the bytecodes version of the translation plugin.
Closes#13208
(grafted from c06fd05a195bfb9bae5dd388a366c0d58c2005a4)
--HG--
branch : 7.0
Otherwise cx_Freeze does not include the translation plugin as it is
dynamically loaded.
Closes#13208
(grafted from 0ab3cefbe003fb39da8b2f3dbb265743ed763f36)
--HG--
branch : 7.0
If the sale is linked to a shipment with a different cost method than order,
it should not be considered to decide to invoice or not the sale shipment
cost.
Closes#13171
(grafted from f290dbb1479d4a4e4aabb2f66d93bf4e042f42e6)
--HG--
branch : 7.0
The buttons of the toolbar must be updated after having saved the current
record.
Closes#13125
(grafted from 03b3f3d5a60c9dbb6268a20fdd8f0c56157272b4)
--HG--
branch : 7.0
Since 1923117e935d the server does not accept compressed content for
unauthenticated request.
(grafted from 97cbe01195da6938e7f718d07e436c8a2856e3a2)
--HG--
branch : 7.0
As model can inherit the access rules from another, the key must include the
keys of those other models.
Closes#13162
(grafted from b04f36d27c78663851f6859e266aac203afd7600)
--HG--
branch : 7.0
A rule line for a country is not expected to be used when the country is
unknown.
Closes#13169
(grafted from cea3c89a740248a84ce48a906f1b1c33ba0fac5e)
--HG--
branch : 7.0
If user_id is accessed before view_args has been setup, we should not cache
`None` as value but instead raise an exception.
The `user_id` may be accessed before the mapping if the request is logged
because the representation of the request used the `rpc_method` which needs to
parse the request data. But since 1923117e935d parsing compressed content is
only allowed for request with `user_id`.
So we can no more include the `rpc_method` is the request has not yet been
mapped and so it has a `view_args`.
Closes#13203
(grafted from 0630029c1d5a0a2c7bd45086957f2e0fbed4c427)
--HG--
branch : 7.0
We can not rely on the row node to always have a parent node as toggle_row is
a callback to an event that can be executed after the row has already be
removed from the DOM.
Closes#13198
(grafted from 7e3ab58418656857275f3888386d840ca336858f)
--HG--
branch : 7.0
So when calling RPCExecute without processing exception, all exceptions can be
catch with RPCException.
Closes#12874
(grafted from 372dbf53977e872ae62dbc8d6ce5bdc3bcacec69)
--HG--
branch : 7.0
The on_paste method is calling value_from_text for each widget using the
string from the clipboard.
So textual value needs to be supported even for date and time widgets which
uses a cell renderer that provides datetime value.
Closes#12860
(grafted from 06448d7bdb976b7057a465ca332bbc638e91653e)
--HG--
branch : 7.0
The Function fields are not copied so it is the storage field that must have a
default value.
Closes#13170
(grafted from 96d629fe11a710b395d9981881c5dfda1674becf)
--HG--
branch : 7.0
The warehouse of internal shipment is computed and may be empty if the from
location does not have a warehouse.
Closes#13129
(grafted from f4f85f4d31f0afe83bb8662d1c15ceecadbd753e)
--HG--
branch : 7.0
By using list_price_used we are sure to have a list price in the company
currency so there is not need for conversion.
Also list price of a product can be empty so we should not try to round it.
Closes#13110
(grafted from 710927560bfe722fc02c0d22bbdf2c1615f787a7)
--HG--
branch : 7.0
In Python bool type is a subtype of integer so it must be tested first.
Also by converting other types to int, we catch any other wrong types.
Closes#13133
(grafted from 2c7c6983eecc716cddc3dcfce7c417e902257df0)
--HG--
branch : 7.0