Friday, June 7, 2024
30 changes · saas-17.1
Resolved issues and error corrections
Fixed an issue in the Indian localization where choosing an HSN code from autocomplete with the keyboard could leave the typed text in the field instead of the selected code. This makes data entry more reliable for users entering tax and product classification details.
Original PR description
prior this PR, when a user selects an option from the HSN autocomplete widget using the keyboard, the selected value is not reflected in the input field. Technical Reason: The `onSelect()` method in the HSN autocomplete widget calls `this.props.record.update()`, followed by a call to `commitChanges()` in `input_field_hook.js` due to the `keydown` event. Consequently, the update method is called twice: first with the selected option value and then with the user's typed input value. This sequence results in the input field displaying the typed value instead of the selected option. With this PR, selecting an option from the HSN autocomplete widget using the keyboard correctly updates the input field with the selected value. task-3961406
Recent messages in Discuss are now ordered consistently when messages have similar timing. This helps users see the expected latest message and reduces confusion in conversations.
Original PR description
Similar code than already adapted in 17.2. runbot-66529
Miscellaneous changes
Since 5c0bb29e8f30, we filter the payments from the miscellaneous operations to display the right value, but we don't do the same for the lines displayed when cliking on the misc operations button, this commit fixes that. opw-3925808 Forward-Port-Of: odoo/odoo#168451
Original PR description
Since 5c0bb29e8f30, we filter the payments from the miscellaneous operations to display the right value, but we don't do the same for the lines displayed when cliking on the misc operations button, this commit fixes that. opw-3925808 Forward-Port-Of: odoo/odoo#168451
Current behavior: --- When logged as a mass mailing user, in a mailing, using the editor, when applying a shape to an image, the image disappears. Steps to reproduce: --- 1. Make sure Marc Demo has the role User 2. Log in as Marc Demo 3. Create a new mailing 4. Select a template 5. Insert a picture 6. Select the picture 7. Change its shape to round 8. (preview works fine) 9. Save the mailing 10. Picture disappears Cause of the issue: --- When applying a shape to an image,
Original PR description
Current behavior: --- When logged as a mass mailing user, in a mailing, using the editor, when applying a shape to an image, the image disappears. Steps to reproduce: --- 1. Make sure Marc Demo has…
Current behavior: --- When logged as a mass mailing user, in a mailing, using the editor, when applying a shape to an image, the image disappears. Steps to reproduce: --- 1. Make sure Marc Demo has the role User 2. Log in as Marc Demo 3. Create a new mailing 4. Select a template 5. Insert a picture 6. Select the picture 7. Change its shape to round 8. (preview works fine) 9. Save the mailing 10. Picture disappears Cause of the issue: --- When applying a shape to an image, the resulting file is of mimetype 'image/svg+xml', when sending it to the server, the attachment is going to go through _check_contents https://github.com/odoo/odoo/blob/d752abb24d9b25bb6d10e411961447c8c8e28bba/odoo/addons/base/models/ir_attachment.py#L364 and if the mimetype is "xml_like", it will check for views write rights, without what the mimetype will be forced to text/plain. But in web_editor, when computing the image src https://github.com/odoo/odoo/blob/b6392e2c7dbc8e1ece326e28a9698801142714b7/addons/web_editor/models/ir_attachment.py#L34 if the mimetype is not a supported image type, src will be False. Fix: --- Override of _writeShape to use canvas to convert the image from svg to png. opw-3672798 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#164703 Forward-Port-Of: odoo/odoo#159497
- Have `account_peppol` installed - Log in as a user who has read-only accounting rights - Open a customer that is located in Peppol-supported countries and has UBL format, peppol eas and endpoint filled in - An error is displayed saying the user cannot see this partner record `account_edi_proxy_client_ids` is restricted to full accounting rights, so we have to access it with sudo when checking the edi mode for computing the validity of the peppol participant on the network. opw-3950933
Original PR description
- Have `account_peppol` installed - Log in as a user who has read-only accounting rights - Open a customer that is located in Peppol-supported countries and has UBL format, peppol eas and endpoint filled in - An error is displayed saying the user cannot see this partner record `account_edi_proxy_client_ids` is restricted to full accounting rights, so we have to access it with sudo when checking the edi mode for computing the validity of the peppol participant on the network. opw-3950933 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168276
Before Odoo 16.0, it is possible to have database column whose value is ``NULL`` but still has translation in the ir_translation table. And translations can be displayed correctly in the UI. How to reproduce before Odoo 16.0: 1. Open the form view of a record with non-required translated field. E.g. product.template.sale_description 2. Create a new record and don't touch the translated field for test 3. Directly click the translation button and fill all translations 4. click save The colu
Original PR description
Before Odoo 16.0, it is possible to have database column whose value is ``NULL`` but still has translation in the ir_translation table. And translations can be displayed correctly in the UI. How to…
Before Odoo 16.0, it is possible to have database column whose value is ``NULL`` but still has translation in the ir_translation table. And translations can be displayed correctly in the UI.
How to reproduce before Odoo 16.0:
1. Open the form view of a record with non-required translated field. E.g. product.template.sale_description
2. Create a new record and don't touch the translated field for test
3. Directly click the translation button and fill all translations
4. click save The column for the record's translated field has ``NULL`` value, and the ir_translation table has new translation records with ``NULL`` in the src column
During upgrade, when the column value is converted to jsonb for the translated field by the ORM, it will still be ``NULL``. And in the upgrade script when update the value with all translations, the result will still be ``NULL``. E.g. ``NULL || '{"fr_FR": "french"}'::jsonb``
``NULL || '{"en_US": "english", "fr_FR": "french"}'::jsonb``
In this commit, for the above corner case, we assume the src was empty string instead of NULL. In the above example, the result would be ``'{"en_US": ""}'::jsonb || '{"fr_FR": "french"}'::jsonb`` ``'{"en_US": ""}'::jsonb || '{"en_US": "english", "fr_FR": "french"}'::jsonb``
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#168038This commit just add a new tour method used in another commit opw-3902869 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168150
Original PR description
This commit just add a new tour method used in another commit opw-3902869 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168150
### Steps to reproduce: - Create a storable product with a vendor (in the pruchase tab) - Create a buy reordering rule with that vendor for that product - Select the reordering rule line and snooze it for one day - Create a sale order for #### > the snoozed reordering rule is triggered ### Cause of the issue: The `snoozed_untill` field of the orderpoint is not taken into account by the `_trigger_scheduler` to determine which auto-trigger orderpoint should be applied: https://gith
Original PR description
### Steps to reproduce: - Create a storable product with a vendor (in the pruchase tab) - Create a buy reordering rule with that vendor for that product - Select the reordering rule line and snooze it for one day - Create a sale order for #### > the snoozed reordering rule is triggered ### Cause of the issue: The `snoozed_untill` field of the orderpoint is not taken into account by the `_trigger_scheduler` to determine which auto-trigger orderpoint should be applied: https://github.com/odoo/odoo/blob/4f43eb2e69224c9cb271b6e2ca7533d929333985/addons/stock/models/stock_move.py#L2132-L2138 opw-3901613 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#165567
### Steps to reproduce: - In the inventory, create a delivery order for 1 unit of any product - Validate the picking and click on detailed operations - Click on the field of the move named "Pick From", type and create new #### > Traceback error ### Cause of the issue: You should not be able to edit the moves of a done locked picking. However the `quant_id` field is not set to `read_only` in this case: https://github.com/odoo/odoo/blob/c016a5306dd90b90c88e083cc0f0d2ae9c0b649f/addons
Original PR description
### Steps to reproduce: - In the inventory, create a delivery order for 1 unit of any product - Validate the picking and click on detailed operations - Click on the field of the move named "Pick From", type and create new #### > Traceback error ### Cause of the issue: You should not be able to edit the moves of a done locked picking. However the `quant_id` field is not set to `read_only` in this case: https://github.com/odoo/odoo/blob/c016a5306dd90b90c88e083cc0f0d2ae9c0b649f/addons/stock/views/stock_move_views.xml#L263-L267 ### Fix: We add the same `read_only` condition as for the other fields visible on the move. opw-3935214 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#166017
backport of #161152 Forward-Port-Of: odoo/odoo#168288
Original PR description
backport of #161152 Forward-Port-Of: odoo/odoo#168288
This PR is created in order to sing the odoo CLA and contribute to Odoo. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168303 Forward-Port-Of: odoo/odoo#167808
Original PR description
This PR is created in order to sing the odoo CLA and contribute to Odoo. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168303 Forward-Port-Of: odoo/odoo#167808
**Steps:** - Go to Sales > Products > Products > Any Product - Click Documents smart button > Create New - Type = URL - Name = Something - URL = Something - Sales Visibility = Inside Quote - Save > Error **Issue:** - For the type 'url' and sales visibility 'Inside quote', the record will never get the correct mimetype of the url document, resulting into the false condition everytime as pdf quote builder specifically checks for mimetype 'pdf'. **Fix:** - If the sale visibility is '
Original PR description
**Steps:** - Go to Sales > Products > Products > Any Product - Click Documents smart button > Create New - Type = URL - Name = Something - URL = Something - Sales Visibility = Inside Quote - Save > Error **Issue:** - For the type 'url' and sales visibility 'Inside quote', the record will never get the correct mimetype of the url document, resulting into the false condition everytime as pdf quote builder specifically checks for mimetype 'pdf'. **Fix:** - If the sale visibility is 'Inside quote', the type should always be File and not URL. If not the case, warning or validation error will be raised. **Affected Version:** 17 ~ master **opw:** 3964066 Forward-Port-Of: odoo/odoo#168310
Steps to reproduce: - Install Time Off app - Go to working schedule 'Standard 40 hours/week' - Change the afternoon slots for Monday end time to 18 - Change the afternoon slots for Tuesday end time to 18 Issue: With the current depends, step 4, we will have an issue in the compute. This is due to the fact that `attendance.calendar_id.hours_per_day` depends on its siblings, however the dependencies are not indicating that. https://github.com/odoo/odoo/blob/dd2da708bc4a42bba9670b8742
Original PR description
Steps to reproduce: - Install Time Off app - Go to working schedule 'Standard 40 hours/week' - Change the afternoon slots for Monday end time to 18 - Change the afternoon slots for Tuesday end time to 18 Issue: With the current depends, step 4, we will have an issue in the compute. This is due to the fact that `attendance.calendar_id.hours_per_day` depends on its siblings, however the dependencies are not indicating that. https://github.com/odoo/odoo/blob/dd2da708bc4a42bba9670b874282a2206d8f5ffe/addons/resource/models/resource_calendar_attendance.py#L83 As such we will not trigger `_compute_duration_days` after changing the hours which will cause issues. On a side note no test was made due to a limitation of the test form, which didn't replicate the real behaviour of the web client. opw-3783809 Forward-Port-Of: odoo/odoo#166680
With an ES company setup and TicketBAI service active Create an Invoice Post it but do not send the Invoice to EDI (disable cron if necessary) Create a Credit note for the invoice Send the credit note to EDI service Traceback will raise "ValueError: time data '' does not match format '%d-%m-%Y'" This occurs because we retrieve information of the original invoice directly from the 'post' XMLs submitted to the government but we don't have any opw-3919568 Forward-Port-Of: odoo/odoo
Original PR description
With an ES company setup and TicketBAI service active Create an Invoice Post it but do not send the Invoice to EDI (disable cron if necessary) Create a Credit note for the invoice Send the credit note to EDI service Traceback will raise "ValueError: time data '' does not match format '%d-%m-%Y'" This occurs because we retrieve information of the original invoice directly from the 'post' XMLs submitted to the government but we don't have any opw-3919568 Forward-Port-Of: odoo/odoo#167172
Steps to reproduce ================== - Go to CRM - Switch to the graph view - Use the Pie Chart mode - Click on any label => The visibility of the dataset is toggled but the label should be crossed out Solution ======== From the Chart.js v3 migration guide, we can see this > Element.hidden was replaced by chart level status, usable with getDataVisibility(index) / toggleDataVisibility(index) https://www.chartjs.org/docs/latest/migration/v3-migration.html opw-3935183
Original PR description
Steps to reproduce ================== - Go to CRM - Switch to the graph view - Use the Pie Chart mode - Click on any label => The visibility of the dataset is toggled but the label should be crossed out Solution ======== From the Chart.js v3 migration guide, we can see this > Element.hidden was replaced by chart level status, usable with getDataVisibility(index) / toggleDataVisibility(index) https://www.chartjs.org/docs/latest/migration/v3-migration.html opw-3935183 Forward-Port-Of: odoo/odoo#167785
To compute the lang of a template, we call `_render_lang` but it relies on the `_render_template` method. This means that whenever it's called as is, it will prevent any rendering if the user does not have the group `group_mail_template_editor`, thus making the computation of the lang not possible for the average user using the compose mixin. To avoid this, the call to `_render_template` will be done as super user if the lang of the current record of the composer mixin is the same as the on
Original PR description
To compute the lang of a template, we call `_render_lang` but it relies on the `_render_template` method. This means that whenever it's called as is, it will prevent any rendering if the user does not have the group `group_mail_template_editor`, thus making the computation of the lang not possible for the average user using the compose mixin. To avoid this, the call to `_render_template` will be done as super user if the lang of the current record of the composer mixin is the same as the one of its template, otherwise the flow is unchanged. This therefore use the template as the source of truth and ensure that we don't evaluate something that shouldn't be evaluated. Forward-Port-Of: odoo/odoo#166573
Version: ----------- 16.0 Steps to reproduce: --------------------------- - open the Calendar module - make sure google sync is enabled - when to click on a event, a popup appears - when you press on delete, a confirmation message is shown but the popup is not closed Issue: ---------- The popup is not disappearing which allows the user to click multiple times on the delete option which can cause error when the user confirm the deletion as the user cannot delete a deleted record.
Original PR description
Version: ----------- 16.0 Steps to reproduce: --------------------------- - open the Calendar module - make sure google sync is enabled - when to click on a event, a popup appears - when you press on…
Version: ----------- 16.0 Steps to reproduce: --------------------------- - open the Calendar module - make sure google sync is enabled - when to click on a event, a popup appears - when you press on delete, a confirmation message is shown but the popup is not closed Issue: ---------- The popup is not disappearing which allows the user to click multiple times on the delete option which can cause error when the user confirm the deletion as the user cannot delete a deleted record. Cause: ----------- When google sync is enabled the event becomes achievable so when you delete the event instead of onDeleteEvent() function of CalendarCommonPopover component the onClickArchive() of AttendeeCalendarCommonPopover is called which do not handle the closing of the popup. Solution: ------------- In the onClickArchive() function, call the close function which is passed in the props of the parent component. task-3875211 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#162411
In Spanish (MX) / Español (MX) Language The Translation of ``Valor desconocido '%s' para campo booleano '%%(campo)s'`` is done wrong in ``es_MX.po`` file of the base module. which leads to a traceback Traceback : ``KeyError 'campo'`` In the above-translated term, we mistakenly translated ``field`` to ``campo``. We should not translate ``field`` because it contains dynamic values. sentry-5454184338 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/su
Original PR description
In Spanish (MX) / Español (MX) Language The Translation of ``Valor desconocido '%s' para campo booleano '%%(campo)s'`` is done wrong in ``es_MX.po`` file of the base module. which leads to a traceback Traceback : ``KeyError 'campo'`` In the above-translated term, we mistakenly translated ``field`` to ``campo``. We should not translate ``field`` because it contains dynamic values. sentry-5454184338 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#168273
Steps to reproduce: ------------------- - create a regular allocation - save it - refuse it - change the type to accrual and set a plan - save it - take a time off Issue: ------ A traceback occurs. Cause: ------ The commit 7d874be72b0ca95251a47db54d87e34538ec26e3 remove the default value for the `lastcall` field. A value is added to `lastcall` only during create. Therefore during `_process_accrual_plan`, we will have `max(allocation.lastcall, first_level_start_date)`. with `
Original PR description
Steps to reproduce: ------------------- - create a regular allocation - save it - refuse it - change the type to accrual and set a plan - save it - take a time off Issue: ------ A traceback occurs. Cause: ------ The commit 7d874be72b0ca95251a47db54d87e34538ec26e3 remove the default value for the `lastcall` field. A value is added to `lastcall` only during create. Therefore during `_process_accrual_plan`, we will have `max(allocation.lastcall, first_level_start_date)`. with `allocation.lastcall = False`. Solution: --------- Call `_add_lastcalls` during the write to make sure we have a value if the allocation is accrual. opw-3946060 Forward-Port-Of: odoo/odoo#167945
**Current behavior:** When editing an email template with a link, it will get removed when switching in/out of the codeview editor even if it has some useful value. **Expected behavior:** These links will not be removed. **Steps to reproduce:** *Install sale_stock* 1. Go to email templates, select `Shipping: Send by Email` 2. Select the body content, activate the codeview editor mode 3. Some content has been removed, while codeview editor is open, reset the template and o
Original PR description
**Current behavior:**
When editing an email template with a link, it will get removed
when switching in/out of the codeview editor even if it has some
useful value.
**Expected behavior:**
These links will not be removed.
**Steps to reproduce:**
*Install sale_stock*
1. Go to email templates, select `Shipping: Send by Email`
2. Select the body content, activate the codeview editor mode
3. Some content has been removed, while codeview editor is open,
reset the template and observe the change
4. This results in a delivery order email not having the
tracking link in its body
**Cause of the issue:**
On codeview save, we remove empty links- however some links may
have a t-out value and are still lost.
**Fix:**
Check for a t-attribute in the link node's attributes before
removing it.
opw-3919379
Forward-Port-Of: odoo/odoo#167150Forward-Port-Of: odoo/enterprise#63968
Original PR description
Forward-Port-Of: odoo/enterprise#63968
Problem: When a selection field is mapped in a template variable, its key is returned instead of its value. E.g. a selection field is mapped in a template variable whose one of the selections is `('out_invoice', 'Customer Invoice')` then `out_invoice` will be returned instead of `Customer Invoice`. Technical Problem: The function `_find_value_from_field_path` of the class `BaseModel` is used to get the value of the template variable. This function uses `.mapped()` to get the template's
Original PR description
Problem:
When a selection field is mapped in a template variable, its key is returned instead of its value. E.g. a selection field is mapped in a template variable whose one of the selections is `('out_invoice', 'Customer Invoice')` then `out_invoice` will be returned instead of `Customer Invoice`.
Technical Problem:
The function `_find_value_from_field_path` of the class `BaseModel` is used to get the value of the template variable. This function uses `.mapped()` to get the template's variable value which returns the key instead of the value whenever the last field of the chain is a selection field.
Solution:
The `last_field_of_chain` and `last_model` are obtained using `field_path`. If `last_field_of_chain` is of the selection field then the function `convert_to_export` of the `Selection` class is used to get the value of the selection field by using the key obtained in the `field_value` and the `last_model`.
Task-3964078
Forward-Port-Of: odoo/enterprise#63695When printing payslip the fields which are not filled in Employee form ,demo data is filled while printing payslip report remove demo data from the payslip report ,the fields should be empty when no info is added task-3948257 Forward-Port-Of: odoo/enterprise#63313
Original PR description
When printing payslip the fields which are not filled in Employee form ,demo data is filled while printing payslip report remove demo data from the payslip report ,the fields should be empty when no info is added task-3948257 Forward-Port-Of: odoo/enterprise#63313
Current behavior: When you add a product with an internal note to an order the preparation display is not updated correctly. Steps to reproduce: - Open PoS restaurant session - Add product A, and press Order button - Add product A, add an internal note, and press Order button - Go on the preparation display, there is only one product A opw-3902869 Forward-Port-Of: odoo/enterprise#63879
Original PR description
Current behavior: When you add a product with an internal note to an order the preparation display is not updated correctly. Steps to reproduce: - Open PoS restaurant session - Add product A, and press Order button - Add product A, add an internal note, and press Order button - Go on the preparation display, there is only one product A opw-3902869 Forward-Port-Of: odoo/enterprise#63879
On computers where WPS office is installed, the mimetype of office files (eg. .docx, .xslx) the mimetype recognition is altered (at least on linux machines [^1][^2]). The detection of xlsx files in Documents did not account for the specific mimetype set by WPS Office. [^1]: https://forum.puppylinux.com/viewtopic.php?t=2379&i=1 [^2]: https://askubuntu.com/questions/1360278/wps-office-messing-up-mime-types-associated-with-office-documents Task-3915912 Forward-Port-Of: odoo/enterprise#63830
Original PR description
On computers where WPS office is installed, the mimetype of office files (eg. .docx, .xslx) the mimetype recognition is altered (at least on linux machines [^1][^2]). The detection of xlsx files in Documents did not account for the specific mimetype set by WPS Office. [^1]: https://forum.puppylinux.com/viewtopic.php?t=2379&i=1 [^2]: https://askubuntu.com/questions/1360278/wps-office-messing-up-mime-types-associated-with-office-documents Task-3915912 Forward-Port-Of: odoo/enterprise#63830 Forward-Port-Of: odoo/enterprise#62100
...d on foreign_currency_code received from odoofin Send `include_foreign_currency` to odoofin to avoid throwing errors when odoofin returns `foreign_currency_code` and `amount_currency` for customers that don't have the fix. Convert `foreign_currency_code` to corresponding `foreign_currency_id` in order to be displayed correctly alongside the amount in `account.bank.statement.line` To avoid a validation error(Currency is not activated) pop up for every foreign currency resides in trans
Original PR description
...d on foreign_currency_code received from odoofin Send `include_foreign_currency` to odoofin to avoid throwing errors when odoofin returns `foreign_currency_code` and `amount_currency` for customers that don't have the fix. Convert `foreign_currency_code` to corresponding `foreign_currency_id` in order to be displayed correctly alongside the amount in `account.bank.statement.line` To avoid a validation error(Currency is not activated) pop up for every foreign currency resides in transactions received from Odoofin while fetching transactions, Automatically activating foreign currencies. Remove foreign_currency_id and amount_currency from retrieved transactions in `Fetch Missing Transactions` flow in order to not break the flow in stable.(These fields will be added to `account.bank.statement.line.transient` in master) Odoofin PR: https://github.com/odoo/odoofin/pull/265 task id: 2870614 Forward-Port-Of: odoo/enterprise#60337
Configure 'Cash Discount Tax Reduction' on 'On early payment' Have a payment term [TERM] configured with 2% discount for early payment Create a [BILL_1] with: - partner: [DEMO] - payment terms: [TERM] - invoice line: qty 1, unit amount 161.10, tax 19% Create a [BILL_2] with: - partner: [DEMO] - payment terms: [TERM] - invoice line: qty 1, unit amount 77.50, tax 19% Create a bank statement with: - partner: [DEMO] - amount -278.27 - label: test Reconcile the bank statement wi
Original PR description
Configure 'Cash Discount Tax Reduction' on 'On early payment' Have a payment term [TERM] configured with 2% discount for early payment Create a [BILL_1] with: - partner: [DEMO] - payment terms: [TERM] - invoice line: qty 1, unit amount 161.10, tax 19% Create a [BILL_2] with: - partner: [DEMO] - payment terms: [TERM] - invoice line: qty 1, unit amount 77.50, tax 19% Create a bank statement with: - partner: [DEMO] - amount -278.27 - label: test Reconcile the bank statement with the 2 bills, the system will create 2 epd lines: - Discount line with credit 4.77 - Discount line tax with credit 0.90 Go to General Ledger Export "DATEV (ZIP)" and check accounting_entries.csv Issue: Early payment line amount will be 5.68 instead of 5.67 Similar to https://github.com/odoo/enterprise/commit/111cf205d91a1c8f46bc8d3f7b96b6dbfac7071b opw-3801374 Forward-Port-Of: odoo/enterprise#63799 Forward-Port-Of: odoo/enterprise#62910
Purpose ======= Prevent multiple submits of the attendee form when the user spam clicks on the "Confirm Appointment" button. Specifications ============== Spam clicking the submit button is submitting multiple times the form which redirects the user to the "Date & Time" step with a red banner indicating that another user already has reserved this time slot a few seconds ago. Adding a loading effect on the confirmation button to disable it after a single click and inform the user that t
Original PR description
Purpose ======= Prevent multiple submits of the attendee form when the user spam clicks on the "Confirm Appointment" button. Specifications ============== Spam clicking the submit button is submitting multiple times the form which redirects the user to the "Date & Time" step with a red banner indicating that another user already has reserved this time slot a few seconds ago. Adding a loading effect on the confirmation button to disable it after a single click and inform the user that the form submission is correctly being processed. Backport of: odoo/enterprise#58865 Task-3945177 Forward-Port-Of: odoo/enterprise#63067
To reproduce the Issue: - Preview any file. - Switch the file preview by clicking the NEXT button twice or thrice. - Now change the owner of the file. - The preview, switches back to the file you chose to preview at first. Reason: - Just as we change the owner of the file, the Component is rendered again, triggering the `onWillUpdateProps`. - At this moment, the value inside the `nextProps.startIndex` is the value, which was set the first time we clicked a file to preview it. It is not
Original PR description
To reproduce the Issue: - Preview any file. - Switch the file preview by clicking the NEXT button twice or thrice. - Now change the owner of the file. - The preview, switches back to the file you…
To reproduce the Issue: - Preview any file. - Switch the file preview by clicking the NEXT button twice or thrice. - Now change the owner of the file. - The preview, switches back to the file you chose to preview at first. Reason: - Just as we change the owner of the file, the Component is rendered again, triggering the `onWillUpdateProps`. - At this moment, the value inside the `nextProps.startIndex` is the value, which was set the first time we clicked a file to preview it. It is not equal to the index of the file currently previewed (`this.state.index`). - Hence, the LOC `this.activateFile(nextProps.startIndex)` executes and switches the preview back to the file present at the `startIndex`. ref. to, where the values of the `previewStore` (including the `startIndex`) are set: https://github.com/odoo/enterprise/blob/saas-16.4/documents/static/src/views/hooks.js#L330-L334 After this commit: - As we select multiple documents, and try to switch the preview from the `DocumentsInspector`, we now compare the current index with the index of the file we wish to preview. The record (`DocumentsKanbanRecord`) of the file (to switch the preview to) is already set as the `selectedDocument` before this Component is rendered. refer - https://github.com/odoo/enterprise/blob/saas-16.4/documents/static/src/views/hooks.js#L296-L298 - While updating the values inside the `DocumentsInspector` we no longer the face the issue of the preview switching to another document Task-3599129 Forward-Port-Of: odoo/enterprise#55957
Versions -------- - 17.0 - saas-17.1 - saas-17.2 Issue ----- From Payroll work entry view, the "Generate Payslips" and "Regenerate Work Entries" buttons have gone missing. Cause ----- In commit 4134ed00f6f I added a registry workaround in order to not modify the manifest. When `hr_gantt` gets added, the `workEntriesGanttView` gets updated to its value, but this overwrote the additions from `hr_work_entry_contract_enterprise` itself. Solution -------- Re-include the `Controller
Original PR description
Versions -------- - 17.0 - saas-17.1 - saas-17.2 Issue ----- From Payroll work entry view, the "Generate Payslips" and "Regenerate Work Entries" buttons have gone missing. Cause ----- In commit 4134ed00f6f I added a registry workaround in order to not modify the manifest. When `hr_gantt` gets added, the `workEntriesGanttView` gets updated to its value, but this overwrote the additions from `hr_work_entry_contract_enterprise` itself. Solution -------- Re-include the `Controller`, `Model` and `buttonTemplate` values when updating the registry. opw-3969616 Forward-Port-Of: odoo/enterprise#63909