Tuesday, April 16, 2024
33 changes · saas-17.2
Enhancements to existing features
The payslip screen now shows whether its related journal entry is still in draft or has been posted. This gives payroll users faster visibility into accounting progress without opening the journal entry separately.
Original PR description
When creating a journal entry (account.move) from a payslip, it shows a smart button to access the journal entry. With this, it will also show if the entry is still in draft or is posted. Task: 3861578
Resolved issues and error corrections
The barcode scanning settings now allow a slightly longer delay between scanned key inputs by default. This helps slower scanning devices work more reliably and reduces missed or misread scans.
Original PR description
This commit sets the default value for the time between keys config parameter from 100 ms to 150 ms for better support of slow device. Enterprise PR: odoo/enterprise#60611
Miscellaneous changes
This commit removes the unnecessary duplicate of the 'o-input' class being present in the template of the (Multi)RecordSelector components. As the RecordAutocomplete component uses the Autocomplete component, which already set this classname on its <input> node, the class was present twice in the DOM. This could affect the style when trying to write a rule on .o_input since both elements would get the style. Now, only the input keep the class, which makes things easier and more predictable
Original PR description
This commit removes the unnecessary duplicate of the 'o-input' class being present in the template of the (Multi)RecordSelector components. As the RecordAutocomplete component uses the Autocomplete component, which already set this classname on its <input> node, the class was present twice in the DOM. This could affect the style when trying to write a rule on .o_input since both elements would get the style. Now, only the input keep the class, which makes things easier and more predictable. Forward-Port-Of: odoo/odoo#161934
This fix prevents simulated grouped data requests from crashing when sorting by date fields grouped by day, month, or similar periods. It improves reliability of web module testing tools, helping developers catch issues without false failures.
Original PR description
Before this commit, a mocked read_group with an orderby that contains a date field with granularity (day, month, ...) crashed because the granularity was not removed before looked up in the available fields. 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
New loyalty promotion programs now correctly receive their default trigger when created. This prevents promotions from being set up with missing behavior, reducing manual correction and helping loyalty campaigns work as intended.
Original PR description
Following commit https://github.com/odoo/odoo/commit/20c2e5996651168db3a6d75ace6a8907c1661792 and because the compute method is covering multiple fields, some of them weren't computed any more when creating a new program. The compute was only applied when changing the program type. opw-3850252
Restores a missing autofill template for spreadsheet pivot tables that was accidentally removed in a recent update. This helps users continue filling pivot table data consistently and reduces the risk of broken spreadsheet workflows.
Original PR description
The pivot autofill template was removed by mistake during a recent update of the lib (due to a lack of tests ...).
Survey questions using radio buttons with filtered choices now keep their original labels and order, including translated text. This helps employees and managers see consistent, localized appraisal survey options instead of technical or reordered values.
Original PR description
The "radio selection with filter" widget allows to show/hide some selection values given a list of allowed selection values. The feature is similar to the "filterable selection" widget but for radio buttons. The allowed selection context now takes a list of technical strings instead of a list of (technical string, human string) pairs. This allows to keep the (possibly translated) original values along with the original selection order. task-3829801
Survey radio button questions that filter available choices now keep the original choice labels and order, including translated labels. This prevents users from seeing incorrect or untranslated options in filtered survey selections, such as recruitment surveys.
Original PR description
The "radio selection with filter" widget allows to show/hide some selection values given a list of allowed selection values. The feature is similar to the "filterable selection" widget but for radio buttons. The allowed selection context now takes a list of technical strings instead of a list of (technical string, humain string) pairs. This allow to keep the (possibly translated) original values along with the original selection order. task-3829801
Related IAP PR: https://github.com/odoo/iap-apps/pull/758 This commit adds the database ID to the IAP calls made to generate text. It permits to prevent abuses of OpenAI calls. task-3740440 Forward-Port-Of: odoo/odoo#154615
Original PR description
Related IAP PR: https://github.com/odoo/iap-apps/pull/758 This commit adds the database ID to the IAP calls made to generate text. It permits to prevent abuses of OpenAI calls. task-3740440 Forward-Port-Of: odoo/odoo#154615
### Steps to reproduce issue: 1. Have Sales installed 2. Enable Analytic Accounting and create two Projects 3. Go into both Project Settings and add distinct Analytic Accounts 4. Create a Vendor Bill 5. Add a Product Line and put both accounts in the Analytic Distribution 6. Add an account in another column to one of the existing Analytic Distribution Lines 7. Go to Projects and open the Project Updates of the Project whose account was alone in the Analytic Distribution Line 8. You get
Original PR description
### Steps to reproduce issue: 1. Have Sales installed 2. Enable Analytic Accounting and create two Projects 3. Go into both Project Settings and add distinct Analytic Accounts 4. Create a Vendor Bill…
### Steps to reproduce issue: 1. Have Sales installed 2. Enable Analytic Accounting and create two Projects 3. Go into both Project Settings and add distinct Analytic Accounts 4. Create a Vendor Bill 5. Add a Product Line and put both accounts in the Analytic Distribution 6. Add an account in another column to one of the existing Analytic Distribution Lines 7. Go to Projects and open the Project Updates of the Project whose account was alone in the Analytic Distribution Line 8. You get the error: > invalid literal for int() with base 10: '[int],[int]' ### Explanation: With commit odoo@dc696c8ed4850a83b6af721002a90f2944891923, the way IDs are stored changed. They are now computed in a csv string. A part of the Analytic Accounting pipeline didn't get updated after that change, making a lot of the features not working properly. ### Suggested fix: - We must take into account the multiple analytic plans in any order possible in the ID search. - Because the amount of `account.move.line` can increase rapidly, the new ID search must be indexable. - We reworked the counting query to avoid `account.move` being counted multiple times. opw-3626619 Forward-Port-Of: odoo/odoo#157464 Forward-Port-Of: odoo/odoo#147664
This commit adds a new module to allow delaying the sending of sales order confirmation emails, thus removing a performance bottleneck in the order confirmation flow. This is particularly useful for "flash" sales in which a large number of event tickets are sold in a very short time span. When the emails are scheduled to be sent right away, the email rendering that is part of the payment post-processing keeps the worker busy. When the system parameter `sale.async_emails` is set to `True`, the
Original PR description
This commit adds a new module to allow delaying the sending of sales order confirmation emails, thus removing a performance bottleneck in the order confirmation flow. This is particularly useful for "flash" sales in which a large number of event tickets are sold in a very short time span. When the emails are scheduled to be sent right away, the email rendering that is part of the payment post-processing keeps the worker busy. When the system parameter `sale.async_emails` is set to `True`, the email rendering is delegated to a cron, allowing the payment post-processing to execute much faster. task-3782827 Forward-Port-Of: odoo/odoo#157612
Issue: In Link Tracker for our website, when generating the link, if we try to copy the generated url with the copy value, instead of copying the url we are getting undefined. Steps to reproduce: 1. Install website_links. 2. Go to the website and go to Site > Link tracker. 3. Generate a new link and try to copy. Solution: Due to the recent changes that came from the changes made in 9638423 where we replace the ClipboardJS with Web API and hombrew polyfill, there are still some button
Original PR description
Issue: In Link Tracker for our website, when generating the link, if we try to copy the generated url with the copy value, instead of copying the url we are getting undefined. Steps to reproduce: 1. Install website_links. 2. Go to the website and go to Site > Link tracker. 3. Generate a new link and try to copy. Solution: Due to the recent changes that came from the changes made in 9638423 where we replace the ClipboardJS with Web API and hombrew polyfill, there are still some button that is not adapted yet, and in this case what happens is that we have a difference dataset name for the clipboard content, being 'clipboardText' instead of 'clipboard-text' opw-3806495 Forward-Port-Of: odoo/odoo#159674
**Purpose of this PR:** To remove the close button from the opening cash control dialog because when the close button in the opening pop-up is clicked, it redirects the user to the POS dashboard, which in turn closes the session. task-3724909 Forward-Port-Of: odoo/odoo#152999
Original PR description
**Purpose of this PR:** To remove the close button from the opening cash control dialog because when the close button in the opening pop-up is clicked, it redirects the user to the POS dashboard, which in turn closes the session. task-3724909 Forward-Port-Of: odoo/odoo#152999
Before this commit, users could not disable the Terms and Conditions display on the product page from the Customize tab of the web editor. To remove it from the product page, the only workaround was to remove the text in that div. Now, a button will be available in the Customize tab of the web editor to quickly show or hide the Terms and Conditions. Forward-Port-Of: odoo/odoo#161230
Original PR description
Before this commit, users could not disable the Terms and Conditions display on the product page from the Customize tab of the web editor. To remove it from the product page, the only workaround was to remove the text in that div. Now, a button will be available in the Customize tab of the web editor to quickly show or hide the Terms and Conditions. Forward-Port-Of: odoo/odoo#161230
According to https://www.easytax.co/en/countries/greece the vat number format for Greece is EL123456783 instead of GR12345670. We also delete the line for country code `el` from `_ref_vat` dict as we use `gr` for Greece. opw-3845662 Forward-Port-Of: odoo/odoo#161278
Original PR description
According to https://www.easytax.co/en/countries/greece the vat number format for Greece is EL123456783 instead of GR12345670. We also delete the line for country code `el` from `_ref_vat` dict as we use `gr` for Greece. opw-3845662 Forward-Port-Of: odoo/odoo#161278
Description of the issue/feature this PR addresses: - Send an email to catchall@exemple.com, random@exemple.com (Note : random@exemple.com is an email witch does not exist) --> Issue the email is not bounced @tde-banana-odoo --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#161782 Forward-Port-Of: odoo/odoo#140113
Original PR description
Description of the issue/feature this PR addresses: - Send an email to catchall@exemple.com, random@exemple.com (Note : random@exemple.com is an email witch does not exist) --> Issue the email is not bounced @tde-banana-odoo --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#161782 Forward-Port-Of: odoo/odoo#140113
Issue: ====== The powerbox keep increasing in size when you input. Steps to reproduce the issue: ============================= - Install arabic - Go to notes - write `/`, you can see the powerbox is a bit smal - use `down/up`arrows to navigate in the powerbox. - The powerbox width increase until finally gets to it's intended position. Origin of the issue: ==================== Since we are providing that `marginRigh` should be equals to `20` in `getRangePosition` we will move the
Original PR description
Issue: ====== The powerbox keep increasing in size when you input. Steps to reproduce the issue: ============================= - Install arabic - Go to notes - write `/`, you can see the powerbox is…
Issue: ====== The powerbox keep increasing in size when you input. Steps to reproduce the issue: ============================= - Install arabic - Go to notes - write `/`, you can see the powerbox is a bit smal - use `down/up`arrows to navigate in the powerbox. - The powerbox width increase until finally gets to it's intended position. Origin of the issue: ==================== Since we are providing that `marginRigh` should be equals to `20` in `getRangePosition` we will move the powerbox to the left a bit and then with the style property `max-width=100%` it will increase in size because the current size is a bit small for it. So at every key pressed it will increase by 20px until it gets to a point where everything is set and the `marginRight=20` is finally visible. Soltuion: ========= We set min-width as max-content so we can position correctly the powerbox knowing it's final width. task-3721794 Forward-Port-Of: odoo/odoo#161089 Forward-Port-Of: odoo/odoo#157668
Since https://github.com/odoo/odoo/pull/120915 Steps: - Install `web_studio` and `hr_expense` - Open Expense/list view - click on optional column - Traceback The error occurs because the dropdown needs the id of the view list in order to "hook" onto it. This unique id is added via a `t-att-class` here https://github.com/odoo/odoo/blob/f8ac22e2ad0a8157466b9adeb3dd2746f1f011d9/addons/web/static/src/views/list/list_renderer.xml#L1-L7 and is used by the dropdown here https://g
Original PR description
Since https://github.com/odoo/odoo/pull/120915 Steps: - Install `web_studio` and `hr_expense` - Open Expense/list view - click on optional column - Traceback The error occurs because the dropdown…
Since https://github.com/odoo/odoo/pull/120915
Steps:
- Install `web_studio` and `hr_expense`
- Open Expense/list view
- click on optional column
- Traceback
The error occurs because the dropdown needs the id of the view list in order to "hook" onto it. This unique id is added via a `t-att-class` here
https://github.com/odoo/odoo/blob/f8ac22e2ad0a8157466b9adeb3dd2746f1f011d9/addons/web/static/src/views/list/list_renderer.xml#L1-L7
and is used by the dropdown here
https://github.com/odoo/odoo/blob/f8ac22e2ad0a8157466b9adeb3dd2746f1f011d9/addons/web/static/src/views/list/list_renderer.xml#L45-L50
The problem here is that the hr_expense module inherits from `web.ListRenderer` to add some classes to `o_list_renderer` with this
```xml
<xpath expr="//div[hasclass('o_list_renderer')]" position="attributes">
<attribute name="t-att-class">'hr_expense h-auto o_forbidden_tooltip_parent'</attribute>
</xpath>
```
but by doing so, the t-att-class of `hr_expense.ListRenderer` overwrites that of `web.ListRenderer`.
One solution was to do as the documents application does
https://github.com/odoo/enterprise/blob/saas-16.3/documents/static/src/views/list/documents_list_renderer.xml#L5
This does not override the `t-att-class`
opw-3858726
Forward-Port-Of: odoo/odoo#161622STEP TO REPRODUCE: ================= * Unistall hr_org_chart application * Click on hr application task: 3820149 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#158523
Original PR description
STEP TO REPRODUCE:
=================
* Unistall hr_org_chart application
* Click on hr application
task: 3820149
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#158523* addons/l10n_es/i18n/ca.po: Add the catalan language translation for the spanish localization. * addons/l10n_es/data/template/account.account-es_assec.csv: Add name@ca field with account names in catalan. * addons/l10n_es/data/template/account.account-es_common.csv: Add name@ca field with account names in catalan. * addons/l10n_es/data/template/account.account-es_full.csv: Add name@ca field with account names in catalan. * addons/l10n_es/data/template/account.account-es_pymes.csv: Add name@
Original PR description
* addons/l10n_es/i18n/ca.po: Add the catalan language translation for the spanish localization. * addons/l10n_es/data/template/account.account-es_assec.csv: Add name@ca field with account names in…
* addons/l10n_es/i18n/ca.po: Add the catalan language translation for the spanish localization. * addons/l10n_es/data/template/account.account-es_assec.csv: Add name@ca field with account names in catalan. * addons/l10n_es/data/template/account.account-es_common.csv: Add name@ca field with account names in catalan. * addons/l10n_es/data/template/account.account-es_full.csv: Add name@ca field with account names in catalan. * addons/l10n_es/data/template/account.account-es_pymes.csv: Add name@ca field with account names in catalan. * addons/l10n_es/data/template/account.group-es_common.csv: Add name@ca field with account names in catalan. Description of the issue/feature this PR addresses: Add the name@ca for catalan translation at the main account plans in the spain l10n_es localization, and the l10n_es/i18n/ca.po file too. Current behavior before PR: The accounts names are in english when user configures her environment to use the catalan language. Desired behavior after PR is merged: The accounts names are in catalan. Previously crashed PR https://github.com/odoo/odoo/pull/160486 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#161077
Before this commit: * when a user changes 'user_id' to set the same previous 'user_id', the assign date 'date_open' is updated but it should not as the responsible did not change; * when a user changes the salesperson 'user_id' of a crm lead, it triggers a recompute of 'team_id' that triggers a recompute of 'stage_id' that updates 'date_last_stage_update' even if the stage does not change, which happens frequently when changing leads within a given team (new assig
Original PR description
Before this commit: * when a user changes 'user_id' to set the same previous 'user_id', the assign date 'date_open' is updated but it should not as the responsible did not change; * when a user…
Before this commit:
* when a user changes 'user_id' to set the same previous 'user_id', the
assign date 'date_open' is updated but it should not as the responsible
did not change;
* when a user changes the salesperson 'user_id' of a crm lead, it triggers
a recompute of 'team_id' that triggers a recompute of 'stage_id' that
updates 'date_last_stage_update' even if the stage does not change, which
happens frequently when changing leads within a given team (new assign,
salesperson on holidays, ...)
* when merging opportunities, 'user_id' can be set on the main opportunity
which triggers a recomputation of both 'date_last_stage_update' and
'date_open' as explained in above points;
Reason:
The 'date_last_stage_update' field depends on 'stage_id' which depends on
'team_id' which depends on 'user_id'. As a result, when 'user_id' changes,
'date_last_stage_update' also updates.
Moreover those fields are implemented using editable stored computed fields
which are triggered everytime a value is given to those fields, even when
the same value is given.
After this commit:
'date_last_stage_update' and 'date_open' will only update when there are
real changes.
Also fix 'date_open' update when lead is converted into an opportunity.
'date_open' is the date when a user is assigned to a lead / opportunity. It
should not be set when converting a lead to an opportunity, as those two
flows are different. Only setting a responsible should update it.
Task-3515225
Forward-Port-Of: odoo/odoo#144848While in practice you would never get this inverse called with more than one record at a time, it is still wrong to get the company of self in the loop. Fixing it to keep good conscience :) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#161815
Original PR description
While in practice you would never get this inverse called with more than one record at a time, it is still wrong to get the company of self in the loop. Fixing it to keep good conscience :) --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#161815
Following #38133, we were no longer waiting for the datasources to be properly loaded before calling `model.exportXLSX` which means that only the asynchronous data already loaded were properly loaded as we lazy load them. Task: 3839559 Forward-Port-Of: odoo/enterprise#60735 Forward-Port-Of: odoo/enterprise#59772
Original PR description
Following #38133, we were no longer waiting for the datasources to be properly loaded before calling `model.exportXLSX` which means that only the asynchronous data already loaded were properly loaded as we lazy load them. Task: 3839559 Forward-Port-Of: odoo/enterprise#60735 Forward-Port-Of: odoo/enterprise#59772
Commit 2740da2701557da09566aa25f064fe3cac7a881a modified a mail template's subject, which is translatable. Update the .pot file to reflect the change. opw-3748509 Forward-Port-Of: odoo/enterprise#60820
Original PR description
Commit 2740da2701557da09566aa25f064fe3cac7a881a modified a mail template's subject, which is translatable. Update the .pot file to reflect the change. opw-3748509 Forward-Port-Of: odoo/enterprise#60820
It is not working because some issues with AFIP test envrionment that added new restrictions that need to adapt- In this case we depend on AFIP to solve it and we do not know when we will have a solution. After everything is ok we will re add the test. Forward-Port-Of: odoo/enterprise#60577
Original PR description
It is not working because some issues with AFIP test envrionment that added new restrictions that need to adapt- In this case we depend on AFIP to solve it and we do not know when we will have a solution. After everything is ok we will re add the test. Forward-Port-Of: odoo/enterprise#60577
Work order can be start by employee, in scenario when creating new company there is no employees added by default, hence the work order can't be started. This commit is added an error message informing about it. ### [Reproduce] - Install: mrp,account - Create a new company, Select it - Update Settings: - Enable "work orders" (Settings/Manufacturing/Operations) - Set "Generic Chart Template" (Accounting/ Settings/ Fiscal Localization) - Create a new Manufacturing Order (Manufacturing/
Original PR description
Work order can be start by employee, in scenario when creating new company there is no employees added by default, hence the work order can't be started. This commit is added an error message informing about it. ### [Reproduce] - Install: mrp,account - Create a new company, Select it - Update Settings: - Enable "work orders" (Settings/Manufacturing/Operations) - Set "Generic Chart Template" (Accounting/ Settings/ Fiscal Localization) - Create a new Manufacturing Order (Manufacturing/ Operations/ Manufacturing Orders) - Select any product - Create a work order line - Confirm Manufacturing Order - Click on the start button in the operation line - BUG: Timer not timing opw-3770873 Forward-Port-Of: odoo/enterprise#60551 Forward-Port-Of: odoo/enterprise#59969
Purpose ======= Since a recent update, the number of caracters for rule parameter Canton (ZG) - Church _tax (N) - Tax Scale (B) - Children (0) is exceeding the default buffer size, leading to a traceback on file import. Forward-Port-Of: odoo/enterprise#60716
Original PR description
Purpose ======= Since a recent update, the number of caracters for rule parameter Canton (ZG) - Church _tax (N) - Tax Scale (B) - Children (0) is exceeding the default buffer size, leading to a traceback on file import. Forward-Port-Of: odoo/enterprise#60716
### Steps to reproduce issue: 1. Have Sales installed 2. Enable Analytic Accounting and create two Projects 3. Go into both Project Settings and add distinct Analytic Accounts 4. Create a Vendor Bill 5. Add a Product Line and put both accounts in the Analytic Distribution 6. Add an account in another column to one of the existing Analytic Distribution Lines 7. Go to Projects and open the Project Updates of the Project whose account was alone in the Analytic Distribution Line 8. You get
Original PR description
### Steps to reproduce issue: 1. Have Sales installed 2. Enable Analytic Accounting and create two Projects 3. Go into both Project Settings and add distinct Analytic Accounts 4. Create a Vendor Bill…
### Steps to reproduce issue: 1. Have Sales installed 2. Enable Analytic Accounting and create two Projects 3. Go into both Project Settings and add distinct Analytic Accounts 4. Create a Vendor Bill 5. Add a Product Line and put both accounts in the Analytic Distribution 6. Add an account in another column to one of the existing Analytic Distribution Lines 7. Go to Projects and open the Project Updates of the Project whose account was alone in the Analytic Distribution Line 8. You get the error: > invalid literal for int() with base 10: '[int],[int]' ### Explanation: With commit odoo@dc696c8ed4850a83b6af721002a90f2944891923, the way IDs are stored changed. They are now computed in a csv string. A part of the Analytic Accounting pipeline didn't get updated after that change, making a lot of the features not working properly. ### Suggested fix: - We must take into account the multiple analytic plans in any order possible in the ID search. - Because the amount of `account.move.line` can increase rapidly, the new ID search must be indexable. - We reworked the counting query to avoid `account.move` being counted multiple times. opw-3626619 Forward-Port-Of: odoo/enterprise#58545 Forward-Port-Of: odoo/enterprise#54311
Follow-up of 0fd53102589e2bdc4d4a257f367a37eca88604c8 The mail template 'Helpdesk: Ticket Received' should also use the `name` instead of the `display_name` for emails all emails to be properly grouped. opw-3748509 Forward-Port-Of: odoo/enterprise#60242
Original PR description
Follow-up of 0fd53102589e2bdc4d4a257f367a37eca88604c8 The mail template 'Helpdesk: Ticket Received' should also use the `name` instead of the `display_name` for emails all emails to be properly grouped. opw-3748509 Forward-Port-Of: odoo/enterprise#60242
**Current behavior:** Adding a product to a POS order then zero-ing out the quantity of the line will result in an instance of division with this qty (now zero) in the denominator. **Expected behavior:** Don't allow a scenario to occur where 0 can appear in the denominator of a division operation. **Steps to reproduce:** 1. Switch to the demo German company installed with `l10n_de_pos_res_cert` 2. Enable Fiskaly in the company settings for the German company 3. Add
Original PR description
**Current behavior:** Adding a product to a POS order then zero-ing out the quantity of the line will result in an instance of division with this qty (now zero) in the denominator. **Expected…
**Current behavior:**
Adding a product to a POS order then zero-ing out the quantity
of the line will result in an instance of division with this qty
(now zero) in the denominator.
**Expected behavior:**
Don't allow a scenario to occur where 0 can appear in the
denominator of a division operation.
**Steps to reproduce:**
1. Switch to the demo German company installed with
`l10n_de_pos_res_cert`
2. Enable Fiskaly in the company settings for the German
company
3. Add a payment method in the POS config
3. Add a POS of type Restaurant and enable the TSS toggle
setting (comment out the `_l10n_de_fiskaly_iap_rpc()` call
in `l10n_de_pos_cert/models/pos_config.py` to save)
4. Add a floor and a table to the restaurant
5. Start a POS session and start an order, add some product
then select the order line and zero out the quantity with
the digital numpad
6. Go to payment -> register payment -> validate
7. Observe the error dialog
**Cause of the issue:**
In `l10n_de_pos_res_cert/models/pos_order.py`, the
`remove_from_ui` method calls `_line_differences()` if fiskaly
is setup for our German company which makes the call to
`_merge_order_lines()` where the following operation:
`str(group[0]['price_subtotal_incl']/group[0]['qty'])` may have
a denominator equal to 0.
**Fix:**
Do not call `_merge_order_lines()` on order lines which have a
quantity of zero.
opw-3751492
Forward-Port-Of: odoo/enterprise#60097The NHIF and AHL computation were not correct because they were based on the gross salary instead of the basic salary. task-3827167 Forward-Port-Of: odoo/enterprise#59518
Original PR description
The NHIF and AHL computation were not correct because they were based on the gross salary instead of the basic salary. task-3827167 Forward-Port-Of: odoo/enterprise#59518
Currently when auditing entries in the deferred report, you get a list of AMLs (journal items), but can't change the view. It is useful though to use other views, like the pivot view e.g. For this reason we let the user choose to switch between any view available in the generic Journal Items list. (Feedback from TSB) Forward-Port-Of: odoo/enterprise#53079
Original PR description
Currently when auditing entries in the deferred report, you get a list of AMLs (journal items), but can't change the view. It is useful though to use other views, like the pivot view e.g. For this reason we let the user choose to switch between any view available in the generic Journal Items list. (Feedback from TSB) Forward-Port-Of: odoo/enterprise#53079
Issue --> When creating a POS order via any pos config, any active preparation display that has any of the product categories used in the order will cause the customer display to reload. This happens regardless of the `pos_config_ids` set on the preparation display record. Therefore, an order from a `pos.config` **not** on the preparation display will still cause the display to reload Solution --> Edit the search domain on `pos_preparation_display.display` to check the origin of the ord
Original PR description
Issue --> When creating a POS order via any pos config, any active preparation display that has any of the product categories used in the order will cause the customer display to reload. This happens regardless of the `pos_config_ids` set on the preparation display record. Therefore, an order from a `pos.config` **not** on the preparation display will still cause the display to reload Solution --> Edit the search domain on `pos_preparation_display.display` to check the origin of the order to keep the display from reloading unnecessarily. opw-3838879 Forward-Port-Of: odoo/enterprise#60575