Monday, March 4, 2024
18 changes
10 changes
Resolved issues and error corrections
A recent update incorrectly removed visual styles (hatched and striked) from calendar events in the Year view of the HR module. This caused confusion about event statuses (e.g., 'To Approve'). This change restores the correct visual indicators, ensuring accurate event representation.
Original PR description
During the revamp, in commit 97fea91a570d2bb8a0d454be9cbe7ea4269f6699, the classes `.o_event_hatched` and `.o_event_striked` were removed by mistake. This causes confusion with the status of the events in the Year view of the `hr_holidays` module. According to the legend and the visual style of the events, they look like they are all validated when they are actually "To Approve" or "Refused". | Before| After| |-----|-----| |  | | task-3617333 part of task-3575827 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#144208
This update resolves an issue where non-admin users accessing the mobile order menu for a restaurant would encounter an error due to restricted image access. The fix grants access to images for all users with valid access tokens, ensuring a smoother ordering experience for customers.
Original PR description
**Current behavior:** Trying to access the mobile order menu for a pos restaurant with some non-default landing page images as a non-admin user will result in an access error. **Expected behavior:**…
**Current behavior:** Trying to access the mobile order menu for a pos restaurant with some non-default landing page images as a non-admin user will result in an access error. **Expected behavior:** The images should load on this page for anyone who has a valid access token for the page route. **Steps to reproduce:** 1. Make a restaurant in the POS application 2. Enable mobile ordering and set a database user with `user` level access to the POS app to be the default user for this newly created restaurant 3. Upload a splash image for the restaurant 3. On the POS dashboard, select the three vertical dot button on the restaurant -> `Mobile Menu` to get the access error **Cause of the issue:** The default user on the restaurant POS will not necessarily have access rights to the `ir.attachment` model/records. **Fix:** Get the images as sudo()- IMO there isn't a reason these should be inaccessible to anybody considering they are intended to be seen on the landing page by people trying to order. opw-3748314 Forward-Port-Of: odoo/odoo#155589
This update resolves a technical issue preventing users from correctly setting up payment providers for child companies. The fix ensures that payment method lines are created only within bank journals specific to the child company, preventing a common error message related to duplicate payment types and names.
Original PR description
…mpany Steps to reproduce: - Create a branch - Select the two companies in the company selector - Go to payment provider and duplicate the "Demo" one: * set the name as "Demo child" * set the company…
…mpany
Steps to reproduce:
- Create a branch
- Select the two companies in the company selector
- Go to payment provider and duplicate the "Demo" one:
* set the name as "Demo child"
* set the company as the child
* delete the journal
- Go back in payment provider and try to select the created payment
provider
Issue:
UserError: "You can't have two payment method lines of the same payment type (%s) and with the same name (%s) on a single journal."
Cause:
When opening the provider view, it triggers:
- payment.provider._compute_journal_id: if there is no journal_id set on the provider and there is a default bank journal (journals are shared between branches) we'll try to link the payment method to this journal.
https://github.com/odoo/odoo/blob/7d39137df61832e4fe2240fef8e33ad7435359e8/addons/account_payment/models/payment_provider.py#L52-L64
If there is no payment method line (pml), we'll create one with the defaul_payment_method (Demo, the one we duplicated) and with the default journal (Bank from parent company)
- account.payment.method.line._compute_name: it sets the pml.name to 'Demo'
https://github.com/odoo/odoo/blob/7e8185ba20476dd3428ce5e0196207b3bc03eccf/addons/account/models/account_payment_method.py#L134-L138
The constraint in
https://github.com/odoo/odoo/blob/7e8185ba20476dd3428ce5e0196207b3bc03eccf/addons/account/models/account_payment_method.py#L140-L151
is raised since we have to pml with the same name (Demo), the same Journal (Bank from parent) and the same payment type (inbound) with different id's.
Solution:
Find only Bank journals created i n the child company
opw-3692146
Forward-Port-Of: odoo/odoo#154183This update addresses an issue where the duration widget sometimes failed to display correctly due to errors in the Babel formatting library. As a temporary solution, the system now attempts to re-format using the standard English (US) locale before raising an error, providing a more reliable display. This is a best-effort fix due to limitations with our base Ubuntu version.
Original PR description
In case of exception of type KeyError during the formatting with Babel instead to raise a Traceback, we first retry with the en_US locale. Babel fixes each week new bug of formatting like the one in the test, but we cannot bump our default babel version since it is not in the stable Ubuntu 22 so it is a best effort fix that will not hide all bugs but is better that nothing. https://github.com/python-babel/babel/pull/827 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#155909
This update resolves an issue where the document upload button was hidden in the applicant recruitment view. Now, when the 'Documents for Recruitment' setting is disabled, the upload button will be visible, allowing applicants to properly submit their documents. This ensures a smoother recruitment process.
Original PR description
**Description of the issue/feature this PR addresses:** In the kanban view of all applicants within the recruitment module, an issue arises when applicants attempt to upload documents. --- **Current behavior before PR:** upload button is hidden while uncheck the settings from Documents for Recruitment. --- **Desired behavior after PR is merged:** upload button is visible while uncheck the settings from Documents for Recruitment. --- **Fix:** The PR addresses the problem by modifying tree view of ir.attachment and default_res_model in the context. This adjustment is crucial as the current setting results in an incorrect model name, preventing the display of uploaded documents in this model. task-3579833 Forward-Port-Of: odoo/odoo#155958 Forward-Port-Of: odoo/odoo#150593
This update fixes a bug where kiosk orders with a zero total amount would incorrectly redirect users to the home page without printing a receipt. Now, when an order is zero, the system correctly displays the receipt and confirmation page, providing a smoother user experience for kiosk transactions.
Original PR description
Before this commit: =================== If there is an order with a total amount of 0 in kiosk mode, then after the cart page it is redirected to the home page without printing a receipt. After this commit: ================== with this commit, if an order amount is 0 then it will redirect to the confirmation/receipt page like a normal order with the amount without redirecting to the payment page. task - 3773450 Forward-Port-Of: odoo/odoo#155826
This update fixes an issue where multi-selection product attributes weren't appearing in the product configurator popup when using the Point of Sale (PoS) on mobile devices. Previously, this prevented users from fully customizing products during order creation. This change ensures consistent functionality across all devices, improving the PoS user experience.
Original PR description
Current behavior: When adding a product with a multi selection attribute, the attribute is not displayed in the product configurator popup. This only happens when opening it on a mobile device. Steps to reproduce: - Add a product with a multi selection attribute - Open PoS - Add the product to the order - The attribute is not shown on the product configurator popup opw-3711164 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154893
This update resolves an issue causing excessive error logging on Raspberry Pi 5 devices due to a problem with the display interface. By protecting subprocess calls, the system now handles exceptions more gracefully, ensuring smoother operation once the device is connected to a database.
Original PR description
Currenlty, on raspberry pi 5 our dislay interface is invading the logger with errors due to the absence of both tvservice and the required vcgencmd methods to identify the connected displays The goal…
Currenlty, on raspberry pi 5 our dislay interface is invading the logger with errors due to the absence of both tvservice and the required vcgencmd methods to identify the connected displays The goal of this PR is to avoid this  While searching for a solution to properly detect displays on a raspberry pi 5 we can avoid the excessive log errors by protecting the subprocess calls. When used with vcgencmd, the python wrapper of 'vcgencmd' bash utility is missing the 'Vcgencmd().display_power_state()' method on raspberry pi 5, which causes a subprocess.CalledSubprocessError because the wrapper itself is missing a try/except block arount its subprocess call [here](https://github.com/sushantnadkar/vcgencmd/blob/68578dd887f2e0f62c1e8bf95323574cfc489be0/vcgencmd/vcgencmd.py#L18) Tvservice is not used on new rpi models so there is no need to protect it While the errors will still be present in the logs for a fresh image at the moment, once an rpi5 is connected to a database, it will receive the code from this PR and will handle the exceptions more gracefully [task-3771334](https://www.odoo.com/web#cids=1&menu_id=4720&action=333&active_id=1428&model=project.task&view_type=form&id=3771334) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155882 Forward-Port-Of: odoo/odoo#155615
This update fixes an issue where clicking the 'Parent Task' button in the portal user interface would sometimes fail to load related task information. The team manually added the necessary search view ID to ensure the button consistently opens the correct task details, improving user experience.
Original PR description
How to reproduce the bug :
- Go to one project from portal user
- Open a task
- Create a subtask of this task
- Open the subtask
- Click on "Parent Task" button
=> Traceback
Fix :
- The search view is not loaded when opening the parent task
- We add manually the search view id in the action opening the
parent
taskid:3551354
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#142559This update fixes an issue where email styling sometimes lost information when both CSS and inline styles were applied to the same element. Specifically, it ensures that margin values are correctly converted during email creation, preventing style conflicts and ensuring consistent visual presentation. This improves the quality and reliability of our email communications.
Original PR description
When inlining styles for e-mails, some styles could be lost if they were defined in css but also had an inline style that started with the same characters. For example, a node with a style attribute defining `margin-top: 10px` and a css style defining `margin: 5px` would end up with `margin-top: 10px` and losing the rest of the information. opw-3650141 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#156087
3 changes
Resolved issues and error corrections
Spreadsheet template validation now happens automatically when records are changed, rather than relying on a separate post-install check. This helps catch invalid data earlier and keeps spreadsheet-related features more reliable with minimal user-facing impact.
Original PR description
See community PR. The validation is now done with an `api.constrains` instead of a post-install test. Task: 3577092
Belgian payroll now avoids relying on salary-contract data unless that related feature is installed. This prevents errors for companies using payroll without the optional salary contract module, while keeping custom representation fee behavior where it belongs.
Original PR description
Before correction : The function _get_representation_fees_threshold used a field from hr_job. But this field exist only if l10n_be_hr_contract_salary is installed After correction : Put the behaviour of this function linked to this field in l10n_be_hr_contract_salary.
The Documents search panel had a small spacing problem caused by custom folder and delete icons. This fix removes the extra padding so the panel layout appears correctly for users.
Original PR description
Technical ==================== Due to a recent change here https://github.com/odoo/odoo/pull/149246 there is padding issue because in documents we are overriding the carets and trash icons and width of the "o_toggle_fold" is fixed so that's why it is causing the issue. After this PR ================== Removed the unnecessary padding. Task-3761896
5 changes
Resolved issues and error corrections
This update fixes a crash that occurred in the Web Studio export test when running tests for individual apps that don't have a currency field. The system now automatically creates the necessary currency field when needed, ensuring tests run smoothly without interruption.
Original PR description
…t in test Before this commit, the test /web_studio.test_export crash in single app testing because the model on which the test is done did not have a currency field. After this commit, there is no crash as we create a new currency field if necessary. runbot-error-57418
This update corrects the alignment of total labels in Field Service worksheet PDF reports. Previously, the 'total' labels were not properly aligned to the right side of the report. The fix applies CSS styling to ensure consistent and professional formatting when generating worksheet reports with product line items.
Original PR description
Steps to reproduce: - go to the field service - go to any task add product to it - generate the pdf report 'worksheet report pdf' Issue: - 'totals' labels is not aligned to the right Solution: - aligned the 'labels' to the right us css class Task:3549234 Forward-Port-Of: odoo/enterprise#57899 Forward-Port-Of: odoo/enterprise#50101
This update corrects an incorrect value used in the payroll testing process for Morocco. The fix ensures that contract creation tests run properly, which helps maintain the reliability of the payroll system for Moroccan operations.
Original PR description
Fix wrong value for crontract creation in test file test_payroll_ma.py. task : 3774041 Forward-Port-Of: odoo/enterprise#57721
This fix corrects where the "Landed Cost" option appears in product forms. Previously, it was incorrectly showing up for Event Tickets, Event Booths, and Gift Cards. Now it will only display for Service and Storable products where it's actually needed. This prevents confusion and ensures users only see relevant options for their product type.
Original PR description
Steps to Reproduce : - install sales, stock modules - go to products and create new - select product type as Event Ticket,Event Booth or Gift Card - Landed cost boolean is suppose to be visible for a…
Steps to Reproduce : - install sales, stock modules - go to products and create new - select product type as Event Ticket,Event Booth or Gift Card - Landed cost boolean is suppose to be visible for a service type product under purchase. Issue : - Landed cost boolean is suppose to be visible for a service type product under purchase, But currently it is visible on other type of products specific to other models like event tickets, event booths etc. Cause: - In product Module there are two Selection fields like detailed_type and type. The detailed_type Selection field contain service, consumable, event booths, event tickets, storable product And the type selection field contains service, consumable, storable product - In xml views for that landed cost boolean the invisible attribute contains the condition like type != service, because of this the landed cost boolean is visible for the product type of event tickets, event booths and gift Cards. Solution: - if we use detailed_type instead of type selection field, then the landed cost boolean field will be invisible on other product types. task- 3725202 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#153371
A test for the calendar month view was failing intermittently because it assumed the calendar was always in week view when trying to change the display scale. This fix improves how the test selects the scale option, making it work regardless of the current view mode. This ensures the calendar feature works reliably across different user scenarios.
Original PR description
The `test_calendar_month_view_start_hour_displayed` makes sure that start hour is display in calendar month view.
The test was failing because when clicking on scale selector, it used '.dropdown-toggle:contains("Week")' however it might happen that the current scale is not week.
This commit fixes this issue by changing the way we access the scale selector.
fixes runbot-59023