Monday, March 8, 2021
23 changes · master
Enhancements to existing features
Indian companies can now activate and manage multiple GST units from settings, with dedicated GST unit views and quick access to related journals. Sales, purchase, warehouse, journal, journal group, and fiscal position setup is automated so transactions use the correct GST unit more reliably.
Original PR description
Settings to activate the multiple GSTN units within a company. Link to create new unit from the settings. Add the smart button on GSTN unit to open the journals. Define a Kanban and Form view for the GSTN units. Select sales and purchase journals automatically at the time of creating new warehouse. Related documents such as Journals and Journal Groups will be created automatically. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update lets Odoo actions set the starting date shown in a calendar view, such as when opening the calendar from a button. It makes navigation more direct for users by taking them immediately to the relevant date instead of requiring manual browsing.
Original PR description
# Purpose We want to be able to define the initial date from a click on a button # Specifications You can now set the initialDate of a calendar view by defining it in an action context. task-2190526
This update makes online course and documentation pages look and behave more consistently, including clearer navigation, corrected button layouts, and a new fullscreen option for documentation. It also fixes small visual issues such as profile progress colors and improves mobile layout alignment, helping learners navigate content more smoothly.
Original PR description
- Fixed the color of the progress circle in the profile.
- Documentation Type have now a fullscreen mode.
- fa-plus removed on 'Add Tag' button.
- Layout of Documentation + Enroll Policy = Invitation reviewed to use correct buttons
in order to join the course
- On same page, menu reviewed : Height corrected, Menu elements not displaying
on two lines.
When reducing screen size : menu's border-top is added, alignement is correct,
tabs 'Course' and 'Reviews' are displayed on the right spot.
- Course Form : the type ('documentation' or 'course') is now under 'Display'
Task ID: 2275688Questions in eLearning courses can now be archived instead of removed, helping teams keep historical results and statistics intact. The update also adds question reporting graphs and improves performance for tracking answer attempts, with a small configuration wording correction.
Original PR description
Archive question to keep history and stats. Add reporting graph for Questions. Also fix a typo in config For performance, the field attempts_count is now a regular field updated when need. This also include a migration script to compute attempts_count. Task-2209066
Resolved issues and error corrections
This fix prevents repeated presence updates from competing with each other when many users or devices reconnect at the same time. It helps keep normal Odoo actions responsive during busy messaging or notification activity by skipping non-critical update conflicts instead of retrying them.
Original PR description
/longpolling/poll requests are most often requests to Odoo. Moreover, such requests may be sent at the same moment from all users. For example, when all users are subscribed to a common channel and…
/longpolling/poll requests are most often requests to Odoo. Moreover,
such requests may be sent at the same moment from all users. For
example, when all users are subscribed to a common channel and someone
sent a message, all current polls are closed to deliver the notification
and after that, all clients start the request again.
If some users have several clients open (e.g. on desktop and mobile),
they may send many parallel requests and hence make concurrent queries
to update presence. We don't need be sure that every such query is
processed. So, just fail fast and carry on polling.
To test perfomance impact of this commit, copy curl command for poll request
from browser network tool and repeatly execute it, e.g.,
```
for i in {1..1000}
do
sleep 0.1
curl ... &
done
```
Without this commit you may notice such warnings in the logs:
```
... odoo.service.model: SERIALIZATION_FAILURE, retry 1/5 in 0.2071 sec...
```
At that moment, try to make normal odoo operations (e.g. create a sale
order): it would work slower than usual.
---
opw-2451865
close #57067
closes odoo/odoo#67390
X-original-commit: aad9cbe80dae28c0869fe6f543fbe0118357ce57
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Signed-off-by: Ivan Yelizariev // IEL <yelizariev@users.noreply.github.com>
Description of the issue/feature this PR addresses:
Current behavior before PR:
Desired behavior after PR is merged:
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prCode cleanup and technical improvements
This update cleans and simplifies internal mail-related code, especially around email blacklist and address handling. It helps make future maintenance easier while keeping day-to-day user behavior largely unchanged.
Miscellaneous changes
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67385 Forward-Port-Of: odoo/odoo#67310
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67385 Forward-Port-Of: odoo/odoo#67310
This update simplifies part of the online shop order processing logic by removing an unnecessary loop return pattern. The change is intended to make the code easier to maintain without altering the customer shopping experience.
Original PR description
Description of the issue/feature this PR addresses: @JKE-be clean code by remove the loop. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67378 Forward-Port-Of: odoo/odoo#67338
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67378 Forward-Port-Of: odoo/odoo#67338
…ming the order Steps to follow to reproduce the bug: - Go to Sales app - Create a product and give it for example a “sales price” of 200 and a “cost” of 100. Select a category of product with "Costing Method == Standard Price" - Create a new Quotation/Order - Add the product you just created - Modify in the order line, the value of cost from 100 to 120 for example. - Save the sale order and confirm it Problem : The final price is calculated in relation to the base price of the prod
Original PR description
…ming the order Steps to follow to reproduce the bug: - Go to Sales app - Create a product and give it for example a “sales price” of 200 and a “cost” of 100. Select a category of product with "Costing Method == Standard Price" - Create a new Quotation/Order - Add the product you just created - Modify in the order line, the value of cost from 100 to 120 for example. - Save the sale order and confirm it Problem : The final price is calculated in relation to the base price of the product and never takes price changes into account. Solution : Check if the "Costing method" of the product category is "Standard price". If it's the case, do not change the "purchase_price" is defined in the order line. opw-2451721 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67106
PURPOSE On sending a mailing in mass_mailing currently in sending state both action buttons wise 'Send' and 'Schedule' are visible. The purpose of this task is to make them invisible as that of when they are in 'In Queue' and 'Done' state SPECIFICATIONS In this commit we made both the 'put_in_queue' (Send) and 'action_schedule_date' (Schedule) button invisible whenever its state is in 'sending' (Sending) by setting the invisible attribute for the same LINKS PR #67031 Task 246
Original PR description
PURPOSE On sending a mailing in mass_mailing currently in sending state both action buttons wise 'Send' and 'Schedule' are visible. The purpose of this task is to make them invisible as that of when they are in 'In Queue' and 'Done' state SPECIFICATIONS In this commit we made both the 'put_in_queue' (Send) and 'action_schedule_date' (Schedule) button invisible whenever its state is in 'sending' (Sending) by setting the invisible attribute for the same LINKS PR #67031 Task 2469352 Forward-Port-Of: odoo/odoo#67223 Forward-Port-Of: odoo/odoo#67031
Account move synchronization has already taken place during the creation of the moves. No need for this additional check during the reconciliation itself. This commit helps when a lot of move lines are being reconciled at once. For instance, the duration of the reconciliation of a batch of about 700 payments on a large database took 20 minutes before this commit, and takes about 4 minutes after this commit. Forward-Port-Of: odoo/odoo#67408
Original PR description
Account move synchronization has already taken place during the creation of the moves. No need for this additional check during the reconciliation itself. This commit helps when a lot of move lines are being reconciled at once. For instance, the duration of the reconciliation of a batch of about 700 payments on a large database took 20 minutes before this commit, and takes about 4 minutes after this commit. Forward-Port-Of: odoo/odoo#67408
Have an invoice with single line and 0% tax on it As the tax has 0 amount, no related moves are created, the e-invoice export will fail the formal compliance check as it is missing a section opw-2461496 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#66668
Original PR description
Have an invoice with single line and 0% tax on it As the tax has 0 amount, no related moves are created, the e-invoice export will fail the formal compliance check as it is missing a section opw-2461496 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#66668
The run_push() method may change the location_dest_id of the stock move but not the associated stock move line. That can produce a desynchronisation between stock move and stock quants as those are updated by the stock move lines. This commit ensures the location_dest_id of the stock move is also set on the move lines in run_push() opw : 2427301 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I con
Original PR description
The run_push() method may change the location_dest_id of the stock move but not the associated stock move line. That can produce a desynchronisation between stock move and stock quants as those are updated by the stock move lines. This commit ensures the location_dest_id of the stock move is also set on the move lines in run_push() opw : 2427301 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67216 Forward-Port-Of: odoo/odoo#67100
The astroid package where version is lower than 2.5.1 imports the `imp` module that was deprecated in python 3.4 [0]. In Debian buster, astroid version is 2.1.0 and 2.3.3 in Ubuntu Focal. With this commit, the deprecation warning is filtered out. [0] https://docs.python.org/3/library/imp.html Forward-Port-Of: odoo/odoo#67308
Original PR description
The astroid package where version is lower than 2.5.1 imports the `imp` module that was deprecated in python 3.4 [0]. In Debian buster, astroid version is 2.1.0 and 2.3.3 in Ubuntu Focal. With this commit, the deprecation warning is filtered out. [0] https://docs.python.org/3/library/imp.html Forward-Port-Of: odoo/odoo#67308
When confirming a SO, if a line uses a different UoM than the default UoM of the line product, the computed cost will be updated to the product unit cost. To reproduce the error: 1. In Settings, enable: - Units of Measure - Margins 2. Create a product P - Sales Price: $100 - No customer taxes - Cost: $50 - UoM: Units 3. Create a SO - Add P - Set the line UoM to 'Dozens' 4. Display the order line field "Cost" - [Note] As you can see, since UoM
Original PR description
When confirming a SO, if a line uses a different UoM than the default
UoM of the line product, the computed cost will be updated to the
product unit cost.
To reproduce the error:
1. In Settings, enable:
- Units of Measure
- Margins
2. Create a product P
- Sales Price: $100
- No customer taxes
- Cost: $50
- UoM: Units
3. Create a SO
- Add P
- Set the line UoM to 'Dozens'
4. Display the order line field "Cost"
- [Note] As you can see, since UoM is 'Dozens':
- Unit Price: $1200
- Cost: $600
5. Confirm the SO
Error: Line cost becomes $50 (the cost of one P-product). Since the UoM
of the line is 'Dozens', Cost should be $600 (as before confirming the
SO). As a result, this error creates incorrect data in the margins
(95.83% instead of 50%).
OPW-2444335
Forward-Port-Of: odoo/odoo#67397Update the version of the raspios for the IoT Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67456
Original PR description
Update the version of the raspios for the IoT Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67456
Following Brexit on January 1st 2021, companies in Northern Ireland have a new VAT number starting with XI instead of GB. More info: https://www.gov.uk/government/publications/accounting-for-vat-on-goods-moving-between-great-britain-and-northern-ireland-from-1-january-2021/check-when-you-are-trading-under-the-northern-ireland-protocol-if-you-are-vat-registered-business stdnum support the new XI VAT from 1.16 https://github.com/arthurdejong/python-stdnum/commit/b93d69581f35aa18e7fdd52b3f7fd
Original PR description
Following Brexit on January 1st 2021, companies in Northern Ireland have a new VAT number starting with XI instead of GB. More info:…
Following Brexit on January 1st 2021, companies in Northern Ireland have a new VAT number starting with XI instead of GB. More info: https://www.gov.uk/government/publications/accounting-for-vat-on-goods-moving-between-great-britain-and-northern-ireland-from-1-january-2021/check-when-you-are-trading-under-the-northern-ireland-protocol-if-you-are-vat-registered-business stdnum support the new XI VAT from 1.16 https://github.com/arthurdejong/python-stdnum/commit/b93d69581f35aa18e7fdd52b3f7fdf06770215e3 This patch add temporary support in base_vat until the new version is available on the Debian package repository Community tracked issue https://github.com/odoo/odoo/issues/64891 opw-2461322 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67402 Forward-Port-Of: odoo/odoo#67064
This PR aims to add Odoo tools available in server actions. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67466 Forward-Port-Of: odoo/odoo#67375
Original PR description
This PR aims to add Odoo tools available in server actions. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67466 Forward-Port-Of: odoo/odoo#67375
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67463 Forward-Port-Of: odoo/odoo#67358
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#67463 Forward-Port-Of: odoo/odoo#67358
Because we don't excluded deprecated accounts, some flows (i.e. OCR) are blocked because they try to create invoices with deprecated accounts Forward-Port-Of: odoo/enterprise#16895 Forward-Port-Of: odoo/enterprise#16854
Original PR description
Because we don't excluded deprecated accounts, some flows (i.e. OCR) are blocked because they try to create invoices with deprecated accounts Forward-Port-Of: odoo/enterprise#16895 Forward-Port-Of: odoo/enterprise#16854
Some report (Compte de résultat in l10n_ch_reports) have lines with the name beginning by `=`. This has the effect of being translated as a formula in Excel/LibrOffice Calc/Other. opw-2451744 Closes #16070 Forward-Port-Of: odoo/enterprise#16858
Original PR description
Some report (Compte de résultat in l10n_ch_reports) have lines with the name beginning by `=`. This has the effect of being translated as a formula in Excel/LibrOffice Calc/Other. opw-2451744 Closes #16070 Forward-Port-Of: odoo/enterprise#16858
Let USD be the company's currency. When importing a CAMT file, if the latter contains amounts in another currency, the module may use these amounts in USD. To reproduce the error, import this file: [2449635_CAMT_example.xml](https://drive.google.com/file/d/1t_z9fJLGJsCIsI4i7DjuxMUvCvn1eiGl/view?usp=sharing) Once done, the user is redirected to the reconciliation page and has to reconcile $250. However, here is an extract of the CAMT bank statement XML: ```xml <Ntry> <Amt Ccy="U
Original PR description
Let USD be the company's currency. When importing a CAMT file, if the latter contains amounts in another currency, the module may use these amounts in USD. To reproduce the error, import this file:…
Let USD be the company's currency. When importing a CAMT file, if the
latter contains amounts in another currency, the module may use these
amounts in USD.
To reproduce the error, import this file:
[2449635_CAMT_example.xml](https://drive.google.com/file/d/1t_z9fJLGJsCIsI4i7DjuxMUvCvn1eiGl/view?usp=sharing)
Once done, the user is redirected to the reconciliation page and has to
reconcile $250. However, here is an extract of the CAMT bank statement
XML:
```xml
<Ntry>
<Amt Ccy="USD">500.00</Amt>
...
<AmtDtls>
<TxAmt>
<Amt Ccy="EUR">250.00</Amt>
</TxAmt>
<CntrValAmt>
<Amt Ccy="USD">500.00000</Amt>
<CcyXchg>
<SrcCcy>EUR</SrcCcy>
<TrgtCcy>USD</TrgtCcy>
<XchgRate>2</XchgRate>
</CcyXchg>
</CntrValAmt>
</AmtDtls>
<NtryDtls>
<TxDtls>
<Amt Ccy="EUR">250.00000</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
</TxDtls>
</NtryDtls>
</Ntry>
```
Two errors happens:
- The module selects 250 instead of 500
- It displays $250, but this amount is in EURO
The fix ensures that the selected amount is in the same currency than
the company's one. Moreover, the fix also reads the `CntrValAmt` node.
OPW-2449635
Forward-Port-Of: odoo/enterprise#16912
Forward-Port-Of: odoo/enterprise#16656