Monday, March 4, 2024
41 changes
11 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
Features or functions removed from Odoo
This update removes outdated Spanish localization files (es_MX.po) from the Odoo system. As part of the v17 release, the l10n_mx module now exclusively uses es_419. This cleanup streamlines the codebase and ensures consistency.
Original PR description
As of v17, es_MX.po is not used anymore and es_419 is the only language expected to be used for the l10n_mx localizations --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
23 changes
Enhancements to existing features
7 changes
Enhancements to existing features
A README file has been added to the SEPA Direct Debit payment module to document how the payment integration works, including technical implementation details. This helps users and developers understand the payment flow and makes it easier to maintain the module as payment standards evolve.
Original PR description
Each payment acquirer has its own implementation specificities: some implement a 'payment with redirection' flow and others a 'direct payment flow'; sometimes the 'payment with redirection' flow is…
This change lets country-specific localization and payroll demo data reuse the same demo company instead of creating duplicate companies. It simplifies demo environments and reduces the need for extra bridge modules just to align sample data across related apps.
Original PR description
The use case is the following: l10n_xx (usually depending on account) creates a company demo data l10n_xx_hr_payroll (not depending on account) creates another company The goal is to allow defining the data to a foreign module (obvioulsy in the common dependencies) like "base", so that each module can easily define the same company and use it without having the create another bridge module that contains only demo data. TaskID: 3714759
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
Code cleanup and technical improvements
The Knowledge module’s article drag-and-drop test helper was updated to use modern browser and testing functions instead of older jQuery-based code. This is an internal cleanup that helps keep tests easier to maintain without changing the user-facing Knowledge experience.
Original PR description
In knowledge module, usages of jquery in dragAndDropArticle function are replaced by native or Hoot functions. task-3600484
This update reorganizes how Odoo stores and reuses language information so frequently used language details can be retrieved more efficiently. The change is internal, but it should reduce unnecessary work in areas like reports and payroll that rely on language settings.
Original PR description
[REF] base: refactor res.lang res.langs uses the ormcache a lot to cache language info These info are used frequently. This task groups up these info to avoid duplicated data and unnecessary cache miss when the ormcache is cold The PR is split to many small commits with small changes and explanations for reivew. https://github.com/odoo/odoo/pull/152496/
This update replaces older jQuery-based code in automated tours with native browser and Hoot query tools. It keeps the underlying business workflows unchanged while making the test code easier to maintain and better aligned with current development standards.
Original PR description
In this commit, jQuery usages are replaced by native usages. Some of jQUery querySelector are replaced by Hoot querySelector. task~3600484 https://github.com/odoo/odoo/pull/156225
Miscellaneous changes
In some cases, when the cron to fetch transaction is running, we first set the status of the connection to "fetching transactions" which is displayed on the dashboard. Once the process is over, status is changed to "done". If an error happen when contacting the provider, status is also reset in order to not display the "fetching status" message forever. However it can happen that an error occured when creating transaction in database (wrong configuration inside the journal, etc) and those errors
Original PR description
In some cases, when the cron to fetch transaction is running, we first set the status of the connection to "fetching transactions" which is displayed on the dashboard. Once the process is over, status is changed to "done". If an error happen when contacting the provider, status is also reset in order to not display the "fetching status" message forever. However it can happen that an error occured when creating transaction in database (wrong configuration inside the journal, etc) and those errors were not resetting the fetching_status flag. Hence leaving the customer with the impression that it was still loading transactions. This commit fixes the problem by resetting the flag in such cases. So if such an error happen during the cron, it won't fetch transactions and display will be clean. Error will still be raised to the customer if he clicks on manual refresh. Forward-Port-Of: odoo/enterprise#56380
When the detected skill belonged to a skill type for which none of the levels were marked as default, a validation error would occur as the level is a required field of `hr.applicant.skill`. Ticket #3673664 Forward-Port-Of: odoo/enterprise#57269
Original PR description
When the detected skill belonged to a skill type for which none of the levels were marked as default, a validation error would occur as the level is a required field of `hr.applicant.skill`. Ticket #3673664 Forward-Port-Of: odoo/enterprise#57269
- When trying to delete a record and receiving an OdooFinRedirectException(mode=link), allow record deletion. - When trying to link with a bank account and record is too old and has been deleted server side. Don't display traceback saying to reopen in link mode, instead delete record and create a new one. Forward-Port-Of: odoo/enterprise#57788
Original PR description
- When trying to delete a record and receiving an OdooFinRedirectException(mode=link), allow record deletion. - When trying to link with a bank account and record is too old and has been deleted server side. Don't display traceback saying to reopen in link mode, instead delete record and create a new one. Forward-Port-Of: odoo/enterprise#57788
Currently it's imposible to patch preparationDisplayService, so it's not possible to make any customizations and the only workaround is copying the whole service's functionality. By adding the export declaration the file can be imported and the service can be patched, which allows to make customizations to it's functionality. Forward-Port-Of: odoo/enterprise#56461
Original PR description
Currently it's imposible to patch preparationDisplayService, so it's not possible to make any customizations and the only workaround is copying the whole service's functionality. By adding the export declaration the file can be imported and the service can be patched, which allows to make customizations to it's functionality. Forward-Port-Of: odoo/enterprise#56461
**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, this functionality is currently malfunctioning. --- **Current behavior before PR:** Document uploads by applicants are failing. --- **Desired behavior after PR is merged:** Applicants should be able to successfully upload documents. ___ **Fix:** The PR addresses the problem by modifying the
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, this functionality is currently malfunctioning. --- **Current behavior before PR:** Document uploads by applicants are failing. --- **Desired behavior after PR is merged:** Applicants should be able to successfully upload documents. ___ **Fix:** The PR addresses the problem by modifying the 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/enterprise#57840 Forward-Port-Of: odoo/enterprise#52029
UK users often request the option to create customer statements. Now that the customer statements module has been deployed in Odoo 17, UK users can benefit from it by default. Since this is needed in 17.0, this commit creates a bridge module. task-3764637 Forward-Port-Of: odoo/enterprise#57530
Original PR description
UK users often request the option to create customer statements. Now that the customer statements module has been deployed in Odoo 17, UK users can benefit from it by default. Since this is needed in 17.0, this commit creates a bridge module. task-3764637 Forward-Port-Of: odoo/enterprise#57530
In large database, the time to unlink sale.order or sale.order.line can be huge, because some index are needed. @rco-odoo @arj-odoo Forward-Port-Of: odoo/enterprise#57783 Forward-Port-Of: odoo/enterprise#39414
Original PR description
In large database, the time to unlink sale.order or sale.order.line can be huge, because some index are needed. @rco-odoo @arj-odoo Forward-Port-Of: odoo/enterprise#57783 Forward-Port-Of: odoo/enterprise#39414
Fix wrong value for crontract creation in test file test_payroll_ma.py. task : 3774041 Forward-Port-Of: odoo/enterprise#57721
Original PR description
Fix wrong value for crontract creation in test file test_payroll_ma.py. task : 3774041 Forward-Port-Of: odoo/enterprise#57721
…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 Forward-Port-Of: odoo/enterprise#57686
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 Forward-Port-Of: odoo/enterprise#57686
Steps to reproduce: - Create a storable product invoice on delivered qty MTO enabled - Create a subscription for a service product and invoice it - Create an upsell and add on it the storable product Bug: PO line and delivery quantities are doubled Fix: only trigger stock rules on the upsell not from the parent SO opw-3696134 Forward-Port-Of: odoo/enterprise#57590
Original PR description
Steps to reproduce: - Create a storable product invoice on delivered qty MTO enabled - Create a subscription for a service product and invoice it - Create an upsell and add on it the storable product Bug: PO line and delivery quantities are doubled Fix: only trigger stock rules on the upsell not from the parent SO opw-3696134 Forward-Port-Of: odoo/enterprise#57590
Before this commit, the taskGanttView object was not exported and so if someone would like to override that object, he will have to get that object in the views registry. This commit allows to export taskGanttView from that file to easily use it to create another Gantt JS based on that one instead of getting the object from the registry. task-3776786 Forward-Port-Of: odoo/enterprise#57893
Original PR description
Before this commit, the taskGanttView object was not exported and so if someone would like to override that object, he will have to get that object in the views registry. This commit allows to export taskGanttView from that file to easily use it to create another Gantt JS based on that one instead of getting the object from the registry. task-3776786 Forward-Port-Of: odoo/enterprise#57893
In the HTML used for the message, we have used multiples "p" html balise which made huge spaces in the chatter or the pdf. By simply putting them in a single "p" and use "br", the extra spaces are gone. task: 3708071 Forward-Port-Of: odoo/enterprise#57519 Forward-Port-Of: odoo/enterprise#55497
Original PR description
In the HTML used for the message, we have used multiples "p" html balise which made huge spaces in the chatter or the pdf. By simply putting them in a single "p" and use "br", the extra spaces are gone. task: 3708071 Forward-Port-Of: odoo/enterprise#57519 Forward-Port-Of: odoo/enterprise#55497
**Current behavior:** Creating an EDI document from an invoice does not have fields for currency (moneda) in some places where it is expected. **Expected behavior:** Creating an EDI document from an invoice will include these fields in all their expected places. **Steps to reproduce:** 0. Install the l10n_ec_edi accounting module; switch current company to 'EC Company' 1. Duplicate an existing invoice and validate it 2. Process the invoice to receive an XML edi document
Original PR description
**Current behavior:**
Creating an EDI document from an invoice does not have fields
for currency (moneda) in some places where it is expected.
**Expected behavior:**
Creating an EDI document from an invoice will include these
fields in all their expected places.
**Steps to reproduce:**
0. Install the l10n_ec_edi accounting module; switch current
company to 'EC Company'
1. Duplicate an existing invoice and validate it
2. Process the invoice to receive an XML edi document
3. This form is purportedly missing expected fields
**Cause of the issue:**
The currency information is not set in a manner to be
accessed in all the places it is needed in edi_document.xml.
**Fix:**
Currency information is passed to the requisite scope via
methods in the l10n_ec_edi account.move class.
opw-3669363
Forward-Port-Of: odoo/enterprise#54687… the time Have a rule with no responsible but with some users to notify. Have a user who cannot validate the rule execute the action. Before this commit, the users to notify were not pinged. After this commit, those users are pinged, even though there is no responsible. opw-3752133 Forward-Port-Of: odoo/enterprise#57684
Original PR description
… the time Have a rule with no responsible but with some users to notify. Have a user who cannot validate the rule execute the action. Before this commit, the users to notify were not pinged. After this commit, those users are pinged, even though there is no responsible. opw-3752133 Forward-Port-Of: odoo/enterprise#57684
Fix wrong computation of displayed exchange difference in the bank rec widget. 1. We are adding twice the debit side and not the credit one. 2. In the bank rec widget you can have an `account.move.line` with multiple partials, thus multiple `matched_debit/credit_ids` and we are acting as if there is only one. Forward-Port-Of: odoo/enterprise#57758 Forward-Port-Of: odoo/enterprise#57709
Original PR description
Fix wrong computation of displayed exchange difference in the bank rec widget. 1. We are adding twice the debit side and not the credit one. 2. In the bank rec widget you can have an `account.move.line` with multiple partials, thus multiple `matched_debit/credit_ids` and we are acting as if there is only one. Forward-Port-Of: odoo/enterprise#57758 Forward-Port-Of: odoo/enterprise#57709
### Steps to reproduce: - Install **Manufacturing** app. - Open Shop Floor app and select work centers **Assembly Line 1** and **Drill Station 1** -This is not actually the only way to recreate the bug but the most forward-. - Open Manufacturing app. In the Work Centers Overview, open **Assembly Line 2** by clicking on the **desktop icon**. Notice how there's only one button on the top bar **Assembly Line 2** **_although_** we should have 3 buttons by now **Assembly Line 1**, **Drill Station
Original PR description
### Steps to reproduce: - Install **Manufacturing** app. - Open Shop Floor app and select work centers **Assembly Line 1** and **Drill Station 1** -This is not actually the only way to recreate the…
### Steps to reproduce:
- Install **Manufacturing** app.
- Open Shop Floor app and select work centers **Assembly Line 1** and **Drill Station 1** -This is not actually the only way to recreate the bug but the most forward-.
- Open Manufacturing app. In the Work Centers Overview, open **Assembly Line 2** by clicking on the **desktop icon**. Notice how there's only one button on the top bar **Assembly Line 2** **_although_** we should have 3 buttons by now **Assembly Line 1**, **Drill Station 1** and **Assembly Line 2**.
### Discussion:
- This Solution extends upon this PR https://github.com/odoo/enterprise/pull/52886 making some improvements
- when the `activeWorkcenter` doesn't exist on the array of the `workcenters`, add it to the array instead of reassigning the array with only the `activeWorkcenter`, That way we avoid the weird behavior of having the work center you selected get unselected implicitly https://github.com/odoo/enterprise/blob/adfe96612cfd0a0b29c8af7d03b19e87ed14155d/mrp_workorder/static/src/mrp_display/mrp_display.js#L108-L111
- U can select work centers inside the shop floor overview, using the **plus** icon. so an improvement was made to switch to the **All MO** tab if the user de-selected the _active_ work center in order:
- not to create inconsistency between the view of the work orders shown and the select buttons above.
- to prevent the error happening due to the inconsistency between the `activeWorkcenter` and the array of `workcenters` not including the `activeWorkcenter` anymore as it was de-selected.
opw-3638276
Forward-Port-Of: odoo/enterprise#57813
Forward-Port-Of: odoo/enterprise#53024Each payment acquirer has its own implementation specificities: some implement a 'payment with redirection' flow and others a 'direct payment flow'; sometimes the 'payment with redirection' flow is even implemented as a 'direct payment' flow through an iframe; one payment acquirer could support webhooks while another does not and relies on another mechanism to fetch payment status updates... It can be tricky to guess where to look in the code to determine how a payment acquirer is implemented. On top of that, the online payments ecosystem evolves at a fast pace due to competition, buyouts, and legislation enforcement. Acquirers are thus frequently migrated to new APIs that might differ in implementation from the previous API. To help figure out the *which*, *why*, *how*, and *when* of payment API implementations, a README.md file is added to the main directory of all payment acquirer modules. They can be browsed in human-readable format on GitHub. task-2374916 See also: - https://github.com/odoo/odoo/pull/153016 Forward-Port-Of: odoo/enterprise#57842 Forward-Port-Of: odoo/enterprise#56182
This update makes course sections more visually distinct from regular content by increasing their font weight in the backend interface. This helps instructors and administrators better organize and navigate course materials by making section headers stand out more clearly.
Original PR description
Purpose ======= Increase the bold of the sections in back end to better differentiate them from the content. Specifications ============== Adding !important next to the css bold style (value = 700) applied on the sections to make sure it takes the priority over the default list view sections "fw-bold" class (value = 500). Task-3759152 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
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