f26b94f had as goal to filter the taxes of the product
according to the company when the sale.order
was created/edited as SUPERUSER_ID
(Who ignores the record rules).
Unfortunetaly, to filter the taxes,
it used the company of the customer,
while it's actually the company of the order which
should be used.
Indeed, for instance,
partners can be shared among all companies.
It was way less simple to access the company
of the sale.order, this parameter being
not available in the on_change method signature.
This is the easiest way to solve this issue
without breaking the API / retro-compatibility.
opw-647819
Force the 'uom in the context to False on the field 'product_id' in the popup
form view "sale.order.form.sale.stock", to force the non-propagation of the
context. To avoid using the uos in function "_product_lst_price" when computing
the public price of a product.
opw:646880
In the case of a move from an out_invoice not linked to a sale order, the customer taxes set on
the product of this move must be taken into account to create the customer invoice line.
opw:645879
During tests, some creation of user records would unnecessarily trigger
password reset or set a password, both of which would trigger password
hashing which takes some time (for good reasons).
Fix by:
* passing no_reset_password in YAML tests and some Python tests still
missing it (a number of Python tests already used it)
* removing passwords from YAML records as they're never necessary, the
test user records are not expected to ever log in
If an extra move contains a product which is not initially in the order,
the taxes set on this product must be considered according to the fiscal position
of this order.
opw:634305
If route is set on dropshipping and the PO invoice is generated from picking, the unit price
used in the supplier invoice must be the cost price. In this particular configuration, this was
not the case because the unit price was replaced by the sale price.
opw-634898
Sales Order lines have a cancelled state, but this state is not
always considered when looping over lines. This check is
done in some places already and this patch's aim is to do it in the
remaining places.
- Cancel the procurement of a sale line in sale.order.line
instead of sale.order, so a line canceled individually with
sale_order_line.button_cancel will properly cancel it
procurement.
- Sale report: uses the state of lines instead of Sales order,
so canceled lines of not-canceled orders are correctly represented
in the analysis.
- test: do not create invoices lines for canceled sale lines
- test: creation of moves with canceled lines
- test: check if lines are still canceled when sale order is done
Closes#6036
When selectiong a dropshipped product in a sale.order, the user should not be
warned that the product is not available in stock (as it never goes to the stock
anyway but directly from the supplier to the customer).
Factorise verification in _check_routing method.
During the creation of an invoice, the partner returned by "_get_master_data" depends on inv_type.
inv_type = "out_invoice" is for customer invoice
inv_type = "in_invoice" is for supplier invoice
opw:632392, 632583