Tuesday, February 27, 2024
21 changes · saas-17.1
Resolved issues and error corrections
Payroll now only shows employees from the companies currently selected when regenerating work entries. This prevents users from accidentally choosing employees from other companies and keeps payroll actions aligned with the active company context.
Original PR description
In Payroll, when you click on regenerate work entry, you could then select employees from another company than the current companies selected which is not a wanted behavior. Now, the only employees shown are the ones from the companies selected in the environment.
This update streamlines the process of creating Sales Order Lines (SOLs) when creating them on the fly within project mapping. Previously, a form would open unnecessarily when a SOL name matched an existing product. This change eliminates the form opening, resulting in a quicker and more efficient creation process for SOLs, particularly when mapping employees to projects.
Original PR description
When creating a SOL on the fly, if the name entered matches an existing service product, selecting 'Create' should create the SOL without opening a form view modal. We do that by fetching the `default_name` from the context. However, from the Many2one field, since the name will already be present in the create vals, in will not be in the default values in the context. To fix this, this PR adds a new context key when calling `name_create` that allows us to retrieve the name from the `default_get` Enterprise: https://github.com/odoo/enterprise/pull/53833 Task-3553151 Forward-Port-Of: odoo/odoo#155191 Forward-Port-Of: odoo/odoo#142720
This pull request addresses two issues related to the knowledge editor's delete functionality. It now correctly deletes emojis and resolves the problem of invisible whitespace characters being deleted one at a time when using the delete forward command. This ensures a more reliable and user-friendly editing experience.
Original PR description
Issue 1 : ======= Delete forward on emoji dosn't work ### Steps to reproduce the issue: - Go to knowledge - Add an emoji and put the cursor on the left of the emoji and delete forward - only half of…
Issue 1 : ======= Delete forward on emoji dosn't work ### Steps to reproduce the issue: - Go to knowledge - Add an emoji and put the cursor on the left of the emoji and delete forward - only half of the emoji gets deleted ### Solution: We need to get the correct offset and correct charsize because not all of the items of the sliced string had char size equal to `1`. So we slice the string and get the offset corrosponding to the target offset and of course we need to handle the directions differently Issue 2: ====== Invisible whitespaces at the start gets deleted by one by one with delete forward. ### Steps to reproduce the issue: - Go to knowledge - Add any text - Make sure you have an empty line before it - Change the html of the added text and add some spaces at the start (this is the easiest way to reproduce it) - Go to the line before and keep deleting forward - The invisible spaces will be deleted one by one. ### Solution: When the selection is at the start of the node and it contains whitespaces, `parentState` whill have undefined node when deleting forward since we are at the first leaf. We need to keep deleting forward with the text node instead of parentElement because calling delete forward with the parent will do a 1 delete backward call from the specified offset and it will not propagate forward anymore. task-3629743 Forward-Port-Of: odoo/odoo#155378 Forward-Port-Of: odoo/odoo#150224
This update fixes a printing issue on Android devices related to the point-of-sale system. Previously, printed receipts were incorrectly removed, causing blank pages. The change ensures receipts are retained until the next print, resolving the problem and improving the user experience.
Original PR description
Prior to this commit, the receipt element was cloned and appended to the render-container for web printing, then deleted after print callback. This approach failed on Android, leading to an empty page, as the cloned element was removed before printing. This commit resolves the issue by retaining the cloned element until the next clone addition to the container, at which point existing elements are removed. opw-3755682 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#154777
This update corrects a potential issue where a translation typo fix could incorrectly reuse translations for unrelated terms. The change prevents this by checking if a similar term already exists before applying the fix, ensuring translations are accurate and avoid unintended consequences. This improves the reliability of our translation system.
Original PR description
for model_terms translated fields, for sake of typo fixing feature if a term is removed after write its translations might be reused by another close term which has totally different meaning this fix removes the typo fixing if the matched closest term exists before write 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#155476 Forward-Port-Of: odoo/odoo#154868
This update fixes an issue where event attendees who had canceled registrations were still appearing in the downloaded ticket PDFs. The change ensures that only registered and attended attendees are included, providing accurate ticket information for customers. This improves the user experience and reduces potential confusion.
Original PR description
Steps to reproduce the issue: - Install `website_event_sale` module - Create an event with a paid ticket - Go to website and register for the event for 2 persons - Go to the cart and remove one of the attendees - Proceed to checkout and confirm the order - On the checkout confirmation page, click on `Download tickets` - Open the downloaded PDF file Issue: Two tickets are displayed in the PDF file. Cause: Not filtering out the canceled attendees. Solution: Display tickets only for `Attended` and `Registred` attendees. opw-3718542 Forward-Port-Of: odoo/odoo#155125
This update enhances the web editor's ability to copy translations from multiple related records to a single record. Previously, it could only copy from one view at a time. This change allows for more efficient translation management, particularly when dealing with complex, inherited views like those used in reports.
Original PR description
Before this commit, the function `_copy_field_terms_translations` allowed to copy translations from one record to another. After this commit, it can copy from a record set to a single record. opw-3746922 opw-3724701 opw-3719157 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#155346 Forward-Port-Of: odoo/odoo#154540
This update resolves an issue where background videos wouldn't display properly in Right-to-Left languages like Persian or Arabic. The fix adjusts how video positioning is calculated to account for language direction, ensuring videos are displayed correctly across all supported languages.
Original PR description
Background videos' dimensions are adapted according to the screen size. This could lead to the video not showing in RTL languages, because the computed position was coded for LTR languages. This commit replaces the `left` and `top` CSS properties with logical properties to account for language directions. Steps to reproduce: 1. Add a Cover snippet 2. Add a video to it (use any sample videos from the selector) 3. Save > Check mobile view, video shows fine. 4. Add a Right to Left language to the website (Persian, Arabic...) 5. Switch to the RTL language > Check mobile view => video doesn't display properly. opw-3688660 Forward-Port-Of: odoo/odoo#154247
This update fixes an issue where sitemaps generated for multilingual websites were incorrectly translated into the website's secondary language. Now, sitemaps always reflect the default language of the website, ensuring consistent and accurate indexing for search engines.
Original PR description
This commit prevents the sitemap from being translated when a website is available in multiple languages. The sitemap should always be in the default language of the website. Steps to reproduce the bug: - Set up a website in English and French - Navigate to the French version of the website (/fr) - Access the sitemap (/sitemap.xml) => The sitemap appears in French but should be in English. Note: There is a cache for the sitemap. It is not regenerated if it has been generated within the last 12 hours (see `SITEMAP_CACHE_TIME`). task-3743970 Forward-Port-Of: odoo/odoo#154993
This update fixes an issue where the web editor was incorrectly carrying attributes from list (`<li>`) elements. The change ensures that only the attributes of paragraph elements are passed, resulting in more consistent and predictable behavior for the editor. This improves the overall reliability of the web editor.
Original PR description
Commit [1](https://github.com/odoo/odoo/commit/fcb3846226007c31f60aecad3a92fe643540780e) changed the behavior of `setTagName` to only carry the attributes of paragraph related elements. Ideally, this should not carry the attributes of `<li>` element only. [1]: fcb3846 task-3764154 Forward-Port-Of: odoo/odoo#155151
Miscellaneous changes
In Chile, "Untaxed Amount" has its own special term that isn't used in Spain/LATAM spanish: ~~"Total neto"~~ "Monto neto" [as for v17 since customer changed their mind]. Therefore everywhere that it appears (in a .pot file), we ensure that the es_CL localization uses this term. Also untranslated terms from the es_CL.po files that were edited have been removed since they add no benefit and make it harder to read the file (we expect to only add terms to the file, not translate every term for C
Original PR description
In Chile, "Untaxed Amount" has its own special term that isn't used in Spain/LATAM spanish: ~~"Total neto"~~ "Monto neto" [as for v17 since customer changed their mind]. Therefore everywhere that it appears (in a .pot file), we ensure that the es_CL localization uses this term. Also untranslated terms from the es_CL.po files that were edited have been removed since they add no benefit and make it harder to read the file (we expect to only add terms to the file, not translate every term for Chile). opw-3670297 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#150683 Forward-Port-Of: odoo/odoo#150141
When a message is posted, the server sends a `mail.record/insert` notification to update the related channel pin state. In order to recognize the thread, the client needs its id and its model. Currently, only the id is passed so the thread pin state is not updated. This PR adds the model to the notification. Forward-Port-Of: odoo/odoo#155150
Original PR description
When a message is posted, the server sends a `mail.record/insert` notification to update the related channel pin state. In order to recognize the thread, the client needs its id and its model. Currently, only the id is passed so the thread pin state is not updated. This PR adds the model to the notification. Forward-Port-Of: odoo/odoo#155150
In Chile, "Untaxed Amount" has its own special term that isn't used in Spain/LATAM spanish: ~~"Total neto"~~ "Monto neto" [as for v17 since customer changed their mind]. Therefore everywhere that it appears (in a .pot file), we ensure that the es_CL localization uses this term. Also untranslated terms from the es_CL.po files that were edited have been removed since they add no benefit and make it harder to read the file (we expect to only add terms to the file, not translate every term for Ch
Original PR description
In Chile, "Untaxed Amount" has its own special term that isn't used in Spain/LATAM spanish: ~~"Total neto"~~ "Monto neto" [as for v17 since customer changed their mind]. Therefore everywhere that it appears (in a .pot file), we ensure that the es_CL localization uses this term. Also untranslated terms from the es_CL.po files that were edited have been removed since they add no benefit and make it harder to read the file (we expect to only add terms to the file, not translate every term for Chile). opw-3670297 Forward-Port-Of: odoo/enterprise#54939 Forward-Port-Of: odoo/enterprise#54712
TaskID: 3762935 Forward-Port-Of: odoo/enterprise#57365
Original PR description
TaskID: 3762935 Forward-Port-Of: odoo/enterprise#57365
When creating SOLs on the fly for tickets, only the "Create and Edit" option is available. This PR enables the quick create for SOLs on tickets. Community: https://github.com/odoo/odoo/pull/142720 Task-3553151 Forward-Port-Of: odoo/enterprise#57344 Forward-Port-Of: odoo/enterprise#53833
Original PR description
When creating SOLs on the fly for tickets, only the "Create and Edit" option is available. This PR enables the quick create for SOLs on tickets. Community: https://github.com/odoo/odoo/pull/142720 Task-3553151 Forward-Port-Of: odoo/enterprise#57344 Forward-Port-Of: odoo/enterprise#53833
…fails Create a reconciliation model as follows: - Type: Rule to match invoices/bills - Match Invoice/bill with Label: False - Match Invoice/bill with Note: False - Match Invoice/bill with Reference: False - Partner is set: False Create an invoice for $900 and confirm it. Create a bank statement line for $900, with no partner set. Go to reconcile the bank statement line. Issue: The invoice is not automatically suggested This occurs because there is no check for the exact amount as
Original PR description
…fails Create a reconciliation model as follows: - Type: Rule to match invoices/bills - Match Invoice/bill with Label: False - Match Invoice/bill with Note: False - Match Invoice/bill with Reference: False - Partner is set: False Create an invoice for $900 and confirm it. Create a bank statement line for $900, with no partner set. Go to reconcile the bank statement line. Issue: The invoice is not automatically suggested This occurs because there is no check for the exact amount as in previous version opw-3648260 X-original-commit: 2de5df7 Forward-Port-Of: odoo/enterprise#57143
The default filter on a view was not enabled when inserting said view in Knowledge. How to reproduce: - Open a view with a default filter (i.e. `CRM > My Pipeline`) - Insert it in Knowledge Current Behavior: - The default filter is not enabled in the embedded view in Knowledge. Expected Behavior: - Every active filter should be active in the embedded view after being inserted, no matter if it was a default filter or not. Technical explanation: `_activateDefaultSearchItems` is ac
Original PR description
The default filter on a view was not enabled when inserting said view in Knowledge. How to reproduce: - Open a view with a default filter (i.e. `CRM > My Pipeline`) - Insert it in Knowledge Current Behavior: - The default filter is not enabled in the embedded view in Knowledge. Expected Behavior: - Every active filter should be active in the embedded view after being inserted, no matter if it was a default filter or not. Technical explanation: `_activateDefaultSearchItems` is actually a toggler, and in the specific case where a view does not have a default favorite in knowledge, and was inserted with a default filter enabled, the method would toggle it and disable it. task-3742241 Forward-Port-Of: odoo/enterprise#56410
**Steps** to reproduce: - Go to to the Helpdesk app - Under the "Customer Care" team, click on the number of open tickets (should be 6 if the runbot instance isn't modified) - While in the kanban view, remove the "Open" filter; notice how the view doesn't update to reflect the new query ### Investigation: - the domain associated with the action `'stage_id.fold', '=', True` filters out the tickets within folded stages (Solved, Canceled) opw-3719664 Forward-Port-Of: odoo/enterprise#5731
Original PR description
**Steps** to reproduce: - Go to to the Helpdesk app - Under the "Customer Care" team, click on the number of open tickets (should be 6 if the runbot instance isn't modified) - While in the kanban view, remove the "Open" filter; notice how the view doesn't update to reflect the new query ### Investigation: - the domain associated with the action `'stage_id.fold', '=', True` filters out the tickets within folded stages (Solved, Canceled) opw-3719664 Forward-Port-Of: odoo/enterprise#57315 Forward-Port-Of: odoo/enterprise#56453
Steps to reproduce the issue: - Install `appointment_crm` module - Go to Calendar > Online Appointments - Open `Technical Demo` (for test purpose) - Go to `Options` tab and enable `Create Opportunities` - Click on `Preview` button - Schedule an appointment - Create another user that have only `Appointment / Administrator` access rights - Log in with the new user - Go to Calendar > Online Appointments - Open `Technical Demo` Issue: saas-16.2: Number of lead
Original PR description
Steps to reproduce the issue: - Install `appointment_crm` module - Go to Calendar > Online Appointments - Open `Technical Demo` (for test purpose) - Go to `Options` tab and enable `Create…
Steps to reproduce the issue:
- Install `appointment_crm` module
- Go to Calendar > Online Appointments
- Open `Technical Demo` (for test purpose)
- Go to `Options` tab and enable `Create Opportunities`
- Click on `Preview` button
- Schedule an appointment
- Create another user that have only `Appointment / Administrator` access rights
- Log in with the new user
- Go to Calendar > Online Appointments
- Open `Technical Demo`
Issue:
saas-16.2: Number of lead not displayed in stat button and raise an
access error when clicking on it. saas-16.3+: Access error is raised when trying to edit the appointment.
Cause:
Trying to display a stat button that exploit a field (`lead_count`)
that has a group declared in python (`group_sale_salesman`) while user
not being part of the group and group not declared on the stat button.
Solution:
Don't display button if not leads linked to the appointment.
Add group `group_sale_salesman` on stat button so it is not displayed
if user is not part of the group.
opw-3751444
Forward-Port-Of: odoo/enterprise#57488
Forward-Port-Of: odoo/enterprise#57299Have some translations set on a view used by a report. Edit that report with studio. Print the report with a specific language. Before this commit, the terms that were translated before the edition, were not translated after edition. Since commit[1], the whole combined arch of a view is used to make a final inheriting view containing the changes. Unfortunately, translations were in the blind spot of that commit, so that there weren't lost, but simply not copied on the studio view. Af
Original PR description
Have some translations set on a view used by a report. Edit that report with studio. Print the report with a specific language. Before this commit, the terms that were translated before the edition, were not translated after edition. Since commit[1], the whole combined arch of a view is used to make a final inheriting view containing the changes. Unfortunately, translations were in the blind spot of that commit, so that there weren't lost, but simply not copied on the studio view. After this commit, this works as expected as we copy all terms for all languages for all views in the inheritance chain onto the studio view. opw-3746922 opw-3724701 opw-3719157 [1]: b7d0d3034d53cdab831f42f8b37a14cf50f3720e Forward-Port-Of: odoo/enterprise#57490 Forward-Port-Of: odoo/enterprise#56781
This commit(https://github.com/odoo/enterprise/commit/26fc172004d880f5e941c78cbdc18a29d2db5134) introduced a bug. This bug is caused when several lines that should be grouped in one line have different warnings. Before this fix, it generates several grouped lines instead of one. This is causing a javascript issue where the generic unique line id is duplicated (and it shouln't be the case). To fix it, this commit removes the group by in the `_build_query_group` function and accepts null val
Original PR description
This commit(https://github.com/odoo/enterprise/commit/26fc172004d880f5e941c78cbdc18a29d2db5134) introduced a bug. This bug is caused when several lines that should be grouped in one line have different warnings. Before this fix, it generates several grouped lines instead of one. This is causing a javascript issue where the generic unique line id is duplicated (and it shouln't be the case). To fix it, this commit removes the group by in the `_build_query_group` function and accepts null value in the `ARRAY_AGG`. When the code is checking if we have warnings, we remove the null values to only keep ids. opw-3751773 Forward-Port-Of: odoo/enterprise#57527