Wednesday, April 30, 2025
19 changes · saas-17.4
Resolved issues and error corrections
Users without permission to create contacts can now load HR Attendance sample data without running into an error. This prevents setup interruptions and makes it easier for restricted users to explore or test the attendance app.
Original PR description
Currently, an error occurs when a user without contact creation access tries to load the sample data in hr_attendance. Steps to produce: 1) Install the hr and hr_attendance modules. 2) Create a user…
Currently, an error occurs when a user without contact creation access tries to load the sample data in hr_attendance. Steps to produce: 1) Install the hr and hr_attendance modules. 2) Create a user without contact creation access. 3) Log in with the newly created user. 4) Open the hr_attendance module. 5) Attempt to load the sample data. 6) An error occurs. ValueError ParseError(`while parsing /home/odoo/src/odoo/saas-18.1/addons/hr/data/scenarios /hr_scenario.xml:79, somewhere inside`) This error occurs when a user tries to load sample data in the hr_attendance module without having contact creation access due to security restrictions. This commit resolves the issue by using `sudo()` to grant the necessary access to the user while loading data in `hr.attendance`. [1] -https://github.com/odoo/odoo/blob/b286d47554f6eec940e1d69e9400cb2f359031b6/addons/hr/data/scenarios/hr_scenario.xml#L79-L93 sentry - 6152261332 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Archiving employees linked to planning slots now works without triggering an error. This prevents interruptions during employee record maintenance and keeps planning data handling reliable.
Original PR description
ISSUE: when trying to archive employees who are connected to planning slots an exception is raised REPRODUCE: - Select all employees - try to Archive - the `strptime` method needs the argument to be string but the values dict has the dates values as datetime objects. so, convert the values using `str` Task: 4734621
Miscellaneous changes
Backport of f4d01f191ed54cc1dcccda3141e2f3594e2f9154 Users of SA localization needs to add a QR (resulting from the EDI validation) to their official invoices. This should occurs also for point of sales invoices but this is currently not working. Steps to reproduce: - With SA localization setup - Open POS session - Add a product - Invoice to a customer - Validate order - Check generated invoice Issue: QR is missing This occurs because we print the invoice before sending it to Z
Original PR description
Backport of f4d01f191ed54cc1dcccda3141e2f3594e2f9154 Users of SA localization needs to add a QR (resulting from the EDI validation) to their official invoices. This should occurs also for point of sales invoices but this is currently not working. Steps to reproduce: - With SA localization setup - Open POS session - Add a product - Invoice to a customer - Validate order - Check generated invoice Issue: QR is missing This occurs because we print the invoice before sending it to ZATCA. This way we generate an invoice without the needed fiscal information When applied this commit will make sure we send the invoice to zatca when we generate the official pdf, either in the send&print action or via POS invoicing opw-4562837 Forward-Port-Of: odoo/odoo#204465
This is used in the event a request is timing out or has an out of memory issue. This would cause the profile to be committed to the database before the request gets terminated. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#204673
Original PR description
This is used in the event a request is timing out or has an out of memory issue. This would cause the profile to be committed to the database before the request gets terminated. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#204673
When checking out `saas-18.3`, IoT Box images until `25.01` are missing `iot_base`, resulting in odoo not being able to start. Forward-Port-Of: odoo/odoo#207947
Original PR description
When checking out `saas-18.3`, IoT Box images until `25.01` are missing `iot_base`, resulting in odoo not being able to start. Forward-Port-Of: odoo/odoo#207947
**Current behavior:** Creating a purchase order in a foreign currency and billing the product prior to reception will produce 2 issues: A) The bill line for the product will only make a conversion of 1 single unit of the product with the defined currency exchange rate, making the amount on the line incorrect when qty > 1 B) When the receipt is finally validated, there will be an unwanted exchange difference on the journal items generated due to asymmetrical rounding for the bill AMLs a
Original PR description
**Current behavior:** Creating a purchase order in a foreign currency and billing the product prior to reception will produce 2 issues: A) The bill line for the product will only make a conversion of…
**Current behavior:** Creating a purchase order in a foreign currency and billing the product prior to reception will produce 2 issues: A) The bill line for the product will only make a conversion of 1 single unit of the product with the defined currency exchange rate, making the amount on the line incorrect when qty > 1 B) When the receipt is finally validated, there will be an unwanted exchange difference on the journal items generated due to asymmetrical rounding for the bill AMLs and receipt valuation AMLs **Expected behavior:** Correct bill line currency amounts and symmetric rounding. **Steps to reproduce:** 1. Set the company currenct to IQD, make a product invoiced on ordered qty, for sake of example set cost to 500 IQD 2. Create a currency exchange record to USD with a company rate of `0.00756` 3. Create a PO for 13 of the product created in step 1, with a discount of 1% 4. Confirm the PO and create the bill -> post it * Issue A) look at invoice line, see only 1 unit in the converted currency amount is accounted for by the `balance` 5) Receive the product -> look at the journal items generated and see that there is a diff of 0.185 IQD **Cause of the issue:** A) commit: 90158f6 added a method to try and calculate an AML balance from its purchase line values, but mistakenly is using `qty_received` instead of `qty_to_invoice` which explains why this issue only presents for the bill-before-receipt flow B) commit: 9f046d5 is using `round=False` context for `AccountTax.compute_all()` when the expected key is `round_base` **Fix:** A) Replace `qty_received or 1` with `qty_to_invoice` * Also make the test added in 90158f6 more robust B) Add `round_base=False` alongside the `round` key (not removing as that existing one could have become expected in this context) opw-4689170 Forward-Port-Of: odoo/odoo#205850
The option of "cumulatedStart" was incorrectly infered from the "cumulative" option of an Odoo graph view. However, both options are not specifically linked. Task-4701303 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#204980
Original PR description
The option of "cumulatedStart" was incorrectly infered from the "cumulative" option of an Odoo graph view. However, both options are not specifically linked. Task-4701303 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#204980
**Problem:** Newly created users on the portal can click the 'verify email' button multiple times quickly, leading to the generation of multiple verification emails without refreshing the page. **Steps to Reproduce:** 1. Create a new user on the website. 2. Sign in as the new user and navigate to the 'Forum' page. 3. Click the 'verify email' button multiple times quickly. 4. Check Mailhog / Network requests for multiple verification emails. opw-4122195 Forward-Port-Of: odoo/odoo#1830
Original PR description
**Problem:** Newly created users on the portal can click the 'verify email' button multiple times quickly, leading to the generation of multiple verification emails without refreshing the page. **Steps to Reproduce:** 1. Create a new user on the website. 2. Sign in as the new user and navigate to the 'Forum' page. 3. Click the 'verify email' button multiple times quickly. 4. Check Mailhog / Network requests for multiple verification emails. opw-4122195 Forward-Port-Of: odoo/odoo#183012 Forward-Port-Of: odoo/odoo#181628
When `<attribute name="string" add="something more"` is used to add onto a string in another view, the `"something more"` string isn't translatable. Therefore since there isn't anything else adding onto this string, let's completely replace it with the original string + the "something more" string. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#207896
Original PR description
When `<attribute name="string" add="something more"` is used to add onto a string in another view, the `"something more"` string isn't translatable. Therefore since there isn't anything else adding onto this string, let's completely replace it with the original string + the "something more" string. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#207896
Manual backport of 207974 Forward-Port-Of: odoo/odoo#207975
Original PR description
Manual backport of 207974 Forward-Port-Of: odoo/odoo#207975
Forward-Port-Of: odoo/odoo#208076
Original PR description
Forward-Port-Of: odoo/odoo#208076
…taxes are included in price 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#205925
Original PR description
…taxes are included in price 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#205925
Versions -------- - 17.0+ Steps ----- 1. Create a product with 3 attributes; 2. add a never-create multi-select attribute; 3. archive the first two variants; 4. publish the product to eCommerce; 5. open /shop. Issue ----- > 500: Internal Server Error Cause ----- Commit 30994723e9ee5 updated the `_cartesian_product` method to handle `multi`-type attributes. When these are on the last attribute line, the method will yield the current partial combination. Issue is when conti
Original PR description
Versions -------- - 17.0+ Steps ----- 1. Create a product with 3 attributes; 2. add a never-create multi-select attribute; 3. archive the first two variants; 4. publish the product to eCommerce; 5.…
Versions -------- - 17.0+ Steps ----- 1. Create a product with 3 attributes; 2. add a never-create multi-select attribute; 3. archive the first two variants; 4. publish the product to eCommerce; 5. open /shop. Issue ----- > 500: Internal Server Error Cause ----- Commit 30994723e9ee5 updated the `_cartesian_product` method to handle `multi`-type attributes. When these are on the last attribute line, the method will yield the current partial combination. Issue is when continuing after the `yield`, it attempts to get the `current_ptav_index` from the `current_line_values` recordset, which is empty for `multi`-type attributes. This causes an `IndexError`. Solution -------- Only assign the `current_ptav` variable if `current_line_values` is not falsey, i.e. isn't on a `multi` attribute line. Because `current_ptav_index` will always be `-1` in this scenario, it will skip over the conditional branches where `current_ptav` gets used, and instead go to either `continue` or `break`. opw-4653696 Forward-Port-Of: odoo/odoo#203093
This reverts commit 84acd832d894f771baf30318f4c8d8667f99a690. [FIX] l10n_ch: revert prevent stopping pdf generation if in draft This reverts commit 7df6733dcac895027a42a0c30d12b34412bd475e. Forward-Port-Of: odoo/odoo#207902
Original PR description
This reverts commit 84acd832d894f771baf30318f4c8d8667f99a690. [FIX] l10n_ch: revert prevent stopping pdf generation if in draft This reverts commit 7df6733dcac895027a42a0c30d12b34412bd475e. Forward-Port-Of: odoo/odoo#207902
…dd it in the tax details 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#207016 Forward-Port-Of: odoo/odoo#206052
Original PR description
…dd it in the tax details 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#207016 Forward-Port-Of: odoo/odoo#206052
odoo/odoo#203874 broke compatibility with Python 3.8 and Python 3.9 due to the typing annotations, leading `test_pylint` to fail on Focal and Bullseye: - `list[int]` requires Python 3.9 (PEP 585) - type-wise `a | b` requires Python 3.10 (PEP 604) Making annotations lazy works around the issue (and changes less stuff than removing the annotations). Forward-Port-Of: odoo/odoo#208110
Original PR description
odoo/odoo#203874 broke compatibility with Python 3.8 and Python 3.9 due to the typing annotations, leading `test_pylint` to fail on Focal and Bullseye: - `list[int]` requires Python 3.9 (PEP 585) - type-wise `a | b` requires Python 3.10 (PEP 604) Making annotations lazy works around the issue (and changes less stuff than removing the annotations). Forward-Port-Of: odoo/odoo#208110
When `<attribute name="string" add="something more"` is used to add onto a string in another view, the `"something more"` string isn't translatable. Therefore since there isn't anything else adding onto this string, let's completely replace it with the original string + the "something more" string. Forward-Port-Of: odoo/enterprise#84388
Original PR description
When `<attribute name="string" add="something more"` is used to add onto a string in another view, the `"something more"` string isn't translatable. Therefore since there isn't anything else adding onto this string, let's completely replace it with the original string + the "something more" string. Forward-Port-Of: odoo/enterprise#84388
- Change the termination report note date to mention the departure date instead of the notice period end Task: 4718395 Forward-Port-Of: odoo/enterprise#83824
Original PR description
- Change the termination report note date to mention the departure date instead of the notice period end Task: 4718395 Forward-Port-Of: odoo/enterprise#83824
We never took the 'cumulated_start' option of an Odoo chart into account and instead relied on 'cumulative' but the options are not linked neither one implied by the other. Task-4701303 Forward-Port-Of: odoo/enterprise#82954
Original PR description
We never took the 'cumulated_start' option of an Odoo chart into account and instead relied on 'cumulative' but the options are not linked neither one implied by the other. Task-4701303 Forward-Port-Of: odoo/enterprise#82954