Friday, January 17, 2025
88 changes
Resolved issues and error corrections
The portal user welcome email template has been renamed to avoid sharing the same name as another user invitation template. This makes the email template list clearer for administrators and reduces the chance of selecting the wrong template.
Original PR description
Currently, there are two mail templates named "Settings: New User Invite" in the records. To avoid duplication, we will rename the template used to welcome portal users who register as internal users to "Settings: New Portal Sign Up". Follow up of #188391 Task-4481862 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes several issues in Odoo’s frontend testing framework and related test helpers, making automated tests more reliable and less prone to false failures or timeouts. It improves how test timing, progress display, mock server defaults, and protected error reporting work, helping teams catch real issues faster during development.
Original PR description
This commit handles various fixes for the Hoot testing framework & other frontend unit test helpers. Enterprise: https://github.com/odoo/enterprise/pull/77245 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes invoice name generation for companies whose fiscal year ends on February 29. It prevents incorrect sequence selection in non-leap years, helping invoices keep consistent and compliant numbering.
Original PR description
When computing an invoice name placeholder dynamically the sequence used depends on the fiscal year end date but it does not account for february 29 on non-leap years, which is a [valid](https://github.com/odoo/odoo/blob/893b253644159a70d1916e3eaf25d1c8af4e92c3/addons/account/models/company.py#L294-L298) date. Here an adjustment for the day is added to safely compare a date with the fiscalyear end. 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
The document layout setup now correctly shows the A4 paper format when Belgian payroll is installed. This prevents confusion when configuring payroll-related documents and makes similarly named Belgian payroll formats easier to tell apart.
Original PR description
In the document layout configurator, the paper format A4 would not be there if the module l10n_be_hr_payroll is installed. This is because in Belgium, some reports need A4 but in the configurator, we only get paperformat not linked to any report. The solution is to remove the domain for this field in the configurator. Since there will be more paper formats, I renamed the newly created formats in the Belgian payroll to differentiate them.
The Shopee sales app was added to the translation setup after being missed in an earlier merge. This helps ensure its text can be translated properly for users in different languages, with no expected change to day-to-day workflows.
Original PR description
File was forgotten during the merge of 6845ca19567577f70910ed269f91232453c93b20
This fixes an issue in Documents where using Shift + Down Arrow after selecting a record did not extend the selection to the next record. Users can now select multiple documents with the keyboard as expected, improving day-to-day list navigation.
Original PR description
Reproduce: 1. Go to documents list view 2. Select any not-the-last record 3. Hold Shift and hit down arrow 4. The record below is not selected as it should Task-4432914
Payslip PDF reports now display the employee's actual pay schedule, such as bi-weekly, instead of always showing monthly for monthly wage contracts. This helps payroll documents better match contract settings and reduces confusion for employees and payroll teams.
Original PR description
Steps: - Install the hr_payroll module - Open the payslip form view - click on print --- Description of the issue/feature this PR addresses: When the schedule pay on a contract is set to anything other than `Monthly` (e.g., bi-weekly), the PDF report incorrectly displays `Monthly`. This happens because the report only considers the wage type (monthly or hourly) and does not take the schedule pay into account. --- Fix: This PR addresses the issue by including the schedule pay type in the PDF report when the wage type is set to `Monthly`. task-4332531
Public viewers of live shared spreadsheets no longer see a download button that leads to a 404 error. This avoids confusion for external recipients while keeping frozen spreadsheet downloads available when they can be prepared in advance.
Original PR description
Steps to reproduce: - install Documents - create a new spreadsheet - hit the Share button - change the sharing settings to "Anyone with the link: Viewer / Musty have the link to access" - open the sharing link in an incognito window - hit the download button => 404 not found A public user cannot convert a spreadsheet to an excel file and downlaod it because a route needs to be called to create the excel file. This route is currently not allowed for public users. For frozen spreadsheet, we generate the excel file before-hand (when the internal user shares the spreadsheet). For a regular "live" share though, we cannot pre-generate the excel file since the spreadsheet continues to live and evolve. The `spreadsheet` module needs to be updated for this bug fix to take effect. (otherwise the download button won't do anything, which is not worse than facing a 404 response) See also community PR. Task: 4440241 opw: 4417519
Miscellaneous changes
In list view and reports, the accounting entries were displayed in different manners. Sometimes in a stupid way (name of the move repeated twice). This commit aims to give a single and unified way to display them. ticket-4440711 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#193305 Forward-Port-Of: odoo/odoo#192463
Original PR description
In list view and reports, the accounting entries were displayed in different manners. Sometimes in a stupid way (name of the move repeated twice). This commit aims to give a single and unified way to display them. ticket-4440711 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#193305 Forward-Port-Of: odoo/odoo#192463
When receiving an ubl file by mail, we need to ensure that the company from where we retrieve the product is the same as the invoice company, otherwise we end up with an UserError ("Incompatible companies on records"). Steps: - Have 2 company (X being id == 1 and Y being id == 2) - Create a product "Locations et leasing opérationnel" with X setas company_id - Create an alias on company Y vendor bills journals - Sent the `bis3_bill_example.xml` located in `addons/account_edi_ubl_cii/tests/tes
Original PR description
When receiving an ubl file by mail, we need to ensure
that the company from where we retrieve the product is the same as
the invoice company, otherwise we end up with an UserError ("Incompatible companies on records").
Steps:
- Have 2 company (X being id == 1 and Y being id == 2)
- Create a product "Locations et leasing opérationnel" with X setas
company_id
- Create an alias on company Y vendor bills journals
- Sent the `bis3_bill_example.xml` located in `addons/account_edi_ubl_cii/tests/test_files/`
to the email alias
- Open the created bill
-> Error in the chatter: "Error importing attachment ... as invoice
(decoder=_import_invoice_ubl_cii)
opw-4444747
Forward-Port-Of: odoo/odoo#193984
Forward-Port-Of: odoo/odoo#193786Before this commit: Nothing would happen after a mercado pago webhook notification received. Since 17.4, `payment_method` attribute have been changed to `payment_method_id`. Thus it was returning `undefined` and silently fail to update the line After this commit: Call `handleMercadoPagoWebhook` on notification received as intended opw-4349957 Forward-Port-Of: odoo/odoo#193784
Original PR description
Before this commit: Nothing would happen after a mercado pago webhook notification received. Since 17.4, `payment_method` attribute have been changed to `payment_method_id`. Thus it was returning `undefined` and silently fail to update the line After this commit: Call `handleMercadoPagoWebhook` on notification received as intended opw-4349957 Forward-Port-Of: odoo/odoo#193784
…wnload Current behavior before PR: When using the "Download logs" button, from the IoT box form view, an Internal Server Error is raised every time. ```py Internal Server Error : Log file configuration is not set ``` Description of the issue/feature this PR addresses: New IoT Box images are missing the default `logfile` parameter in their config. This parameter is required for log downloading, and cannot be left empty. The `logfile` parameter has been removed from the `odoo.conf`
Original PR description
…wnload Current behavior before PR: When using the "Download logs" button, from the IoT box form view, an Internal Server Error is raised every time. ```py Internal Server Error : Log file…
…wnload Current behavior before PR: When using the "Download logs" button, from the IoT box form view, an Internal Server Error is raised every time. ```py Internal Server Error : Log file configuration is not set ``` Description of the issue/feature this PR addresses: New IoT Box images are missing the default `logfile` parameter in their config. This parameter is required for log downloading, and cannot be left empty. The `logfile` parameter has been removed from the `odoo.conf` config file in PR #169633. However, it is still explicitly mentioned as `/var/log/odoo/odoo-server.log` in two other files: https://github.com/odoo/odoo/blob/451a956a22015034b8c35bd0d9a860b78442af7f/addons/hw_posbox_homepage/controllers/homepage.py#L74 and https://github.com/odoo/odoo/blob/451a956a22015034b8c35bd0d9a860b78442af7f/addons/point_of_sale/tools/posbox/overwrite_before_init/etc/init_posbox_image.sh#L28 As such, a fallback to the default `/var/log/odoo/odoo-server.log` is added. Desired behavior after PR is merged: The Logs can be downloaded from the IoT box form view without receiving an Internal Server Error. opw-4443593 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#192922 Forward-Port-Of: odoo/odoo#192867
In odoo/odoo#192449, we removed the only code patch we had on the IoT Box. We can then remove the patching logic. Forward-Port-Of: odoo/odoo#193935
Original PR description
In odoo/odoo#192449, we removed the only code patch we had on the IoT Box. We can then remove the patching logic. Forward-Port-Of: odoo/odoo#193935
**Current behavior:** Having some product with a subcontract BoM and using the unarchived 'Subcontract' picking type and creating a purchase order to the subcontractor for that product: changing the `scheduled_date` of the generated receipt will improperly set the start/end date on the subcontracting MO which was generated alongside the receipt. Specifically, the `scheduled_date` of the receipt should correspond to the `date_finished` of the MO- however currently it is incorrectly modifying
Original PR description
**Current behavior:** Having some product with a subcontract BoM and using the unarchived 'Subcontract' picking type and creating a purchase order to the subcontractor for that product: changing the…
**Current behavior:** Having some product with a subcontract BoM and using the unarchived 'Subcontract' picking type and creating a purchase order to the subcontractor for that product: changing the `scheduled_date` of the generated receipt will improperly set the start/end date on the subcontracting MO which was generated alongside the receipt. Specifically, the `scheduled_date` of the receipt should correspond to the `date_finished` of the MO- however currently it is incorrectly modifying the MO `date_start` instead. **Expected behavior:** Modifying `scheduled_date` on the receipt will in turn modify the `date_finished` of the MO. **Steps to reproduce:** *Unarchive the Subcontract picking type operation* 1. Create a final product with a subcontract type BoM, on the BoM set some positive value for Manuf. Lead Time (in miscellaneous tab) 2. Create a purchase order to the subcontractor for that product 3. Confirm the PO -> observe that on creation, the scheduled date of the receipt matches the end date of the MO 4. Change the scheduled date of the receipt (for example, 10 days in the future) -> observe that after saving, the MO date correspondence is inverted (end date = scheduled date + lead time) instead of the start date being set with respect to the end time (like on creation), the end date gets set with respect to the start date **Cause of the issue:** It's an inconsistency with how the fields (start, end) are calculated and when. **Fix:** Make this case behave the same as the creation does- that is, end date is informed by the receipt's scheduled date and the start date of the MO is set by subtracting the lead time from there. opw-4231548 Forward-Port-Of: odoo/odoo#188389
Steps to reproduce: 1. In elearning get a current course or create a new one. 2. Add or just reorder some of the slides/sections. 3. Duplicate the course. After the changes applied to improve the batch call of copy in https://github.com/odoo/odoo/commit/4ac2702c31f0e95f33f9ad554e7350bef9dab8bd the values that we get after the copy are ordered by id instead of preserving the original order, so for this case we can make sure to reorder the values and mantain the proper sequence when duplic
Original PR description
Steps to reproduce: 1. In elearning get a current course or create a new one. 2. Add or just reorder some of the slides/sections. 3. Duplicate the course. After the changes applied to improve the batch call of copy in https://github.com/odoo/odoo/commit/4ac2702c31f0e95f33f9ad554e7350bef9dab8bd the values that we get after the copy are ordered by id instead of preserving the original order, so for this case we can make sure to reorder the values and mantain the proper sequence when duplicating inside copy_data(). opw-4240873 Forward-Port-Of: odoo/odoo#188333
Steps to reproduce: - Start a Viva wallet payment - Immediately cancel and remove the payment line - After a few seconds, a traceback occurs This commit fixes the issue by ensuring that the Viva Wallet status polling only runs if it is still the current payment line. task-4472269 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#193571 Forward-Port-Of: odoo/odoo#193358
Original PR description
Steps to reproduce: - Start a Viva wallet payment - Immediately cancel and remove the payment line - After a few seconds, a traceback occurs This commit fixes the issue by ensuring that the Viva Wallet status polling only runs if it is still the current payment line. task-4472269 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#193571 Forward-Port-Of: odoo/odoo#193358
## Issue: - Child contacts of followers were unable to access the tasks menu in the portal home, despite having access according to the access rules. ## Steps to reproduce: 1. Create a parent contact with a child contact. 2. Grant the child contact portal access. 3. Create a task with the parent contact as the customer. 4. Add the parent contact as a follower or send a message in the task chatter. 5. Log in as the child contact in the portal. 6. Notice the tasks menu is unavailable.
Original PR description
## Issue: - Child contacts of followers were unable to access the tasks menu in the portal home, despite having access according to the access rules. ## Steps to reproduce: 1. Create a parent contact with a child contact. 2. Grant the child contact portal access. 3. Create a task with the parent contact as the customer. 4. Add the parent contact as a follower or send a message in the task chatter. 5. Log in as the child contact in the portal. 6. Notice the tasks menu is unavailable. ## Solution: - The issue originated in `_prepare_home_portal_values`, where the task count was computed with a restrictive domain and sudo instead of relying on the access rules. - Removed the unnecessary domain filter to let the access rules handle it. opw-4306834 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#191601
Before this commit, selecting an order from the order list and attempting to load it would result in an error. opw-4251717 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#184754
Original PR description
Before this commit, selecting an order from the order list and attempting to load it would result in an error. opw-4251717 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#184754
* = stock * PROPBLEM: when viewing purchase or vendor dashboard (under logistic section) , viewing the scoreboard for purchased or order it calculate all record from purchase.report but when clicking on it, redirect to view of 'purchase order' only which is wrong compare to the number display on the scoreboard * SOLUTION: This commit fix by edit the domain of related pivot which the scoreboard use to display data to the domain having state in either Purchase or Done Description of the iss
Original PR description
* = stock * PROPBLEM: when viewing purchase or vendor dashboard (under logistic section) , viewing the scoreboard for purchased or order it calculate all record from purchase.report but when clicking on it, redirect to view of 'purchase order' only which is wrong compare to the number display on the scoreboard * SOLUTION: This commit fix by edit the domain of related pivot which the scoreboard use to display data to the domain having state in either Purchase or Done 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#193640 Forward-Port-Of: odoo/odoo#191985
Under Japan’s Qualified Invoice System, which took effect in October 2023, the consumption tax amount should be calculated and rounded based on the total invoice amount for each tax rate, rather than on an item-by-item basis. See https://www.pwc.com/jp/en/taxnews/pdf/jtu-20221111-en.pdf @qrtl --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#193522
Original PR description
Under Japan’s Qualified Invoice System, which took effect in October 2023, the consumption tax amount should be calculated and rounded based on the total invoice amount for each tax rate, rather than on an item-by-item basis. See https://www.pwc.com/jp/en/taxnews/pdf/jtu-20221111-en.pdf @qrtl --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#193522
Steps to reproduce ================== - Install account_accountant,contacts,web_studio - Go to contacts - Open any record - Open studio - Switch to the Accounting notebook - Edit the subview form - Add a smart button => It crashes Cause of the issue ================== The button_box operation is not made to work inside a subview. We should not be able to add buttons inside subviews as they are not displayed outside studio anyways. opw-4379868 Forward-Port-Of: odoo/enterprise
Original PR description
Steps to reproduce ================== - Install account_accountant,contacts,web_studio - Go to contacts - Open any record - Open studio - Switch to the Accounting notebook - Edit the subview form - Add a smart button => It crashes Cause of the issue ================== The button_box operation is not made to work inside a subview. We should not be able to add buttons inside subviews as they are not displayed outside studio anyways. opw-4379868 Forward-Port-Of: odoo/enterprise#77085 Forward-Port-Of: odoo/enterprise#76297
This commit's purpose is to clean up the graph view of the sla report analysis model. Some fields were added on the view by a generic improvement task to handle the widget 'float_time' with grap view. In this case, those fields are a nuisance for readability, so we're getting rid of them. target version 17.0 - master task - 4351830 Forward-Port-Of: odoo/enterprise#76237
Original PR description
This commit's purpose is to clean up the graph view of the sla report analysis model. Some fields were added on the view by a generic improvement task to handle the widget 'float_time' with grap view. In this case, those fields are a nuisance for readability, so we're getting rid of them. target version 17.0 - master task - 4351830 Forward-Port-Of: odoo/enterprise#76237
*: frontdesk, hr_contract_salary, hr_referral Issue: when the website has a domain `get_base_url` return the domain if the record calling it has a company set on it - call the function with an empty object to get the database url instead Task: 3903743 Forward-Port-Of: odoo/enterprise#76888
Original PR description
*: frontdesk, hr_contract_salary, hr_referral Issue: when the website has a domain `get_base_url` return the domain if the record calling it has a company set on it - call the function with an empty object to get the database url instead Task: 3903743 Forward-Port-Of: odoo/enterprise#76888
Steps: • Install the Employee referral App. • Open the app for the first time. You will see buttons labeled Skip, and Start Now. When you click on any of these buttons, there is a noticeable blank screen for a moment during the transition. • Tap on the User Icon within the app interface. A blank screen appears momentarily before the next screen is displayed. • When you select an icon for a friend, the same issue occurs: a blank screen is displayed for a moment during the transiti
Original PR description
Steps: • Install the Employee referral App. • Open the app for the first time. You will see buttons labeled Skip, and Start Now. When you click on any of these buttons, there is a noticeable blank screen for a moment during the transition. • Tap on the User Icon within the app interface. A blank screen appears momentarily before the next screen is displayed. • When you select an icon for a friend, the same issue occurs: a blank screen is displayed for a moment during the transition. Cause: • The issue occurred because, for all the above actions, the target was set to 'main,' which caused a blank component to appear for a moment during transitions. Fix: • If we do not want to show the blank component then either the clearBreadcrumbs set to false or noEmptyTransition should be true.(refer the action_service.js) • Here i have set noEmptyTransition to true. task-4320099 Forward-Port-Of: odoo/enterprise#74955
In list view and reports, the accounting entries were displayed in different manners. Sometimes in a stupid way (name of the move repeated twice). This commit aims to give a single and unified way to display them. ticket-4440711 Forward-Port-Of: odoo/enterprise#76977 Forward-Port-Of: odoo/enterprise#76522
Original PR description
In list view and reports, the accounting entries were displayed in different manners. Sometimes in a stupid way (name of the move repeated twice). This commit aims to give a single and unified way to display them. ticket-4440711 Forward-Port-Of: odoo/enterprise#76977 Forward-Port-Of: odoo/enterprise#76522