Friday, August 2, 2024
39 changes · saas-17.4
Resolved issues and error corrections
Restaurant floor plan tables now resize within consistent limits instead of being restricted by their current size. This makes editing table layouts more predictable for point-of-sale restaurant users.
Original PR description
Limits of the table size shouldn't be dependent on its current size. **Before:** https://github.com/user-attachments/assets/8f9864c3-4857-4dfe-be48-046461a26764 **After:** https://github.com/user-attachments/assets/119548bd-8428-4b85-b5cc-5cc8da2b98b9
This change restores the previous behavior in the website configurator tour to prevent an error from occurring. The tour may still not fully complete, but this reduces disruption while a more complete fix is prepared.
Original PR description
This commit reverts the JQuery replacement of the configurator tour [1] until a better solution is found. Note that this does not make the whole tour actually work. [1]: https://github.com/odoo/odoo/commit/cfaf6d36908f8f7d700b9bc589291f50fd9401b0#diff-3ec0693f8de5ef84844fffbe674e6c13c279b79170c167f0ff2979f6bcd19358L8-L31
The time off dashboard no longer shows a delete option when creating a new request. This prevents users from triggering an error by clicking a button that should not be available yet.
Original PR description
This commit reintroduces a condition that was accidentally removed in https://github.com/odoo/odoo/pull/169391 This removal made the "delete" button appear on new records, leading to a traceback upon click.
Code cleanup and technical improvements
A shared helper for turning field paths into readable message text has been moved from WhatsApp into the Mail module. This makes the capability available to other messaging features without changing how end users work today.
Original PR description
Resolving a field path to a usable string is globally useful for dynamic messages that cannot rely on qweb to format their output. The Model method introduced in whatsapp to do this is moved to mail so it can be used in other modules. task-3495279
Miscellaneous changes
l10n_in_* = l10n_in_edi,l10n_in_edi_ewaybill In the context of Indian EDI and e-waybill regulations, the cancellation service fails if more than 24 hours have passed since the document was submitted. However, these documents can still be canceled through other channels. To ensure users can cancel their invoices in Odoo even if the initial cancellation request fails, we've implemented a new feature. A 'Force Cancel' button has been added to the EDI cancellation flow. If a cancellation
Original PR description
l10n_in_* = l10n_in_edi,l10n_in_edi_ewaybill In the context of Indian EDI and e-waybill regulations, the cancellation service fails if more than 24 hours have passed since the document was submitted. However, these documents can still be canceled through other channels. To ensure users can cancel their invoices in Odoo even if the initial cancellation request fails, we've implemented a new feature. A 'Force Cancel' button has been added to the EDI cancellation flow. If a cancellation request fails, the user can click this button to cancel the invoice immediately. Additionally, we have provided a hook that can be inherited to specify whether this force-cancellation option is applicable to each invoice. **task**-3997285 Forward-Port-Of: odoo/odoo#175426 Forward-Port-Of: odoo/odoo#170257
The Gevent worker has specific memory requirements. These workers require more cursors than regular HTTP workers, which can be managed using the `--db_maxconn_gevent` flag. However, increasing the number of cursors also increases memory usage. Therefore, it is beneficial to introduce options to customize memory limits specifically for gevent workers. This PR introduces `--limit-memory-soft-gevent` and `--limit-memory- hard-gevent` options to customize memory limits for gevent workers. task
Original PR description
The Gevent worker has specific memory requirements. These workers require more cursors than regular HTTP workers, which can be managed using the `--db_maxconn_gevent` flag. However, increasing the number of cursors also increases memory usage. Therefore, it is beneficial to introduce options to customize memory limits specifically for gevent workers. This PR introduces `--limit-memory-soft-gevent` and `--limit-memory- hard-gevent` options to customize memory limits for gevent workers. task-4045580 Forward-Port-Of: odoo/odoo#172604
This is a backport of #150175 This commit will add the basic package for the Cyprus localization. - Default Settings - CAO - Taxes - Fiscal positions - Tax Report Task: 3640438 Related: odoo/enterprise#54620 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174608 Forward-Port-Of: odoo/odoo#161488
Original PR description
This is a backport of #150175 This commit will add the basic package for the Cyprus localization. - Default Settings - CAO - Taxes - Fiscal positions - Tax Report Task: 3640438 Related: odoo/enterprise#54620 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174608 Forward-Port-Of: odoo/odoo#161488
On Bank/Cash journals, there is some inconsistencies between Balance value and what we see in GL when opening it. This is due to a specific configuration when the default account of the journal is used as outstanding payments/receipts account of the journal. Steps: - Create a bank journal and set the default account to be the same as the outstanding payments account - Create a customer payment in this journal - Go to Accounting Dashboard -> The payment value is not taken into account in the
Original PR description
On Bank/Cash journals, there is some inconsistencies between Balance value and what we see in GL when opening it. This is due to a specific configuration when the default account of the journal is used as outstanding payments/receipts account of the journal. Steps: - Create a bank journal and set the default account to be the same as the outstanding payments account - Create a customer payment in this journal - Go to Accounting Dashboard -> The payment value is not taken into account in the Balance value opw-3882204 Forward-Port-Of: odoo/odoo#173338
Steps to reproduce: - In website edit mode. - Click on the header. - Select the "Vertical" template in the "Header" options. - Drag and drop a "Search" block from the inner content section into the header. - Click on the header. - Select "On Hover" for the "Sub Menus" option of the "Navbar". - Save the page. - Enter a letter (e.g., "a") in the search input. - Click outside the page to lose the focus on the input. - Hover over the search results with the mouse. - Traceback: "Cannot r
Original PR description
Steps to reproduce: - In website edit mode. - Click on the header. - Select the "Vertical" template in the "Header" options. - Drag and drop a "Search" block from the inner content section into the header. - Click on the header. - Select "On Hover" for the "Sub Menus" option of the "Navbar". - Save the page. - Enter a letter (e.g., "a") in the search input. - Click outside the page to lose the focus on the input. - Hover over the search results with the mouse. - Traceback: "Cannot read properties of null (reading 'blur')" The bug occurred after commit [1], which didn't account for a dropdown missing a "dropdown-toggle" element. [1]: https://github.com/odoo/odoo/commit/0f7cbf2969b3c4b6c496e5b54814c4a9b3081af4 opw-4012850 Forward-Port-Of: odoo/odoo#175309
[FIX] project: add a validation to _onchange_task_company Steps to reproduce the bug: 1. Activate developer mode. 2. Create a project 'project x' and link it to a company. 3. Create a task for 'project x'. 4. Set the default project for tasks to 'project x'. 5. Create a new task and check the default project. The default project is not set correctly. This issue occurs due to how default values are assigned. Initially, a record is created, and then the default values are populated, whic
Original PR description
[FIX] project: add a validation to _onchange_task_company Steps to reproduce the bug: 1. Activate developer mode. 2. Create a project 'project x' and link it to a company. 3. Create a task for 'project x'. 4. Set the default project for tasks to 'project x'. 5. Create a new task and check the default project. The default project is not set correctly. This issue occurs due to how default values are assigned. Initially, a record is created, and then the default values are populated, which triggers the onchange methods. By default `company_id` is not set even when the task is affiliated with a project witch means when `_onchange_task_company` is triggered, the value of `self.company_id` is False, which inturn sets `self.project_id` to False. Reference: opw-400472 Forward-Port-Of: odoo/odoo#173625
Before this commit, when message author is too long, it displays a horizontal scrollbar in a chat window. Steps to reproduce: - Rename Demo User with a very long name - As Mitchell Admin, open a chat window DM with former Demo User There was a `text-truncate` to manage overflow, but this didn't work and instead put an implicit `overflow-auto` which causes this horizontal scrollbar as a result. `text-truncate` is actually not good even if it worked, because this would mean the name i
Original PR description
Before this commit, when message author is too long, it displays a horizontal scrollbar in a chat window. Steps to reproduce: - Rename Demo User with a very long name - As Mitchell Admin, open a chat…
Before this commit, when message author is too long, it displays a horizontal scrollbar in a chat window. Steps to reproduce: - Rename Demo User with a very long name - As Mitchell Admin, open a chat window DM with former Demo User There was a `text-truncate` to manage overflow, but this didn't work and instead put an implicit `overflow-auto` which causes this horizontal scrollbar as a result. `text-truncate` is actually not good even if it worked, because this would mean the name is not fully visible. And adding a `title` with full name adds a floating UI elements, which is bothersome. We should not be afraid of default wrap behavior when the text is long. This commit fixes the issue by simply removing `text-truncate`, which makes the text wrap when it's too long. Before / After   Forward-Port-Of: odoo/odoo#175056 Forward-Port-Of: odoo/odoo#174954
### [FIX] hr_recruitment: use context lang for partner creation When partner is created from Applicant's email_from inverse, in a situation when job application is submitted, we should use context lang for him. Useful when submiting application for multi-lang website and becuase partner's lang is used to send appropriate translations of recruitment templates. ### [Reproduce Original Error] - Install website,hr_recruitment - Set couple of languages on the website (e.g., en_US as def
Original PR description
### [FIX] hr_recruitment: use context lang for partner creation When partner is created from Applicant's email_from inverse, in a situation when job application is submitted, we should use context lang for him. Useful when submiting application for multi-lang website and becuase partner's lang is used to send appropriate translations of recruitment templates. ### [Reproduce Original Error] - Install website,hr_recruitment - Set couple of languages on the website (e.g., en_US as default, es_MX as the second language). - In incognito, using non-default language, apply for some position (url: /es_MX/jobs ) - BUG: The email sent to the applicant is in the default language opw-3984176 Forward-Port-Of: odoo/odoo#173212
### Steps to reproduce: - Install the 'l10n_sa' module and switch to a saudi company - Install the Arabic language - Go in Accounting > Customers > Invoices and create a new one - Add an internal note with a list (using /) - Add a translation in arabic with the "EN" button - Click Preview - The points of the list appear in the middle of the page ### Cause: The lists are not adapted to be displayed from right to left. ### Solution: Add the option `dir="rtl"` in the span of the Arab
Original PR description
### Steps to reproduce: - Install the 'l10n_sa' module and switch to a saudi company - Install the Arabic language - Go in Accounting > Customers > Invoices and create a new one - Add an internal note with a list (using /) - Add a translation in arabic with the "EN" button - Click Preview - The points of the list appear in the middle of the page ### Cause: The lists are not adapted to be displayed from right to left. ### Solution: Add the option `dir="rtl"` in the span of the Arabic text to make the lists appear the right way. opw-4043175 Forward-Port-Of: odoo/odoo#175333 Forward-Port-Of: odoo/odoo#174541
Steps to reproduce the bug: - Create a maintenance request: - repeat_type: forever, - Maintenance Type: preventive, - recurring_maintenance: True, - Move this request to the 'done' stage. Problem: A new maintenance request is duplicated but with the same last stage of this maintenance request opw-4060845 Forward-Port-Of: odoo/odoo#174411
Original PR description
Steps to reproduce the bug: - Create a maintenance request: - repeat_type: forever, - Maintenance Type: preventive, - recurring_maintenance: True, - Move this request to the 'done' stage. Problem: A new maintenance request is duplicated but with the same last stage of this maintenance request opw-4060845 Forward-Port-Of: odoo/odoo#174411
### To merge in 17.0 to master -.1 Bugs: ----- 1. both: -go to time off and click on "New Allocation Request" -change the allocation type to any other 2.a -> the number of days or hours is set to 0 where it should be 1 day or 8 hours/ressource callendar of the employee 2.b -> if you have selected an allocation where the unit is "half_day" or the number of days and the title doesn't corresponds to each other First introduction: ------------------- task: 3084
Original PR description
### To merge in 17.0 to master -.1 Bugs: ----- 1. both: -go to time off and click on "New Allocation Request" -change the allocation type to any other 2.a -> the number of days or hours is set to 0…
### To merge in 17.0 to master -.1
Bugs:
-----
1.
both: -go to time off and click on "New Allocation Request"
-change the allocation type to any other
2.a
-> the number of days or hours is set to 0 where it should be 1 day
or 8 hours/ressource callendar of the employee
2.b
-> if you have selected an allocation where the unit is "half_day" or
the number of days and the title doesn't corresponds to each other
First introduction:
-------------------
task: 3084232
PR: https://github.com/odoo/odoo/pull/116472
Reasons:
--------
a. We where using the fields where were made for the front-end only
and where not computed properly and thus resetting the value to 0
when changing the allocation type
b. The title was using the unit of the allocation type in db and not
Labels or the unit of the allocation duration
Fixes:
------
Not use the display fields for the computation of the title and make labels corresponding to the actual unit of the allocation duration
task-3852940
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#161035Added spacing between label and field tags in setting --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175036 Forward-Port-Of: odoo/odoo#174972
Original PR description
Added spacing between label and field tags in setting --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175036 Forward-Port-Of: odoo/odoo#174972
In no-demo tests, there is no link tracker, so the expected length is not max+1 but 3. Follow up of e5b88d3a Task-3502174 Forward-Port-Of: odoo/odoo#174391 Forward-Port-Of: odoo/odoo#173303
Original PR description
In no-demo tests, there is no link tracker, so the expected length is not max+1 but 3. Follow up of e5b88d3a Task-3502174 Forward-Port-Of: odoo/odoo#174391 Forward-Port-Of: odoo/odoo#173303
Current behavior before PR: -Resized column widths were lost when moving the top row down or the second row up. -This happened because the new widths after resizing were only applied to the `<td>` elements of the first `<tr>.` Desired behavior after PR is merged: -When moving the top row down or second row up, column widths are copied from the first row to the second row. -Tables don't lose resizing after moving the first row up or down. task-4019025 --- I confirm I hav
Original PR description
Current behavior before PR: -Resized column widths were lost when moving the top row down or the second row up. -This happened because the new widths after resizing were only applied to the `<td>` elements of the first `<tr>.` Desired behavior after PR is merged: -When moving the top row down or second row up, column widths are copied from the first row to the second row. -Tables don't lose resizing after moving the first row up or down. task-4019025 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174429 Forward-Port-Of: odoo/odoo#171695
The pages/links were changed in the documentation. Update the documentation buttons in the settings to match. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175308 Forward-Port-Of: odoo/odoo#175135
Original PR description
The pages/links were changed in the documentation. Update the documentation buttons in the settings to match. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175308 Forward-Port-Of: odoo/odoo#175135
### Steps to reproduce: - In the settings enable: - Multi-Step Routes - Batch Transfers > Wave Transfers - Inventory > operations > Transfers > Internal Transfer - Create a transfer for 10 units of a product P and mark as to do. - Set the quantity of P to 5 units on the move. - Go back to the list view of internal transfers - Select the box of the internal transfer linked to your partial move - Click on the wheel Action and Add to wave > add to a new wave transfer - Select your pic
Original PR description
### Steps to reproduce: - In the settings enable: - Multi-Step Routes - Batch Transfers > Wave Transfers - Inventory > operations > Transfers > Internal Transfer - Create a transfer for 10 units of a…
### Steps to reproduce: - In the settings enable: - Multi-Step Routes - Batch Transfers > Wave Transfers - Inventory > operations > Transfers > Internal Transfer - Create a transfer for 10 units of a product P and mark as to do. - Set the quantity of P to 5 units on the move. - Go back to the list view of internal transfers - Select the box of the internal transfer linked to your partial move - Click on the wheel Action and Add to wave > add to a new wave transfer - Select your picking to add to the operations and Add to wave #### > A new picking is created and added to the wave transfer while your old picking is emptied and displayed as a draft picking. ### Cause of the issue: During the call of the `_add_to_wave` method, only the picking whose moves quantities completely match the demands are linked to the wave transfer because of these lines: https://github.com/odoo/odoo/blob/4ac6722aec4a638882c41f1df563da6f051849ad/addons/stock_picking_batch/models/stock_move_line.py#L58-L66 In the rest of the call, a new picking linked to all the partially assigned moves of our picking will be created in the wave transfer: https://github.com/odoo/odoo/blob/4ac6722aec4a638882c41f1df563da6f051849ad/addons/stock_picking_batch/models/stock_move_line.py#L68-L89 This action unlinks them from our original picking. However, they will not be reassigned to our original picking during the `action_confirm` of the wave transfer since the original picking was not linked to the batch. This leaves the picking empty recomputing its state to be 'draft'. ### Fix: The lines that prevent the original picking from being linked to the wave have been introduced by commit 8d0e49c in order to prevent the picking from being linked if at least one of its moves is not be added to the wave transfer (i.e. when the associated quantity is 0). Thus, the picking should still be linked to the wave transfer if all its moves are partially assigned. opw-3985566 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#169987
*: hr_holidays, mail. Before this PR, the main tab updated the user presence every minute. As a result of this update, it would also receive the IM statuses it was interested in. However, this approach puts significant pressure on the gevent worker, especially when it handles more databases than the registry can hold. To address this issue, this PR improves the way presences are updated: - Presences are sent and broadcasted when they change (e.g. away => online). - When a websocket di
Original PR description
*: hr_holidays, mail. Before this PR, the main tab updated the user presence every minute. As a result of this update, it would also receive the IM statuses it was interested in. However, this approach puts significant pressure on the gevent worker, especially when it handles more databases than the registry can hold. To address this issue, this PR improves the way presences are updated: - Presences are sent and broadcasted when they change (e.g. away => online). - When a websocket disconnects, the user is considered disconnected. If other devices receive this notification, they will update the user presence immediately. These changes greatly reduce traffic caused by presence updates while keeping the IM statuses reliable. Forward-Port-Of: odoo/odoo#174814
Currently, when buying a gift card through the website and choosing the options to pick up in store and pay in store, the quantity set when settling the order is zero. Steps to reproduce (initial): ----------------------------- * Go to the **website** app * Select **configuration** > **Payment Providers** * Make sure `Pay in store` is published and enabled/or in test mode * Select **configuration** > **Shipping methods** * Make sure that a shipping method `Pick in store` is set up and p
Original PR description
Currently, when buying a gift card through the website and choosing the options to pick up in store and pay in store, the quantity set when settling the order is zero. Steps to reproduce (initial):…
Currently, when buying a gift card through the website and choosing the options to pick up in store and pay in store, the quantity set when settling the order is zero. Steps to reproduce (initial): ----------------------------- * Go to the **website** app * Select **configuration** > **Payment Providers** * Make sure `Pay in store` is published and enabled/or in test mode * Select **configuration** > **Shipping methods** * Make sure that a shipping method `Pick in store` is set up and published for your shop * Now make an order on the website for a gift card and any storable product * Choose the options to pick and pay in store * Go to the **Point of sale** app * Open shop session * Settle the order just created > Observation: The quantity for the gift card is 0 Steps to reproduce (alternative): --------------------------------- * Go to **Sale** App * Create a quotation for a gift card and any storable product * Save the quotation (not confirm) * Go to the **Point of sale** app * Open shop session * Settle the order just created Why the fix: ------------ The issue is not specific to the gift card product, it affects all `'service'` products. https://github.com/odoo/odoo/blob/7be2770f2a8dc26f7aa0c539b878b258e94592c8/addons/pos_sale/static/src/js/models.js#L85-L91 We notice that, if the order was paid instead of choosing the option to pay in store, the quantity on the pos order when settling it is 1. This is because the order not yet paid is still considered as a quotation. While if it is paid through the website it is considered as a sale order and thus `qty_to_invoice` has been computed. The same behaviors can be replicated through the **Sale** app. If a quotation is only saved we also have a quantity of 0. If it is confirmed, the quantity is 1. As discussed with DALA, using `qty_to_invoice` to set up the quantity in POS only makes sense when we deal with sale orders. When dealing with quotations we should set the quantities in the shop order depending on the quantities of the quotation. opw-4003749 Forward-Port-Of: odoo/odoo#175115 Forward-Port-Of: odoo/odoo#173146
In this commit https://github.com/odoo/odoo/pull/157503/commits/98368c363bf4cb9604948a52196c6a61985dc34d we added the bank account (if present) next to the communication printed on the invoice. This commit apply the same logic to the "send and print" template task: 4048178 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174859 Forward-Port-Of: odoo/odoo#172775
Original PR description
In this commit https://github.com/odoo/odoo/pull/157503/commits/98368c363bf4cb9604948a52196c6a61985dc34d we added the bank account (if present) next to the communication printed on the invoice. This commit apply the same logic to the "send and print" template task: 4048178 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#174859 Forward-Port-Of: odoo/odoo#172775
-Before this commit, when user has no expense at all and in mobile view of expense, it will display term "Or" alongside with "Snap pictures of your receipts..." -After this commit, remove term "Or". Description of the issue/feature this PR addresses: Current behavior before PR:  Desired behavior after PR is merged:  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#170460
Steps: - Install project. - Create a project and share that project. - Create a task and archive that task - Open project sharing view in mobile device. - Open that archive task. Issue: - State selection and archive badge is not displaying property in project sharing task form view. Cause: - Issue about this display was fix in backend but forgot to fix that in frontend, Fix: - Fix aligment issue by making state field display differently when task is archive in mobile like we di
Original PR description
Steps: - Install project. - Create a project and share that project. - Create a task and archive that task - Open project sharing view in mobile device. - Open that archive task. Issue: - State selection and archive badge is not displaying property in project sharing task form view. Cause: - Issue about this display was fix in backend but forgot to fix that in frontend, Fix: - Fix aligment issue by making state field display differently when task is archive in mobile like we did in backend similer to this pr https://github.com/odoo/odoo/pull/125532 task-3690532 Forward-Port-Of: odoo/odoo#149515
We filter `amba` subystem on serial devices to avoid having a fake scale being detected by Odoo. Problem was that Windows serial Python package does not have a subsystem attribute: we are now making the distinction between Linux and Windows IoT. Forward-Port-Of: odoo/odoo#175310
Original PR description
We filter `amba` subystem on serial devices to avoid having a fake scale being detected by Odoo. Problem was that Windows serial Python package does not have a subsystem attribute: we are now making the distinction between Linux and Windows IoT. Forward-Port-Of: odoo/odoo#175310
Description of the issues this commit addresses: As from the first of september 2024, Finland will raise 24% taxes to 25.5%, those rates are currently not available in Odoo. --- Desired behavior after this commit is merged: New 25.5% taxes are available in Finland OSS tax mapping is done for other countries to Finland The mapping from Finland to other countries is deliberately left for later as we don't want the mapping to 25.5% to tkae place before the 09/01/24. --- task-4010
Original PR description
Description of the issues this commit addresses: As from the first of september 2024, Finland will raise 24% taxes to 25.5%, those rates are currently not available in Odoo. --- Desired behavior after this commit is merged: New 25.5% taxes are available in Finland OSS tax mapping is done for other countries to Finland The mapping from Finland to other countries is deliberately left for later as we don't want the mapping to 25.5% to tkae place before the 09/01/24. --- task-4010731 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#175034 Forward-Port-Of: odoo/odoo#171414
At the moment, if any of the taxes for which l10n_ke_edi_oscu adds tax types doesn't exist, the upgrade to 17.0 fails, because l10n_ke_edi_oscu is set to auto_install. We don't want this upgrade to fail, especially given that this might affect customers who have no intention of using l10n_ke_edi_oscu. Solution: we simply don't set the tax type on those taxes which don't exist. If the user wants to use l10n_ke_edi_oscu properly, they should re-load the taxes via the Reload button in the Acc
Original PR description
At the moment, if any of the taxes for which l10n_ke_edi_oscu adds tax types doesn't exist, the upgrade to 17.0 fails, because l10n_ke_edi_oscu is set to auto_install. We don't want this upgrade to fail, especially given that this might affect customers who have no intention of using l10n_ke_edi_oscu. Solution: we simply don't set the tax type on those taxes which don't exist. If the user wants to use l10n_ke_edi_oscu properly, they should re-load the taxes via the Reload button in the Accounting settings. Forward-Port-Of: odoo/enterprise#67180
When creating an asset from sub company when both sub company and parent company are selected, the asset's depreciation moves have the parent company instead of the child one. Steps: - Have a parent company P and a child company C - With companies set to P + C, and company set to C - Create an asset and compute board - Click on "Posted Entries" smart button -> Entries have P as company instead of C opw-4059496 Forward-Port-Of: odoo/enterprise#67126
Original PR description
When creating an asset from sub company when both sub company and parent company are selected, the asset's depreciation moves have the parent company instead of the child one. Steps: - Have a parent company P and a child company C - With companies set to P + C, and company set to C - Create an asset and compute board - Click on "Posted Entries" smart button -> Entries have P as company instead of C opw-4059496 Forward-Port-Of: odoo/enterprise#67126
Steps to reproduce the bug: - Log in as Mitchell Admin. - Go to Work Centers > Assembly Line 1 > Select Mark Demo in the allowed employees. - Create a storable product P1 with BoM: - Components: Select any product. - Operation: OP1 in Assembly Line 1. - Create a manufacturing order to produce one unit of P1. - Try to start the work order with Mitchell from the form view. Problem: No user error is triggered when it should be. opw-4045726 Forward-Port-Of: odoo/enterprise#671
Original PR description
Steps to reproduce the bug:
- Log in as Mitchell Admin.
- Go to Work Centers > Assembly Line 1 > Select Mark Demo in the allowed employees.
- Create a storable product P1 with BoM:
- Components: Select any product.
- Operation: OP1 in Assembly Line 1.
- Create a manufacturing order to produce one unit of P1.
- Try to start the work order with Mitchell from the form view.
Problem:
No user error is triggered when it should be.
opw-4045726
Forward-Port-Of: odoo/enterprise#67194This commit is a backport of a04d119. The _compute_display_name needed more fields inside its depends to make it efficient. This commit handles this issue and updates the associated query counters. task-4061715 Forward-Port-Of: odoo/enterprise#67729
Original PR description
This commit is a backport of a04d119. The _compute_display_name needed more fields inside its depends to make it efficient. This commit handles this issue and updates the associated query counters. task-4061715 Forward-Port-Of: odoo/enterprise#67729
The product_pricing_ids didn't exclude archived pricelist which could lead to wrong price. While also displaying unnecessary data. opw-4053690 Forward-Port-Of: odoo/enterprise#67535
Original PR description
The product_pricing_ids didn't exclude archived pricelist which could lead to wrong price. While also displaying unnecessary data. opw-4053690 Forward-Port-Of: odoo/enterprise#67535
Currently, when printing reports using the iot, if we don't select a device when the wizard prompts ut to do so, nothing will be printed and it will be saved in the browser storage that no printer should print this report. Steps to reproduce: ------------------- * Connect the IOT to the db * In developper mode go to: **Settings** > **Technical** > **Actions** > **Reports** * Select `PDF Quote` for example and associate a printer * Go to the **Sale** App and select any quotation * Select
Original PR description
Currently, when printing reports using the iot, if we don't select a device when the wizard prompts ut to do so, nothing will be printed and it will be saved in the browser storage that no printer…
Currently, when printing reports using the iot, if we don't select a device when the wizard prompts ut to do so, nothing will be printed and it will be saved in the browser storage that no printer should print this report. Steps to reproduce: ------------------- * Connect the IOT to the db * In developper mode go to: **Settings** > **Technical** > **Actions** > **Reports** * Select `PDF Quote` for example and associate a printer * Go to the **Sale** App and select any quotation * Select the gear icon * Select **Print** > `PDF Quote` * Select `Print` without selecting a printer > Observation: Nothing is printed * Select **Print** > `PDF Quote` > Observation: Nothing is printed and the prompt does not appear Why the fix: ------------ The idea behind this fix is to make it mandatory to choose at least one of the devices on the wizard prompt. If at least one printer is selected we continue with the printing. If not, we put a notification on screen and don't do anything else. opw-4019575 Current behavior with the fix: --------------------------------------  Forward-Port-Of: odoo/enterprise#67579
Steps to reproduce ================== - Go to Accounting > Customer Invoices - Open studio - Switch to the Reports tab - Open the Invoices report - Click on "Reset Report" a few times => Eventually, OdooEditor will crash with an error like `Cannot read properties of undefined (reading 'innerHTML')` Cause of the issue ================== `onIframeLoaded` was called before the default report has been loaded. Solution ======== only update the render key after the report
Original PR description
Steps to reproduce ================== - Go to Accounting > Customer Invoices - Open studio - Switch to the Reports tab - Open the Invoices report - Click on "Reset Report" a few times => Eventually, OdooEditor will crash with an error like `Cannot read properties of undefined (reading 'innerHTML')` Cause of the issue ================== `onIframeLoaded` was called before the default report has been loaded. Solution ======== only update the render key after the report has been reset opw-3821992 Forward-Port-Of: odoo/enterprise#67191
Currently we just check whether the company has 'BE' fiscal country code. But this can be incorrect: We may want to create a report for a foreign VAT fiscal position. This situation can lead to a traceback (see below). After this commit we use the dedicated helper function `_get_report_country_code` to determine the right country code. Reproduce: 1. Install `l10n_be_reports` and `l10n_fr_reports` 2. On the Belgian company create a fiscal position with country 'France' and a 'Foreign Tax
Original PR description
Currently we just check whether the company has 'BE' fiscal country code. But this can be incorrect: We may want to create a report for a foreign VAT fiscal position. This situation can lead to a traceback (see below). After this commit we use the dedicated helper function `_get_report_country_code` to determine the right country code. Reproduce: 1. Install `l10n_be_reports` and `l10n_fr_reports` 2. On the Belgian company create a fiscal position with country 'France' and a 'Foreign Tax ID' 3. On the Belgian company open the tax report and select the French tax report 4. Click on the "Closing Entry" button to create a draft closing entry move 5. Try to post the move 6. Traceback (in which `l10n_be_reports_post_wizard` appears) task-4063968 Forward-Port-Of: odoo/enterprise#67548 Forward-Port-Of: odoo/enterprise#67122
When attempting to create a new template in WhatsApp, leaving the ``Category`` field empty results in an error. Steps to reproduce: - Install the ``WhatsApp`` module - Create a ``WhatsApp Business Account`` - Create a new template and leave the ``Category`` field empty - Click on ``Submit for Approval`` Traceback: ``AttributeError: 'bool' object has no attribute 'upper'`` This error occurs at [1] because ``template_type`` is not found in self. This commit will fix the above err
Original PR description
When attempting to create a new template in WhatsApp, leaving the ``Category`` field empty results in an error. Steps to reproduce: - Install the ``WhatsApp`` module - Create a ``WhatsApp Business Account`` - Create a new template and leave the ``Category`` field empty - Click on ``Submit for Approval`` Traceback: ``AttributeError: 'bool' object has no attribute 'upper'`` This error occurs at [1] because ``template_type`` is not found in self. This commit will fix the above error by raising an error if ``template_type`` is not found in self. [1]- https://github.com/odoo/enterprise/blob/d6e3dcc5a37c82a0c1bfc1267c4e088aedfe8632/whatsapp/models/whatsapp_template.py#L512 sentry-5642705166 Forward-Port-Of: odoo/enterprise#67359
When a user deletes buttons with sequences 0, 1, or 2, and buttons with sequences greater than 2 still exist, the template preview does not display any buttons as expected. Steps to produce: - Create a template with 5 buttons. - Delete the first 3 buttons (sequences 0, 1, and 2). - Preview the template. - No buttons will be shown in the preview. Problem: The template preview shows buttons based on their sequence field (0, 1, 2, etc.). When buttons with sequences 0, 1, and 2 are de
Original PR description
When a user deletes buttons with sequences 0, 1, or 2, and buttons with sequences greater than 2 still exist, the template preview does not display any buttons as expected. Steps to produce: - Create a template with 5 buttons. - Delete the first 3 buttons (sequences 0, 1, and 2). - Preview the template. - No buttons will be shown in the preview. Problem: The template preview shows buttons based on their sequence field (0, 1, 2, etc.). When buttons with sequences 0, 1, and 2 are deleted, and only buttons with higher sequences remain, none of the remaining buttons are displayed. Solution: Rather than rendering all buttons and displaying buttons based on sequence, render limited buttons based on the button length to achieve the same preview as Meta. This ensures that when buttons with lower sequences are deleted, the remaining buttons are still shown correctly in the preview. Forward-Port-Of: odoo/enterprise#66978
Steps: ------- 1. go to any operations of th barcorde app 2. go to a specific line 3. change the quantity thanks to the +1 / -1 4. try to erase using backspace or the erase button Current behavior before PR: ------ We need several backspaces to erase the value Desired behavior after PR is merged: ------- If the value is '3' for example, only 1 backspace should be needed. Explanation: ----- Incrementing will set the precision to the value specified, which mean 3 is actually st
Original PR description
Steps: ------- 1. go to any operations of th barcorde app 2. go to a specific line 3. change the quantity thanks to the +1 / -1 4. try to erase using backspace or the erase button Current behavior…
Steps: ------- 1. go to any operations of th barcorde app 2. go to a specific line 3. change the quantity thanks to the +1 / -1 4. try to erase using backspace or the erase button Current behavior before PR: ------ We need several backspaces to erase the value Desired behavior after PR is merged: ------- If the value is '3' for example, only 1 backspace should be needed. Explanation: ----- Incrementing will set the precision to the value specified, which mean 3 is actually stored as 3.00 on the Digipad, but parsing it as a Number in `_notifyChanges` will remove these trailing zeros. One solution would be to pass the string to the ORM instead of passing it a number, but this has the disadvantages to set the value as 3.00 visually (so the user still need to delete multiple zeros). The solution adopted removes the trailing zeros. Side note: This does not fix the inconsitency where the value displayed is "3" when the Digipad value id "3.". opw-4061351 Forward-Port-Of: odoo/enterprise#67459 Forward-Port-Of: odoo/enterprise#67279
This commit fixes an issue with locked/readonly empty articles. If a user opens an article which is locked/readonly for them, when switching articles the browser will try to update the article's name. This operation is of course not possible, but this leads to the user not able to leave said article. This is caused by the update method on the record which sets it as dirty so that it can be saved when possible. In order to fix, this when the user has no write access on the article or if it is
Original PR description
This commit fixes an issue with locked/readonly empty articles. If a user opens an article which is locked/readonly for them, when switching articles the browser will try to update the article's name. This operation is of course not possible, but this leads to the user not able to leave said article. This is caused by the update method on the record which sets it as dirty so that it can be saved when possible. In order to fix, this when the user has no write access on the article or if it is locked, we return early so that the record doesn't set itself as dirty. task-4047722 Forward-Port-Of: odoo/enterprise#66589