Daily updates from Odoo
Wednesday, February 28, 2024
29 changes
6 changes
Enhancements to existing features
This update enhances the website editor's image functionality by allowing users to preview and customize hover animation effects. A key fix ensures that undo actions correctly remove these effects, preventing persistent changes. This improves the user experience and flexibility when designing website content.
Original PR description
**[IMP] web_editor, website: improve on hover animation** This commit makes improvements as requested in the following pull request [1] ("allowing the ability to flip/rotate image shapes" and "adding…
**[IMP] web_editor, website: improve on hover animation**
This commit makes improvements as requested in the following pull
request [1] ("allowing the ability to flip/rotate image shapes" and
"adding an 'on hover' option for animations").
It mainly focuses on refining the code for better organization.
[1]: https://github.com/odoo/odoo/pull/119197
task-3495241
-----------------------------------------------------------------------------------------------------
**[IMP] web_editor, website: preview hover effects**
This commit adds the possibility to preview the various effects
available in the "effect" option for 'on hover' animations when hovering
over the dropdown. The sub-options of these effects are also previewed.
This commit also prevents the user from seeing the different changes
that occur to an image with a shape while changing one of its options
(e.g., changing the shape, previewing hover effects).
task-3495241
-----------------------------------------------------------------------------------------------------
**[FIX] web_editor, website: fix undo after enabling hover effects.**
Steps to reproduce the bug:
- In Website edit mode, drag & drop a text-image snippet onto the page.
- Click on the image of the snippet.
- In the image options, select "On Hover" for the "Animation" option.
- Click on the "Undo" button in the top bar of the editor panel.
- Bug: The "Animation" option has not been deactivated, the "Hover
Effect" is still present when hovering over the image.
task-3495241
Forward-Port-Of: odoo/odoo#134979Resolved issues and error corrections
This update resolves an issue where non-member users accessing live chat channels didn't receive messages. The previous behavior, which correctly subscribed non-members to channel events, has been restored. This ensures all users, regardless of membership status, receive relevant channel updates.
Original PR description
Since [1], accessing a live chat as a non member does not subscribe the user to the channel events. This results in the user not receiving any messages linked to this channel. This PR restores the previous behavior as removing it was not intentional. [1]: https://github.com/odoo/odoo/pull/154292 Steps to reproduce the issue: - Open a live chat with demo as a visitor - Connect as admin and go to live chat history - Open the chat with demo and the visitor - The thread is displayed in discuss - Send another message as the visitor - Admin does not receive the message Forward-Port-Of: odoo/odoo#154755
This update fixes an issue where contact images on the Kanban view were cropped awkwardly, leading to a poor visual experience. By limiting the image height and centering it, the card now displays images more effectively, especially with the recent changes in how many-to-many tags are shown. This improves the overall presentation of contact information.
Original PR description
On the contact kanban view, add as much tags as possible. The point is to make the right hand part of the kanban card as tall as possible. Before this commit, the image (on the left hand side) of the…
On the contact kanban view, add as much tags as possible. The point is to make the right hand part of the kanban card as tall as possible. Before this commit, the image (on the left hand side) of the individual partner was taking all the space in the y-axis, which was on purpose, but the cropping of the image made it so that the image lost is sense: a face was too much cropped, or, if the image did not have sufficient pixel density, it was pixelized. What is specific to 17 that is barely applicable in earlier versions, is the changes in the display of many2many tags in the kanban record: they now take more space and at a faster pace. After this commit, we constrain that image to a maximum height and centering it. opw-3748585 opw-3751016 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#155359
This update fixes an issue where the ‘Verify VAT Numbers’ feature incorrectly marked EU VAT numbers as invalid when the VIES service encountered an error. Now, users will receive a notification if the VAT number couldn't be processed, preventing them from incorrectly assuming the number is invalid. This improves data accuracy and user confidence.
Original PR description
Steps to reproduce: - Activate "Verify VAT Numbers" option in the Settings - Go to Contacts and create a new one - Enter a valid EU VAT Number Issue: It happens that VIES service could not process…
Steps to reproduce: - Activate "Verify VAT Numbers" option in the Settings - Go to Contacts and create a new one - Enter a valid EU VAT Number Issue: It happens that VIES service could not process the VAT number for some reason and returns an error. That error is silently caught without notification to user and "Intra-Community Valid" field is set to False. The user will wrongly think that the VAT number is not valid, but it hasn't been processed at all. Here's the list of the potential errors returned by VIES service: - INVALID_INPUT - INVALID_REQUESTER_INFO - SERVICE_UNAVAILABLE - MS_UNAVAILABLE - TIMEOUT - VAT_BLOCKED - IP_BLOCKED - GLOBAL_MAX_CONCURRENT_REQ - GLOBAL_MAX_CONCURRENT_REQ_TIME - MS_MAX_CONCURRENT_REQ - MS_MAX_CONCURRENT_REQ_TIME Solution: Log a note with the error (as it is done for some other error) to warn the user that the VAT number hasn't been processed. opw-3687968 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#153196
This update resolves a bug that prevented sales users from confirming sales orders containing 'expense' products. The fix bypasses access restrictions when generating analytic accounts for these orders, ensuring smooth order confirmation. This improves the usability of the sales order process for users with limited access.
Original PR description
Before this commit, when a salesman user without any access in other apps (just has the `sales_team.group_sale_salesman` group) creates an SO and adds a SOL for a product with…
Before this commit, when a salesman user without any access in other apps (just has the `sales_team.group_sale_salesman` group) creates an SO and adds a SOL for a product with `expense_policy='sales_price'` and then confirm the SO, he will got a traceback because he does not have access to `analytic.account.line` model. The reason is because an analytic account has to be generated for the SO since there is an expense product in its SOLs and so during the generated of analytic account a check is triggered to be sure the company set on that analytic account is correct. This commit adds a sudo before calling the search method in `analytic.account.line` model to do the check without checking the access right since the user does not really want to read the analytic account line. Steps to reproduce ================== 1. Log in as Salesman user (without other access) 2. Create a product and the expense policy to Sales price. 3. Create a SO and add a SOL with that product 4. Confirm the SO Expected Behavior ================= The SO should be confirmed without any issue (and an analytic account should set on that SO) Actual Behavior =============== Traceback is occured because the user cannot access to `analytic.account.line` model. Follow-up task-3256865 Forward-Port-Of: odoo/odoo#155238
This update resolves a crash that occurred when users attempted to create tables within the Odoo editor. Previously, applying the table command through the powerbox would cause errors and display an extra toolbar. Now, the tablepicker opens automatically when text is selected, creating tables smoothly without any issues.
Original PR description
**Current behaviour before commit:** When text is selected, 1. applying table command through powerbox throws error. 2. applying table command through powerbox makes toolbar appear along with tablepicker. **Desired behaviour after commit:** Now when text is selected, 1. applying table command through powerbox creates new table without any traceback. 2. applying table command through powerbox opens tablepicker only. task-3482230 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155360 Forward-Port-Of: odoo/odoo#133414
3 changes
Enhancements to existing features
This draft update relates to planned B2B inventory work connected to the referenced Odoo task. Details on the exact business behavior are not available from the provided file and commit information, so the impact is best treated as a pending inventory improvement.
Original PR description
Task 3569227 odoo/odoo#145411
WhatsApp discussions now show live chat channels as separate categories in the sidebar, making conversations easier to find and organize. This improves navigation for teams handling customer chats across multiple channels.
Original PR description
part of task-3640730 community: https://github.com/odoo/odoo/pull/154166
The global Add Line button is now shown or hidden more appropriately in grid views, making it clearer when users should add entries manually. In My Timesheets, the button is hidden when the timer workflow already provides an easier way to create new time entries.
Original PR description
This commit modifies the criteria for showing the global "Add Line" button, simplifying the process for users to add new entries. In the "My Timesheets" section within the timesheet_grid module, the "Add Line" button is now hidden. This is because the incorporation of new lines is already streamlined through the use of the timer feature. taskid:3701294
20 changes
Enhancements to existing features
This update cleans up and standardizes translations across all Mexico-specific modules by refreshing translation files, backporting v17 translations, and consolidating to use Spanish (es.po) instead of Mexico-specific variants. This ensures users in Mexico have consistent and complete translations throughout the system.
Original PR description
A lot of translations were missing from the l10n_mx* localizations therefore they are cleaned up by: - re-exporting all of the pot files of the modules starting with l10n_mx* (most were out of date…
A lot of translations were missing from the l10n_mx* localizations therefore they are cleaned up by: - re-exporting all of the pot files of the modules starting with l10n_mx* (most were out of date and/or incorrectly manually modified) - the translations from v17 are backported (a bunch update of all of the terms in these modules was done for v17) - the modules were all consistently updated to use es.po only, i.e. es_MX.po files were removed, since both were used but in v17 they were all converted to es_419 (i.e. the default Spanish local from v17 onwards) Notes: - This was only done in saas-16.3 onwards to support a ticket. Previous versions can have similar steps done for them when requested by customers, but are not done as part of this PR because it's cumbersome to do. - Since terms change between versions, probably some translations are missing and can be added in as demanded/noticed by customers (since it's also cumbersome to track them down) opw-3452127 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155262 Forward-Port-Of: odoo/odoo#155214
This update adds comprehensive tests for the email template system used in event communications, particularly for batch email sending to event attendees. The changes improve test reliability and maintainability by refactoring email scheduler tests and adding new test coverage for registration-time communications. This ensures the email system works correctly as the team prepares to optimize batch email processing.
Original PR description
PURPOSE Mail: add tests for MailTemplate send_mail Several flows use MailTemplate.send_mail() in batch, notably event email scheduler which sends emails to event attendee in batch. This commit adds…
PURPOSE
Mail: add tests for MailTemplate send_mail
Several flows use MailTemplate.send_mail() in batch, notably event email
scheduler which sends emails to event attendee in batch. This commit adds
tests around 'send_mail' method of MailTemplate model
* add tests for batch: it is currently not supported hence using a loop but
batch is going to be added soon, allowing to test the batch version works
as intended;
* add query counters, notably for batch mode and when dynamic reports are
involved in templates;
Event: improve mail scheduler tests
Make them easier to improve and modify
* use a dedicated setup (allowing to add specific unit tests on test data);
* move initial asserts into its own unit test (to keep other tests shorter);
* use available mocks for freezetime and sql.now;
Then add tests for registration emails, to check what happens for communication
scheduled right at registration time.
LINKS
Part of Task-3764894: Event: Allow using cron triggers for communication
Part of Task-3764891: Mail: Batch-ize MailTemplate send_mail
Part of Task-3164278: Mail: Batch send: ensure limit, avoid force
Part of Task-3084943: Event: Improve communication scheduler scalabilityResolved issues and error corrections
This fix resolves an issue where users couldn't select an approver when creating a new approval request. The approver field was incorrectly locked as read-only when no approver was initially selected. Now users can properly add and select approvers when setting up approval requests.
Original PR description
steps to reproduce: 1. Go to approvals with no rights 2. create a new approval request 3. add an approver -> the approver cannot be selected because the line is readonly expected behavior: the approver can be selected Explaination of the issue: The field can_edit_user_id is set to False when no user is selected because when you add a line no user is selected by default. behavior after the fix: the approver can be selected task-3602617
This fix ensures that the headers in Kenya payroll Excel reports now display in the user's local language instead of English. The translation strings were added to the payroll system's language files, improving the user experience for non-English speaking users in Kenya.
Original PR description
the headers of the xlsx report were not translated this commit fixes that by adding the missing translations into the controller task-3718923
This fix corrects an issue where the rental duration shown on product pages didn't match the date range selected in the rental search filter. When customers select a rental period and view a product, the duration text now accurately reflects their selected dates, improving the shopping experience and reducing confusion.
Original PR description
Issue: ====== Duration of rental product doesn't correspond to the range displayed in the daterange picker. Steps to reproduce the issue: ============================= - Install rental and ecommerce - Go to website/shop and add `rental search` snippet and save the page. - Select a period in the rental search and click on any product displayed. - The range is equal the the range selected but the duration in words isn't correct. Solution: ========= We call `_get_combination_info` with the `start_date` and `end_date` in the context to get the corrent `duration` and `unit`. opw-3601959 Forward-Port-Of: odoo/enterprise#57173 Forward-Port-Of: odoo/enterprise#52687
This fix resolves a confusing error that occurred when creating a helpdesk team. Users could delete team members and switch assignment methods, but then be unable to save because the system required members even though the form didn't allow entering them. The fix automatically provides a default member value when needed, so the form behaves consistently with what users see on screen.
Original PR description
**Current behavior:** When creating a new helpdesk team, if you have selected Random or Balanced as an Assignment Method and delete the default user in the avatar selection box then switch to the…
**Current behavior:** When creating a new helpdesk team, if you have selected Random or Balanced as an Assignment Method and delete the default user in the avatar selection box then switch to the Manual assignment method option, you will simultaneously be unable to assign a user (as the selection box disappears) and required to provide at least one user before being saving. **Expected behavior:** The form should not require a value for a field when the UI does not permit one to be entered. **Steps to reproduce:** 1. In the Helpdesk app, go to configuration -> Helpdesk Teams 2. Create a new team, select either Random or Balanced as the Assignment Method, delete the default value, then switch back to Manual assignment 3. Try to save the record **Cause of the issue:** member_ids is a required attribute of the helpdesk.team model despite the form view hiding the selection box when the Manual assignment option is selected (implying it is not required). **Fix:** Create an _onchange() method which populates the member_ids field with a default value when the user switches to Manual assignment with no member_ids assigned. opw-3672587 Forward-Port-Of: odoo/enterprise#57608 Forward-Port-Of: odoo/enterprise#55767
This update fixes how the system checks user permissions to access addenda fields in Mexico EDI. Previously, only admin users could access addendas, but the permission check was too restrictive. The fix now properly checks if a user has the actual permission to view addendas, rather than requiring them to be an administrator, allowing authorized non-admin users to access this feature.
Original PR description
Fix https://github.com/odoo/enterprise/commit/b9120ba7292a2d9cdb636bf302b22901bf0ca08f prevents an error poping when a user with no read rights would access the addenda field. This was prevented by checking if the user is admin, which is by default the only group that can read addendas (ir.ui.views). But when the website module is installed, some new permissions rules are added for the ir.ui.view model. This means that on db's with website installed, a non admin user could access the addenda field without errors, while now they cannot anymore if they are not admins. This fix check if the user has or has not right to ir.ui.views instead of checking if he is admin. Forward-Port-Of: odoo/enterprise#57600 Forward-Port-Of: odoo/enterprise#56376
This fix corrects how lunch breaks are accounted for when automatically generating work entries from employee attendance records. Previously, lunch time was not being deducted from total work hours, which could result in inaccurate work entry records. This ensures employees' actual working hours are correctly calculated.
Original PR description
When generating work entries based on attendances, lunch time was not being taken into consideration, we fix this issue in the version where lunch time was introduced Forward-Port-Of: odoo/enterprise#57217
This fix prevents users from saving approval requests with a start date that occurs after the end date. Previously, the system would accept invalid date combinations without warning. Now, the system will display an error message if users attempt to save an approval with impossible dates, ensuring data integrity and preventing scheduling errors.
Original PR description
Steps to reproduce the bug: - Go to Approvals - Create a new approval request - Set the start date after the end date - Save - the record is saved without any error or chenge in the dates Expected behavior: The system should not allow to save the record with the start date after the end date or it should show an error message Fix: Add constrains on the date fields to avoid saving the record with the start date after the end date and raise a ValidationError if the user tries to save the record with the start date after the end date task-3650931 Forward-Port-Of: odoo/enterprise#55851
Fixed an issue where file attachments added to HR Appraisals email templates were not being sent with appraisal emails. When users send appraisal emails using a template with attachments, those files will now be properly included in the message.
Original PR description
**Current behavior:** Modifying an email template associated with the Appraisals app will not result in that attachment being sent when a message is composed using that the template. **Expected…
**Current behavior:** Modifying an email template associated with the Appraisals app will not result in that attachment being sent when a message is composed using that the template. **Expected behavior:** The attachment(s) of a certain template will be sent when an email is triggered that references that template. **Steps to reproduce:** 1. Modify an HR Appraisals email template so that it has some file attachment 2. In the Appraisals app, create a new appraisal that will use the modified email template 3. Send the email, observe in the chatter sidebar or in the list of emails in settings that the attachment linked to the relevant template was not sent **Cause of the issue:** The attachment_ids field of the request.appraisal model was not passed as a kwarg to the action_invite() method, which is where the email gets composed and posted. **Fix:** Add the missing attachment_ids argument to this method. opw-3644820 Forward-Port-Of: odoo/enterprise#57402 Forward-Port-Of: odoo/enterprise#55977
This fix allows Romanian companies without a country code prefix on their VAT or company ID to generate valid CIUS-RO e-invoices. Previously, the system would either block the export or create XML that failed validation. The solution adjusts how tax scheme identifiers are handled for Romanian partners without prefixed VAT numbers, ensuring compliance with Romanian tax requirements while meeting CIUS-RO validation standards.
Original PR description
Previously, when exporting CIUS-RO XML and the supplier (company) or customer doesn't have a country code prefix on either their VAT or company ID, an error will be thrown preventing the user from…
Previously, when exporting CIUS-RO XML and the supplier (company) or customer doesn't have a country code prefix on either their VAT or company ID, an error will be thrown preventing the user from generating the XML. But after allowing the XML generating process, the XML is then rejected by the validator because of `BR-CO-09` rule: ```xml <assert id="BR-CO-09" flag="fatal" test="( contains( ' 1A AD AE AF AG AI AL AM AO AQ AR AS AT AU AW AX AZ BA BB BD BE BF BG BH BI BJ BL BM BN BO BQ BR BS BT BV BW BY BZ CA CC CD CF CG CH CI CK CL CM CN CO CR CU CV CW CX CY CZ DE DJ DK DM DO DZ EC EE EG EH EL ER ES ET FI FJ FK FM FO FR GA GB GD GE GF GG GH GI GL GM GN GP GQ GR GS GT GU GW GY HK HM HN HR HT HU ID IE IL IM IN IO IQ IR IS IT JE JM JO JP KE KG KH KI KM KN KP KR KW KY KZ LA LB LC LI LK LR LS LT LU LV LY MA MC MD ME MF MG MH MK ML MM MN MO MP MQ MR MS MT MU MV MW MX MY MZ NA NC NE NF NG NI NL NO NP NR NU NZ OM PA PE PF PG PH PK PL PM PN PR PS PT PW PY QA RE RO RS RU RW SA SB SC SD SE SG SH SI SJ SK SL SM SN SO SR SS ST SV SX SY SZ TC TD TF TG TH TJ TK TL TM TN TO TR TT TV TW TZ UA UG UM US UY UZ VA VC VE VG VI VN VU WF WS XI YE YT ZA ZM ZW ',substring(cbc:CompanyID,1,2) ) )">[BR-CO-09]-The Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48) shall have a prefix in accordance with ISO code ISO 3166-1 alpha-2 by which the country of issue may be identified. Nevertheless, Greece may use the prefix ‘EL’.</assert> ``` In Romania however, there are multiple types of "Tax IDs", and it is perfectly valid in Romania to have a Tax ID without RO (country code prefix) in front of them. They are not a subject to paying VAT, and it should still be possible to generate CIUS-RO XML with their tax identifications. This commit aims to fix this behavior by applying some special treatment to Romanian partners when generating the XML: by modiying the TaxScheme ID. The error only raises when the detected ID is 'VAT'. This commit also fixes and clean some of the irrelevant constraints and tests previously written in `l10n_ro_edi`. task-id: 3649426
This fix resolves an issue where users received a false warning about duplicate serial numbers when performing internal transfers of tracked products between warehouses. The system was incorrectly checking for serial number conflicts across all locations without excluding the source location, causing valid transfers to be blocked. Now the validation properly excludes the source location, allowing transfers to proceed smoothly.
Original PR description
Steps to reproduce the bug:
- Create a storable product “P1”:
- Tracked by “SN”
- Update the qty to 1 in “WH/stock” with “SN1”
- Create an internal transfer:
- Location: wh/Stock
- Dest location: wh2/stock
- Mark as todo
- Try to select SN1 in the `stock.move`
Problem:
A warning is triggered:
`Existing Serial numbers. Please correct the serial numbers encoded: (001) exists in location WH/Stock`
We do a search to find all the quants in every location to verify if the same serial number is not being used, but we do not exclude the source location.
opw-3734300
Forward-Port-Of: odoo/odoo#154747
Forward-Port-Of: odoo/odoo#154626This fix resolves an issue where form field labels were being compressed to just one or two characters when long filenames were uploaded to attachment fields. The problem occurred because the grid layout was forcing labels to shrink to accommodate unbreakable text in adjacent columns. The fix adjusts the CSS grid configuration to allow better text wrapping and prevent label compression.
Original PR description
Since Odoo v16, we also use grid in the form layout (inner group). In a group we use the CSS `grid-template-columns` with the value of: * `fit-content(150px)`: for the first column (TLDR: col max…
Since Odoo v16, we also use grid in the form layout (inner group).
In a group we use the CSS `grid-template-columns` with the value of:
* `fit-content(150px)`: for the first column (TLDR: col max 150px)
* `1fr`: for the second column (TLDR: take the "remaining" max space)
```css
.o_form_view .o_inner_group {
grid-template-columns: fit-content(150px) 1fr;
}
```
These rules at the first glance seem correct.
But due to "big word"/language, some unbreakable text is overflowing, to avoid this, we have added the `text-break` BS class.
So now all text can be "squash"/wrap if there is no space available.
The problem is when we have a text be too long and unbreakable in the second column, the label (first column) is squashed to see only one or two characters.
In our case, the bug happens when we upload a file with a big filename to an "Attachement" (`many2many_binary`) field.
On the `many2many_binary` field there is a custom CSS rules:
```css
.o_attachment .caption {
white-space: nowrap;
}
```
that force the text to not wrap on the next line, and so the grid takes the width of the file name as its min value for the width of the second column, and "squash"/wrap the first column.
This commit fixes the issue by allowing the second column to be smaller than the `max-content` width using the css `minmax(0, 1fr)`.
Steps to reproduce:
* Open "Marketing automation" app
* Create a New campaign ("New" button)
* Click on "ADD NEW ACTIVITY"
* Select the "Mail Template" field
* Create and edit a "Mail Template"
* Click on the "Options" tab
* Upload an attachment with a long name => BUG, all labels (first column) are "squashed"
Note:
* the `text-break` class is equivalent to:
```css
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
}
```
* when we use `Xfr` (X a positive numeric value `1fr` in our case) outside a `minmax()` notation, the GRID specs[1] specifies that it should be converted to `minmax(auto, Xfr)`.
* also the `auto`[2] in the case of `minmax(auto, Xfr)`the value represents the largest minimum size (in our case, the file name).
[1]: https://www.w3.org/TR/css-grid-2/#valdef-grid-template-columns-flex
[2]: https://www.w3.org/TR/css-grid-2/#valdef-grid-template-columns-auto
task-3644267
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#155420This fix prevents orders from being captured twice in the Point of Sale system, a problem that occurred when quantity rounding differences appeared (especially with scale-based inputs). The system now uses a more reliable comparison method that focuses on payment amounts and product details rather than exact quantities, making duplicate orders much less likely to occur.
Original PR description
Before this commit, it was possible to capture an order twice due to the rounding difference in quantity, especially when users use a scale. With this commit, it uses a more relaxed condition and remove the quantity from the orderline comparison. Given that the system checks the payments and with the same product and price units, it's unlikely that two orders will have the same payment amount. opw-3735436 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#155513
This update fixes a bug that prevented repair orders from printing when using the German DIN 5008 document layout. The issue was caused by a reference to a field that no longer exists in the system. With this fix, users can now successfully create and print repair orders with the DIN 5008 layout without encountering errors.
Original PR description
### Steps to reproduce * install `l10n_din5008_repair` * set the document layout to din5008 * create a Repair order and attempt to print it You should be met with a traceback. opw-3718479 Forward-Port-Of: odoo/odoo#153648
This fix resolves an error that occurred when assigning tasks to employees who don't have access to certain documents. Previously, the system would block task assignments in these cases, but since users can now see their assigned tasks regardless of document access, this restriction has been removed. This allows managers to assign onboarding tasks to new employees without permission issues.
Original PR description
How to reproduce: - Install hr with demo data - Create a user without access to hr and turn it into an employee - Create a user for Abigail - Assign Abigail as manager of the new user - Click on…
How to reproduce: - Install hr with demo data - Create a user without access to hr and turn it into an employee - Create a user for Abigail - Assign Abigail as manager of the new user - Click on "onboarding plan" in the chatter of the new user - Then in the dialog, click on "Schedule" button You get the error "Assigned user test has no access to the document and is not able to handle this activity." because the new user has no access to the record employee on which those activities are scheduled. As activities for which the user has no access to the underlying record are now displayed in the systray (with no access to the record), we remove the check that prevent assigning an activity to a user on a record he has no access to. Technical note: before odoo/odoo#149965, activities scheduled manually were created with the flag "automated" set to True and when this flag is set the check that ensures that the user has access to the record is skipped. With odoo/odoo#149965, as the "automated" flag is set to False when scheduling activities manually, an error is trigerred if the user has no access to the underlying record. Here we always skip that test and mark the method as deprecated because the user can see the activity no matter the access he has on the underlying record. Task-3598836
The spreadsheet module has been updated to the latest version (17.0.13) with several important fixes and enhancements. This update addresses data filter migration issues, improves keyboard navigation when working with cell ranges, adds a new INT function for calculations, and optimizes performance. These changes ensure spreadsheets work more reliably and provide users with better functionality.
Original PR description
### Contains the following commits: https://github.com/odoo/o-spreadsheet/commit/ed67be7d1 [REL] 17.0.13 https://github.com/odoo/o-spreadsheet/commit/895edf0f0 [FIX] Migration: Propagate datafilter correction on every version Task: 3728009 https://github.com/odoo/o-spreadsheet/commit/b16809114 [FIX] migration: Fix migration steps Task: 3771209 https://github.com/odoo/o-spreadsheet/commit/fd9e140a7 [IMP] cssPropertiesToCss: don't use `Object.entries()` https://github.com/odoo/o-spreadsheet/commit/df828b3d1 [FIX] selection_inputs_manager: arrow keys when broken ranges https://github.com/odoo/o-spreadsheet/commit/799b7575e [IMP] formula: add INT function Task: 3756478
This update fixes a reliability issue in the messaging system where channel subscriptions weren't being properly updated when users quickly joined and left channels. The fix replaces a complex, delayed update method with a more direct approach that immediately tracks channel additions and removals, making the system more responsive and dependable.
Original PR description
Before this PR, the `bus subscription is refreshed when channel is left` test was sometimes failing. This actually reveals a real issue: if a channel is joined a leave very quickly, the bus subscription is not updated. This occurs because we rely on the last subscription made and the one that should be made to detect if channels differ. Since the `updateBusSubscription` method is debounced, we can miss information. This PR replaces the complicated `updateBusSubscription` method by a `onAdd/onDelete`. This is much more reliable and more efficient since there is no need to walk through every channel to detect changes. This PR also remove a test that was redundant that the failing one. fixes runbot-55292,57645,56232
This fix resolves an issue where kanban views with progress bars were displaying incorrect aggregate values (showing 0) after filtering records. The problem occurred when grouping by date, datetime, or many-to-one fields. The fix ensures aggregate values are correctly calculated and displayed in filtered kanban views.
Original PR description
Before this commit, in a kanban view grouped by a date(time) field, with progressbars and an aggregate field, after clicking on a bar to filter records, the aggregate value was always 0. This was due…
Before this commit, in a kanban view grouped by a date(time) field, with progressbars and an aggregate field, after clicking on a bar to filter records, the aggregate value was always 0. This was due to a mismatch when trying to find the value of the aggregate in the web_read_group result, as when grouped by a date or datetime field, the key is `fieldname:granularity`, and we were looking for the fieldname only. This commit fixes the issue. It also fixes the mocked version of read_progress_bar in the MockServer, s.t. we can correctly reproduce the scenario in tests, as in the previous version, keys in the returned object weren't computed the same way as in the real read_progress_bar (e.g., "14,Mitchel", instead of "Mitchel"). A similar fix has been done in [1]. This allows us to introduce a test when grouped by many2one, which doesn't work as of 17.0. [1] fd759f18d056844c486a68d0c394df5a03e789f0 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#155524
This update fixes a bug in the Point of Sale module where tax amounts were being incorrectly calculated multiple times when taxes had multiple distribution lines. The fix ensures that tax base amounts are counted only once per tax, resulting in accurate financial reporting and correct tax calculations in sales details reports.
Original PR description
Before this commit, if a tax had multiple distribution lines, the base amount was calculated for each line. This resulted in the base amount being multiplied by the number of distribution lines. This issue has been resolved by ensuring the base amount is counted only once for each tax and line. opw-3696800 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154783 Forward-Port-Of: odoo/odoo#152823