- Create the following pricelist for product A:
4 Units: 2.88
3 Units: 3.45
2 Units: 4.85
1 Units: 7.50
- In the POS, click several time on A to add in the cart
The 2 first units are merged in a single line, but from the third one a
new line is created.
This is because of the float reproesentation of 4.85, which becomes
4.8500000000000005.
opw-1887586
closesodoo/odoo#27539
In the invoice form view, remove the editable attribute on the invoice line tree
Create an invoice, click add an item in the invoice_line_ids field
Before this commit there was a crash because the tree view contains analytic_tag_ids
but the invoice line form doesn't
After this commit, there is no crash and the invoice line form works as exepected
OPW 1889107
closesodoo/odoo#27382
- From the accounting dashboard, click on the 'Reconcile' button of a
bank journal
- Click on the 'Bank reconciliation' text at the top left
- Click on the 'OK' button that just appears
A traceback occurs.
This event is used to change the name of the statement, when clicking on
'Reconcile' from a bank statemet. In this case, it shouldn't do
anything.
opw-1883308
closesodoo/odoo#27359
Usecase to reproduce:
- Archive a stockable product with quantity on hand
- Start an inventory with all products.
-> Archived product is displayed
It happens because the search is an SQL request that is build
and it thus does not benefits from the automatic search on active
objects.
This commit add an active search on quant for inventory lines.
Fixes#27302closesodoo/odoo#27384
Making a bank account reconcilable is a very common mistake, and leads to confusing and useless data (the move lines made on this account) to be displayed in the reconciliation widget. With this commit, we make sure the user cannot make this mistake anymore.
In A/B testing mode, a given recipient will only ever receive a single
email from a given mass-mailing campaign, no matter how many mailings
were sent to them.
This is useful for A/B-testing various mailings in order to check their
results. But is very difficult to understand for users who simply want
to organize their mailings into campaigns.
Additionally, the A/B testing option is hidden as a technical feature, so
it is hard to discover in order to troubleshoot unexpected number of
emails sent by a given mailing.
It will be safer to keep it off by default.
(keeping the parameter explicit, to better show that it is on purpose)
This partially reverts dee5c31264
Fix on sale_coupon (enterprise) https://github.com/odoo/enterprise/pull/2224 needs this change to be able to merge
SO lines when a program generates multiple discount lines on different taxes.
Closes#24971
task-1866977
task-1832967
task-1857843
When sorting by a many2many fields (e.g. partner_ids) with one of the record
having an empty value on the sorted field, the comparison method used to compare
and empty record (e.g. res.partner()) and a name_get result (e.g. "Agrolait").
This is because the sort_field was initialized with the result of self[field]
but never assigned a new value below.
Fallback on an empty string when no record is found
Fixes#26908
- Create a partner in Germany
- Set an invoice address for this partner in Poland
- Create an invoice for the Poland address, but the delivery to Germany
- Validate invoice
The Intrastat reports the transaction in Poland, while it should be
Germany.
opw-1878590
When fetching messages from the portal controller, we might
give a domain to restrict the message selection. Typically,
the ecommerce allows users to submit messages with rating
of the product. Users are allowed to filter the messages
with a certain rating.
Passing a non-normalized domain to this controller could
give strange result, as the code was using `+=` to concat
domains; some result domain could have been correct, but
return some strange results.
This commit normalizes all domains used in the code
making a non-normalized domain (given as parameter) crashes,
instead of returning unexpected messages.
Closes#26939
The depreciation was hardcoded as starting the first of January.
If a user changed the configuration to set a different value than 31/12 it had
no impact.
In saas-11.3, this was improved to allow to configure the behaviour at 805f3a610
opw-1878927
It has been argued that a regression took place because of e2efec8e54
Before that commit, everything was reconciled together
After, only payments and orders with a partner set were
While that commit improved performances (there are much less move lines to reconcile),
it introduced an inconvenience business wise because of the noise created
by the unreconciled lines
This commit proposes to cut the pear in half by introducing an ir parameter
to choose between the two options
OPW 1883594
closes#26971
Google Important Updated: API keys are now required
We began enforcing the use of API keys, effective June 11th 2018.
Keyless usage will result in a degraded experience, or an error.
https://developers.google.com/maps/billing/important-updates
The 'help' of window action is often fiddled with, adding thing before,
after or arround it.
For example in CRM leads, we add at the beginning "Click to add a new
opportunity" with an arrow towards the button, and after if there is a
mail alias: "All email incoming to * will automatically create new...".
But for crm.lead, hr.expense, sale.order this would not take into
account that the fiddled "help" can be edited, so if we edit 2 times
help in studio or backend action editing, we would get:
Click to add a new opportunity
Click to add a new opportunity
Click to add a new opportunity
[Original help content]
All email incoming to * will automatically create new...
All email incoming to * will automatically create new...
All email incoming to * will automatically create new...
And see several "arrows" towards the button (in enterprise the
additional ones are on same color background).
With this commit we do what is done in "mail.thread" by default which is
not fiddling with the `help` if has been fiddled before (if it contains
"oe_view_nocontent_create" class).
note: for 10.0 up to not including 11.0 which is fixed by #26911
opw-1877663
closes#26912
When paying an invoice in USD, using EUR as payment. The residual amount was shown in the payment currency instead of the original invoice residual currency.
closesodoo/odoo#26916
Steps to reproduce the bug:
- Create Product P: with BOM type - Kit and BOM components > Set - Invoicing: on delivered quantity
- Create SO with P and confirm - delivery 1 will be generated
- Cancel the SO - delivery 1 - will also get canceled
- Reset the canceled SO to quotation and confirm it - new delivery 2 will be generated
- Validate the delivery and receive product KIT
Bug:
Check SO - 'Delivered quantity' was not updated
opw:1888449
closesodoo/odoo#27358
Steps to reproduce the bug:
- Create a partner P with communication type set to BBA
- Create an in_invoice I for P with a BBA structured communication
- Validate I and try to duplicate it
Bug:
A UserError was raised "Empty BBA Structured Communication!"
opw:1883982
closesodoo/odoo#27331
When working with product variants, if the error which gets displayed does not include the product attributes, it's harder to identify the variant with the error.
closesodoo/odoo#27298