Friday, June 16, 2023
60 changes · master
Enhancements to existing features
Forum administrators can now adjust the karma threshold that controls whether an author's profile popover appears on forum posts. This gives teams more flexibility to match forum interaction rules to their community needs instead of relying on a fixed default value.
Original PR description
before this commit, karma_user_bio was not added in the forum forum view and the default value set for the field was 750, this field decide whether the pop over has to show or not when user places the mouse hover the author box in the frontend forum post. after this commit, as the field is added to the view end user will be able to adjust the value as per the need. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This change improves how delivery and e-commerce apps depend on each other during installation. It avoids installing the full Sales app when e-commerce can already handle sales orders, while ensuring delivery support remains in place for online stock sales.
Original PR description
- `stock_delivery`: remove dependency to `sale_management` as it is not needed if `website_sale` is installed. Now, Sales app is installed only if e-commerce app is not; - `website_sale_stock`: force dependency to `stock_delivery`. This reinforces the dependency tree: as delivery is needed with `website_sale`, `stock_delivery` is expected to be installed when `website_sale_stock` is installed. This also prevent the deletion of this dependency module.
This update adds internal performance tests that compare how calculated values and default values behave in Odoo's test framework. It helps developers validate changes more reliably, with no direct impact on day-to-day users.
This update removes an unnecessary background calculation in the Accounting app. It simplifies internal processing after a prior change made that calculation redundant, with no expected change to day-to-day user workflows.
Original PR description
Since https://github.com/odoo/odoo/pull/125302/commits/a5aefc7f415cda0959d90b5d21b94fc8b8ee47e6 this compute is no longer necessary --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Planning users can now find materials by default role or assigned roles directly from the materials configuration screen. They can also group materials by these roles, making it easier to review and organize resources used in planning.
Original PR description
Description of the issue/feature this PR addresses: - configuration > materials > search view: add a quick search on 'default role' and on 'roles' (only visible in this specific menu in Planning) - configuration > materials > search view: add a group by on 'default role' and 'roles' (only visible in this specific menu in Planning) Task-3081351 --- I confirm I have signed the CLA and read the PR guidelines at [www.odoo.com/submit-pr](http://www.odoo.com/submit-pr)
Resolved issues and error corrections
Short mail and live chat conversations now appear anchored near the bottom of the thread area instead of floating awkwardly at the top. This makes sparse conversations feel more natural and consistent for users, especially in public live chat windows.
Original PR description
Before / After <img width="365" alt="before" src="https://github.com/odoo/odoo/assets/6569390/96660d0e-37a6-45c8-9b48-74032cc100c4"> <img width="363" alt="after" src="https://github.com/odoo/odoo/assets/6569390/7e462ed5-6a32-4b9a-b009-4eeda825200d"> Taking into account public livechat too: <img width="361" alt="public-livechat" src="https://github.com/odoo/odoo/assets/6569390/bb674721-6a8a-458e-aded-17ccecf78cb0">
Miscellaneous changes
With an mx company setup Create Invoice Validate CFDI Click "Send & Print" Issue: xml not in attachments In e9e90811aeee46989a83b21f9b59071a9c7bc362 the name of method responsible for loading attachment was changed from `_get_default_mail_attachments_data` to `_get_default_email_attachment_data` But the account_edi override wasn't changed so no xml was attached opw-3370272 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior af
Original PR description
With an mx company setup Create Invoice Validate CFDI Click "Send & Print" Issue: xml not in attachments In e9e90811aeee46989a83b21f9b59071a9c7bc362 the name of method responsible for loading attachment was changed from `_get_default_mail_attachments_data` to `_get_default_email_attachment_data` But the account_edi override wasn't changed so no xml was attached opw-3370272 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#125063
This fixes an issue where parent messages could appear as plain text when users loaded messages around a specific point in a conversation. The change improves readability and keeps mail discussions consistently formatted.
Long department names in the HR app now display correctly instead of overflowing or being cut off awkwardly. This makes department information easier to read and keeps HR screens cleaner for users.
Original PR description
fix display of too long department names task 3360172
The Send button in the chatter now uses the correct visual style. This fixes a small display issue so users see a consistent and appropriate button appearance when composing messages.
Original PR description
Small mistake during forward-port of [1], `btn-link` was moved from `t-att-class` to `class`. The `btn-link` visual is specific to non-chatter, therefore it should be in `t-att-class`. [1] https://github.com/odoo/odoo/pull/124905
This fixes a duplicated Start Date field that appeared in subscription-related sales order forms. Users now see a cleaner form with less confusion when reviewing or editing subscription sales orders.
Original PR description
Since: #36968 the start_date field has been a duplicated field in SO view of sale_subscription. This PR remove the duplicate.
This fixes a crash in Odoo Studio that could happen after a user selected a newly added field and then clicked undo. Studio now handles the removed field safely, keeping the editing experience stable.
Original PR description
In Studio, if you perform an operation when focusing a node and as a result, the node disappears, it cause a crash. Steps to reproduce ------------------- - Create a new empty app - Drag & Drop a new field in the form view - Focus the new field - Click on undo Actual behaviour ----------------- - It crash because Studio tries to focus the deleted node Expected behaviour -------------------- - doesn't crash
In a Sale Order, it is possible to select an invoice address without a name. The partner of the transaction does not have a name, which leads to a traceback when trying to split the name. The idea is to force the name to be filled, with a fallback on the partner' parent name. OPW-3338406 Forward-Port-Of: odoo/odoo#124825
Original PR description
In a Sale Order, it is possible to select an invoice address without a name. The partner of the transaction does not have a name, which leads to a traceback when trying to split the name. The idea is to force the name to be filled, with a fallback on the partner' parent name. OPW-3338406 Forward-Port-Of: odoo/odoo#124825
[FIX] account: Create new attachments for mail message in send & print When creating the attachments for the mail.message, copy the attachments instead of linking the existing ones. That way, even if the user deletes the PDF or another business documents, the history remains the same and can be retrieved easily. [FIX] account_peppol: commit after updating the move When using the Send & Print wizard in invoice_single, the error is raised if any making all changes rollbacked including the
Original PR description
[FIX] account: Create new attachments for mail message in send & print When creating the attachments for the mail.message, copy the attachments instead of linking the existing ones. That way, even if the user deletes the PDF or another business documents, the history remains the same and can be retrieved easily. [FIX] account_peppol: commit after updating the move When using the Send & Print wizard in invoice_single, the error is raised if any making all changes rollbacked including the update of the 'peppol_move_state'. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#124591
When odoo tab is out-of-focus and user receives a new message, it should play a sound effect. This works when showing notification in Odoo, but when push notifications were enabled it did not play the audio. This commit fixes the issue by playing audio when receiving push notification of new message while out-of-focusing the tab. Forward-Port-Of: odoo/odoo#125177
Original PR description
When odoo tab is out-of-focus and user receives a new message, it should play a sound effect. This works when showing notification in Odoo, but when push notifications were enabled it did not play the audio. This commit fixes the issue by playing audio when receiving push notification of new message while out-of-focusing the tab. Forward-Port-Of: odoo/odoo#125177
Before this commit: In discuss when a user receives a message containing strings from any of these '>,<,&' it gets converted to `>,<,&` respectively. For example, if a user sends '<abc>' , when the chat is out of focus, the toaster notification will show a notification with an escaped message i.e.`<abc>`. After this commit: The message will be shown as it is, in the toaster notification. Task-3284244 Forward-Port-Of: odoo/odoo#125240
Original PR description
Before this commit: In discuss when a user receives a message containing strings from any of these '>,<,&' it gets converted to `>,<,&` respectively. For example, if a user sends '<abc>' , when the chat is out of focus, the toaster notification will show a notification with an escaped message i.e.`<abc>`. After this commit: The message will be shown as it is, in the toaster notification. Task-3284244 Forward-Port-Of: odoo/odoo#125240
Forward-Port-Of: odoo/odoo#125270
Original PR description
Forward-Port-Of: odoo/odoo#125270
Before this commit, when deleting an attachment from composer, an undefined message was inserted in the store. Forward-Port-Of: odoo/odoo#125231
Original PR description
Before this commit, when deleting an attachment from composer, an undefined message was inserted in the store. Forward-Port-Of: odoo/odoo#125231
When user tries to enter extra info from Configure Form from 'settings' so 'website.sale_get_order' method does not get any order. Steps to reproduce: 1) Install website_sale module. 2) Click on settings > activate 'Extra Step During Checkout' > click on 'Save' button. 3) Now in 'settings', click on 'Configure Form' under 'Extra Step During Checkout'. 4) Now, click on 'Discard' button on top right of screen. 5) Enter something in textbox 'Give us your feedback' > click on 'Nex
Original PR description
When user tries to enter extra info from Configure Form from 'settings' so 'website.sale_get_order' method does not get any order. Steps to reproduce: 1) Install website_sale module. 2) Click on…
When user tries to enter extra info from Configure Form from 'settings' so
'website.sale_get_order' method does not get any order.
Steps to reproduce:
1) Install website_sale module.
2) Click on settings > activate 'Extra Step During Checkout' > click on 'Save'
button.
3) Now in 'settings', click on 'Configure Form' under
'Extra Step During Checkout'.
4) Now, click on 'Discard' button on top right of screen.
5) Enter something in textbox 'Give us your feedback' > click on 'Next' button
and traceback will be generated in backend.
```
ValueError: not enough values to unpack (expected 1, got 0)
File "odoo/models.py", line 5379, in ensure_one
_id, = self._ids
ValueError: Expected singleton: sale.order()
File "odoo/http.py", line 2114, in __call__
response = request._serve_db()
File "odoo/http.py", line 1699, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1726, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1840, in dispatch
return self.request.registry['ir.http']._dispatch(endpoint)
File "addons/website/models/ir_http.py", line 234, in _dispatch
response = super()._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 190, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 716, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/website_sale/controllers/main.py", line 117, in website_form_saleorder
order._message_log(
File "addons/mail/models/mail_thread.py", line 2589, in _message_log
self.ensure_one()
File "odoo/models.py", line 5382, in ensure_one
raise ValueError("Expected singleton: %s" % self)
```
Error: ValueError: Expected singleton: sale.order() traceback will be generated
because in method '_message_log' it is expecting a record.
Sentry-4126876202
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#124428Description 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#122197
Original PR description
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#122197
This PR fixes some Editor behaviors related to `contenteditable="false"` and `data-oe-protected="true"` elements. The following is an outline of the changes, please read each commit message for a more detailed explanation. - Prevent some commands of the editor to affect `contenteditable="false"` nodes, mainly to avoid OWL crashes in Knowledge (`Behavior` anchors are always `contenteditable="false"` and their child nodes are managed by OWL). But this change makes sense even witho
Original PR description
This PR fixes some Editor behaviors related to `contenteditable="false"` and `data-oe-protected="true"` elements. The following is an outline of the changes, please read each commit message for a…
This PR fixes some Editor behaviors related to `contenteditable="false"` and `data-oe-protected="true"` elements. The following is an outline of the changes, please read each commit message for a more detailed explanation. - Prevent some commands of the editor to affect `contenteditable="false"` nodes, mainly to avoid OWL crashes in Knowledge (`Behavior` anchors are always `contenteditable="false"` and their child nodes are managed by OWL). But this change makes sense even without considering OWL crashes (prevent changes on non-editable elements). - Prevent custom editor selection of protected tables. Those tables are managed by OWL, and should not be altered by the editor to avoid OWL crashes. - Allow the editor to fix the selection for `contenteditable="false"` elements if they are under a `data-oe-protected="true"` element, only if the the selection does not target an `input` or a `textarea`. This is to avoid being able to remove element using "Backspace" after clicking on a non-editable protected element. - Fixes `getNormalizedCursorPosition` so that it does not return a non-editable position. task-3280704 Forward-Port-Of: odoo/odoo#124799 Forward-Port-Of: odoo/odoo#121249
TASK-ID: 3369617 Forward-Port-Of: odoo/odoo#123885
Original PR description
TASK-ID: 3369617 Forward-Port-Of: odoo/odoo#123885
This commit fixes the object reference issue which was linked to the TaxTotals Component computations. The issue was that discarding changes on the tax field of a vendor bill wouldn't roll back the field's value visually while the record would still have correctly updated values. This issue originates from the fact that operations were made to compute the taxes in the component but these would affect the server data as well since the object reference between the local data and the server data wa
Original PR description
This commit fixes the object reference issue which was linked to the TaxTotals Component computations. The issue was that discarding changes on the tax field of a vendor bill wouldn't roll back the field's value visually while the record would still have correctly updated values. This issue originates from the fact that operations were made to compute the taxes in the component but these would affect the server data as well since the object reference between the local data and the server data was the same. This means that the discard operation would bring the displayed value back to the server data's one which has been modified by the computations so it would not work. The reference to the server data is now separated from the local one so that the bug won't appear anymore. opw-3285209 Forward-Port-Of: odoo/odoo#125157 Forward-Port-Of: odoo/odoo#123278
For a `pos.payment.method`, it is possible to define an outstanding account, but if this account is not defined as an outstanding account in the company settings nor in the journal, the payment will not be considered in the bank reconciliation, nor in the bank reconciliation report. Steps to reproduce (demo-data with POS and Accounting installed): -go to 'Point of Sale/Configuration/Payment Methods'. -click on the "Bank" payment method. -add an 'Outstanding Account' which is not the defau
Original PR description
For a `pos.payment.method`, it is possible to define an outstanding account, but if this account is not defined as an outstanding account in the company settings nor in the journal, the payment will…
For a `pos.payment.method`, it is possible to define an outstanding account, but if this account is not defined as an outstanding account in the company settings nor in the journal, the payment will not be considered in the bank reconciliation, nor in the bank reconciliation report. Steps to reproduce (demo-data with POS and Accounting installed): -go to 'Point of Sale/Configuration/Payment Methods'. -click on the "Bank" payment method. -add an 'Outstanding Account' which is not the default outstanding account of the company, nor an outstanding account of an `account.payment.method.line`. So for example "Liquidity Transfer". -then open a POS session, sell smth, pay with the Bank method, validate, then close the session. -If you go to 'Accounting/Customers/Payments', you can see that an `account.payment` has been created, with the outstanding account being "Liquidity Transfer". ->It is not possible to reconcile that payment with a `bank.statement.line`. If you go to the accounting dashboard, then click the reconcile button of the journal "Bank", then on a statement line with no partner, you will not see the outstanding line of that payment. ->If you open the 'Reconciliation Report' of the journal "Bank" (accessible from the journal dashboard, by clicking the options of the journal), the line will not show in the 'Outstanding Receipts' category. FIX: Override the `_get_journal_inbound_outstanding_payment_accounts` method of `account.journal`, to add the accounts from each `pos.payment.method` linked to the journal. Using the field `pos_payment_method_ids` from `account.journal`. opw-3271090 Forward-Port-Of: odoo/odoo#121158
Have an Egyptian company setup Go to Currencies > USD Add a new entry with Unit per EGP 0.03232062055591467 Issue: Warning will raise "Please make sure that the EGP per unit is within 5 decimal accuracy. Higher decimal accuracy might lead to inconsistency with the ETA invoicing portal!" Even if the shown EGP per Unit is 30.940000000000 it is actually 30.940000000000005 and it will fail the equal-to-rounding test opw-3333395 Description of the issue/feature this PR addresses: Cu
Original PR description
Have an Egyptian company setup Go to Currencies > USD Add a new entry with Unit per EGP 0.03232062055591467 Issue: Warning will raise "Please make sure that the EGP per unit is within 5 decimal accuracy. Higher decimal accuracy might lead to inconsistency with the ETA invoicing portal!" Even if the shown EGP per Unit is 30.940000000000 it is actually 30.940000000000005 and it will fail the equal-to-rounding test opw-3333395 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#124812
Have a product with internal reference Open POS session Create an order with the product Invoice Issue: Internal reference is shown twice on the invoice line opw-3343170 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#124620
Original PR description
Have a product with internal reference Open POS session Create an order with the product Invoice Issue: Internal reference is shown twice on the invoice line opw-3343170 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#124620
Steps: - Install timesheet. - Give user a `user: own timesheets` access. - Open timesheet app. Issue: - `My Timesheet` menu is not visible and `Reporting` is visible but timesheet user should be able to see `My Timesheet` menu not `Reporting` menu. Cause: - Both `My Timesheet` menus are under that `Timesheets` menu which has appover group set on it but one of then should be outside of that menu and missing group on `Reporting` menu. Fix: - Move one of `My Timesheet` menu outside t
Original PR description
Steps: - Install timesheet. - Give user a `user: own timesheets` access. - Open timesheet app. Issue: - `My Timesheet` menu is not visible and `Reporting` is visible but timesheet user should be able to see `My Timesheet` menu not `Reporting` menu. Cause: - Both `My Timesheet` menus are under that `Timesheets` menu which has appover group set on it but one of then should be outside of that menu and missing group on `Reporting` menu. Fix: - Move one of `My Timesheet` menu outside to display it for timesheet user and add approver group on `Reporting` menu. task-3369534 Forward-Port-Of: odoo/odoo#124972
Before this commit, push notificiation content was not displayed correct. When receiving message `<`, it shows `<`. This commit fixes the issue by not unescaping the content. Forward-Port-Of: odoo/odoo#125278
Original PR description
Before this commit, push notificiation content was not displayed correct. When receiving message `<`, it shows `<`. This commit fixes the issue by not unescaping the content. Forward-Port-Of: odoo/odoo#125278
Fix a reference to an account that is not defined in Common tests of accounting. Forward-Port-Of: odoo/odoo#124831
Original PR description
Fix a reference to an account that is not defined in Common tests of accounting. Forward-Port-Of: odoo/odoo#124831
Issue: ------ When a cart is created via ecommerce, an email is sent to the salesperson (defined in Settings/Website/Assignment). This email contains a subtitle with the amount of the sale order. This price is always 0.00. Cause: ------ The email is sent during the creation of the sale order and not after it has been updated with the product information. Solution: --------- Use a key in the context to prevent sending the price of a sale order. Remark: The email sent in this case
Original PR description
Issue: ------ When a cart is created via ecommerce, an email is sent to the salesperson (defined in Settings/Website/Assignment). This email contains a subtitle with the amount of the sale order. This price is always 0.00. Cause: ------ The email is sent during the creation of the sale order and not after it has been updated with the product information. Solution: --------- Use a key in the context to prevent sending the price of a sale order. Remark: The email sent in this case is an assignment email only. Mentioning the price in this case would not be relevant if the customer subsequently updates their cart. opw-3329722 Forward-Port-Of: odoo/odoo#123916
Steps to reproduce ================== - Switch to arabic - Open a datepicker - Select the month The month are displayed twice in two different arabic namings. Cause of the issue ================== There is an issue in the moment locale files since [0]. It has been made apparent since [1]. Solution ======== Cherry pick a fix from the moment repo [2]. Revert the ar.js locale from before [0] [0]: 11f3e7351a899848ec4df0107c3f6e2a627807ba [1]: 6a1183f4c93ad068524a3242cd7
Original PR description
Steps to reproduce ================== - Switch to arabic - Open a datepicker - Select the month The month are displayed twice in two different arabic namings. Cause of the issue ================== There is an issue in the moment locale files since [0]. It has been made apparent since [1]. Solution ======== Cherry pick a fix from the moment repo [2]. Revert the ar.js locale from before [0] [0]: 11f3e7351a899848ec4df0107c3f6e2a627807ba [1]: 6a1183f4c93ad068524a3242cd7b4e37f68fbf95 [2]: https://github.com/moment/moment/commit/251fba65cca5d5b2cf79f1f51a9d413c5e0cb161 opw-3349560 Forward-Port-Of: odoo/odoo#125241
Before this commit, when viewing the content of an html field in readonly mode, internal links (same origin or relative links) that did not have the target attribute set to "_blank" would be opened in the same browser tab. This is undesired, and particularly disturbing when the content is inside an iframe. This commit ensures that, in readonly mode, all links are opened in a new tab. task-3323602 See discussion in https://github.com/odoo/odoo/pull/124473 Forward-Port-Of: odoo/odoo#1250
Original PR description
Before this commit, when viewing the content of an html field in readonly mode, internal links (same origin or relative links) that did not have the target attribute set to "_blank" would be opened in the same browser tab. This is undesired, and particularly disturbing when the content is inside an iframe. This commit ensures that, in readonly mode, all links are opened in a new tab. task-3323602 See discussion in https://github.com/odoo/odoo/pull/124473 Forward-Port-Of: odoo/odoo#125024
When user changes the default_account_id on a journal and tries to open a statement line, they will get the traceback. Note: This is reproduceable by using account_accountant only. Steps to reproduce: 1) open configuration of bank journal 2) change default_account_id (bank account) from bank to cash 3) open bank statement 4) open any statement line 5) by following these steps, traceback occurs. ```shell Traceback (most recent call last): File "/data/build/odoo/odoo/http.py", l
Original PR description
When user changes the default_account_id on a journal and tries to open a statement line, they will get the traceback. Note: This is reproduceable by using account_accountant only. Steps to…
When user changes the default_account_id on a journal and tries to open a statement line, they will get the traceback.
Note: This is reproduceable by using account_accountant only.
Steps to reproduce:
1) open configuration of bank journal
2) change default_account_id (bank account) from bank to cash
3) open bank statement
4) open any statement line
5) by following these steps, traceback occurs.
```shell
Traceback (most recent call last):
File "/data/build/odoo/odoo/http.py", line 1698, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "/data/build/odoo/odoo/service/model.py", line 134, in retrying
result = func()
File "/data/build/odoo/odoo/http.py", line 1725, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "/data/build/odoo/odoo/http.py", line 1922, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "/data/build/odoo/addons/website/models/ir_http.py", line 234, in _dispatch
response = super()._dispatch(endpoint)
File "/data/build/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
result = endpoint(**request.params)
File "/data/build/odoo/odoo/http.py", line 715, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "/data/build/odoo/addons/web/controllers/dataset.py", line 28, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/data/build/odoo/addons/web/controllers/dataset.py", line 24, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/data/build/odoo/odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/data/build/odoo/odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/data/build/enterprise/account_accountant/models/bank_rec_widget.py", line 923, in onchange
return super(BankRecWidget, self.with_context(recursive_onchanges=False)).onchange(values, field_name, field_onchange)
File "/data/build/odoo/odoo/models.py", line 6529, in onchange
record._onchange_eval(name, field_onchange[name], result)
File "/data/build/odoo/odoo/models.py", line 6240, in _onchange_eval
method_res = method(self)
File "/data/build/enterprise/account_accountant/models/bank_rec_widget.py", line 662, in _onchange_todo_command
self._process_todo_command(command_split[0], command_split[1:])
File "/data/build/enterprise/account_accountant_batch_payment/models/bank_rec_widget.py", line 131, in _process_todo_command
super()._process_todo_command(command_name, command_args)
File "/data/build/enterprise/account_accountant/models/bank_rec_widget.py", line 617, in _process_todo_command
self._action_trigger_matching_rules()
File "/data/build/enterprise/sale_account_accountant/models/bank_rec_widget.py", line 15, in _action_trigger_matching_rules
matching = super()._action_trigger_matching_rules()
File "/data/build/enterprise/account_accountant/models/bank_rec_widget.py", line 1506, in _action_trigger_matching_rules
matching = reconcile_models._apply_rules(self.st_line_id, self.partner_id)
File "/data/build/enterprise/account_accountant/models/account_reconcile_model.py", line 181, in _apply_rules
res = rec_model._get_invoice_matching_amls_result(st_line, partner, candidate_vals)
File "/data/build/enterprise/account_accountant/models/account_reconcile_model.py", line 558, in _get_invoice_matching_amls_result
status = self._check_rule_propositions(st_line, kepts_amls_values_list)
File "/data/build/enterprise/account_accountant/models/account_reconcile_model.py", line 583, in _check_rule_propositions
amls_amount_curr = sum(
File "/data/build/enterprise/account_accountant/models/account_reconcile_model.py", line 584, in <genexpr>
st_line._prepare_counterpart_amounts_using_st_line_rate(
File "/data/build/odoo/addons/account/models/account_bank_statement_line.py", line 531, in _prepare_counterpart_amounts_using_st_line_rate
journ_amount_currency = journal_currency.round(balance * rate_comp2journal_curr)
File "/data/build/odoo/odoo/addons/base/models/res_currency.py", line 208, in round
self.ensure_one()
File "/data/build/odoo/odoo/models.py", line 5202, in ensure_one
raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: res.currency()
```
This commit will prevent the above traceback.
sentry - 4059226840
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#122428Remove unnecessary ThreadIcon that only served as spacing, properly add module icon for chatter records. Forward-Port-Of: odoo/odoo#125397
Original PR description
Remove unnecessary ThreadIcon that only served as spacing, properly add module icon for chatter records. Forward-Port-Of: odoo/odoo#125397
Process has been refactor on 16.2: https://github.com/odoo/odoo/commit/955091e707df1206ccda8314f1f182e2a37a8362 Steps to reproduce on fresh SaaS~16.2: Connected as Admin: Install localization module LUX l10n_lu, Switch to the LU company Modify a res.partner, on the tab "Invoicing": Handle his electronic invoicing to use the format ubl_bis3 described as Peppol BIS Billing 3.0 Select any value in the field Peppol e-address (EAS) And put any value in the field Peppol Endpoint(I used
Original PR description
Process has been refactor on 16.2: https://github.com/odoo/odoo/commit/955091e707df1206ccda8314f1f182e2a37a8362 Steps to reproduce on fresh SaaS~16.2: Connected as Admin: Install localization module…
Process has been refactor on 16.2: https://github.com/odoo/odoo/commit/955091e707df1206ccda8314f1f182e2a37a8362 Steps to reproduce on fresh SaaS~16.2: Connected as Admin: Install localization module LUX l10n_lu, Switch to the LU company Modify a res.partner, on the tab "Invoicing": Handle his electronic invoicing to use the format ubl_bis3 described as Peppol BIS Billing 3.0 Select any value in the field Peppol e-address (EAS) And put any value in the field Peppol Endpoint(I used 1234567890) On the tab "Sales&Purchaes", inner group "MISC", Add anything in the reference field (required for Peppol) Create an invoice, selection the partner modified, add a product and a recipient bank Confirm & Send&Print button, save the document layout. On the Send Wizard: uncheck all except "Peppol BIS Billing 3.0", hit Save&Print button. If you create a new Invoice for the same customer as Marc Demo, You should also see that the icon on the attached xml is of mimetype "application/xml". Which is displayed on the icon as "</>". Prior to this fix: If you do the same steps with a user that does not have the write access right to the model ir_ui_view (see _check_contents in base), the attachment will be of type text/plain. The issue that this trigger, is that the email going out will have the wrong Content-Type for the attachments. Which will lead to incorrect management on other provider. We can bypass the security here as the XML is generated by Odoo. opw-3263542 Forward-Port-Of: https://github.com/odoo/odoo/pull/125059 Forward-Port-Of: https://github.com/odoo/odoo/pull/124507
[FIX] web_editor: show background image options after save Steps to reproduce the bug: - Add a cover snippet on the website. - Change the background image with one of your own. - Save and edit again. => Options such as "Filter", "Width" and "Quality" do not appear anymore. The problem is that the `src` attribute of the background image is not correctly updated when initializing the image. This is because the target used to recover the URL of the background image is the snippet an
Original PR description
[FIX] web_editor: show background image options after save Steps to reproduce the bug: - Add a cover snippet on the website. - Change the background image with one of your own. - Save and edit again.…
[FIX] web_editor: show background image options after save Steps to reproduce the bug: - Add a cover snippet on the website. - Change the background image with one of your own. - Save and edit again. => Options such as "Filter", "Width" and "Quality" do not appear anymore. The problem is that the `src` attribute of the background image is not correctly updated when initializing the image. This is because the target used to recover the URL of the background image is the snippet and not the image itself. This problem is resolved by ensuring that the argument of the function `getBgImageURL` is the background image. Now that the `src` attribute is correctly updated, the `computeVisibility` function of the the `BackgroundOptimize` option works properly and the options "Filter", "Width" and "Quality" are displayed as wanted. Note that now, the dataset of the target is filtered with a "white list" (BACKGROUND_IMAGE_ATTRIBUTES) before being copied in the dataset of `this.img`. Indeed, if the parallax is set to "None" for example, we do not want data attributes such as `data-snippet` to be copied in the dataset of `this.img`. task-3287330 ------------------------------------------------------------------------------------------------------------------------------------------------------------------ [FIX] web_editor: modify background element at option change For background images, modifying options such as "Filter" does not directly lead to the modification of their corresponding data attributes in the DOM as those modifications are done at the save request. This should not be the case. The goal of this commit is to, as for regular images, modify their corresponding DOM data attributes at the option update. Steps to reproduce the bug: - Add a Cover snippet on the website. - Replace the background image by one of your own. - Add a filter to the background image. - Inspect the Cover snippet. => The `data-gl-filter` attribute has not been added in the DOM and you have to click on "Save" for it to be actually added. task-3287330 ------------------------------------------------------------------------------------------------------------------------------------------------------------------ [FIX] *: transfer the dataset when changing background options target *: web_editor, website Steps to reproduce the bug: - Add a Cover snippet on the website. - Put a "Blur" filter on the background image. - Save. - Change the parallax from "Fixed" to "None". - Save and edit. => The "Filter" option displays "None" but should display "Blur". When changing the parallax, `setTarget()` is called. The goal of this function is to transfer the `background-image` from the old target to the new one. The commit modifies this function by adding the transfer of the dataset information relative to the background image from the old target to the new one. It also transfers the `o_modified_image_to_save` class from the old target to the new one if needed. Upgrade PR: https://github.com/odoo/upgrade/pull/4767 task-3287330 Forward-Port-Of: odoo/odoo#123182 Forward-Port-Of: odoo/odoo#119596
Before this commit, `o_grid_item_image` was not handling videos but image-only. This commit adds support for `.media_iframe_video` in addition to `img` to ensure consistent styling across both images and videos within the grid items. task-3103775 Forward-Port-Of: odoo/odoo#121266
Original PR description
Before this commit, `o_grid_item_image` was not handling videos but image-only. This commit adds support for `.media_iframe_video` in addition to `img` to ensure consistent styling across both images and videos within the grid items. task-3103775 Forward-Port-Of: odoo/odoo#121266
Prior to this commit, the buttons in `binary_field` didn't have space between them. This commit fixes this issue. 👉 https://www.awesomescreenshot.com/image/40055599?key=e9026aa3239b1b576dc92b0e03bff83f task-3334887 Part of task-3326263 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121931
Original PR description
Prior to this commit, the buttons in `binary_field` didn't have space between them. This commit fixes this issue. 👉 https://www.awesomescreenshot.com/image/40055599?key=e9026aa3239b1b576dc92b0e03bff83f task-3334887 Part of task-3326263 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#121931
Since d88409e8e5ce77ff3ec3b24fcdc108d8df380994, taxes from different companies are forbidden on sale.order.line records (which is the expected behavior). Nonetheless, this highlighted some flows where the taxes were not properly set/recomputed, especially re-invoicing, which is fixed by the current commit. Fixes #123675 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#125263 Forward-Port-Of: odoo/odoo#124483
Original PR description
Since d88409e8e5ce77ff3ec3b24fcdc108d8df380994, taxes from different companies are forbidden on sale.order.line records (which is the expected behavior). Nonetheless, this highlighted some flows where the taxes were not properly set/recomputed, especially re-invoicing, which is fixed by the current commit. Fixes #123675 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#125263 Forward-Port-Of: odoo/odoo#124483
This commit fixes small bugs: - Sometimes we don't receive the attachments' file name from the proxy. Instead of saving the attachment with `False` as the filename, we should default to something. - If for some reason the participant's status is changed on the proxy server after documents have been sent, retrieving the message status will traceback. This commit adds a condition to catch this case. - Currently, the participant status is only updated if their application is pending. But it ca
Original PR description
This commit fixes small bugs: - Sometimes we don't receive the attachments' file name from the proxy. Instead of saving the attachment with `False` as the filename, we should default to something. - If for some reason the participant's status is changed on the proxy server after documents have been sent, retrieving the message status will traceback. This commit adds a condition to catch this case. - Currently, the participant status is only updated if their application is pending. But it can happen that they are approved but not registered to the SMP. Participant status should be checked for approved edi users too. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#124116
Currently, we call the web service before the PDF is rendered. This is often required for some localizations, for example, Mexico. However, in some other cases, we need to embed the pdf document in the XML file, like in Peppol. In this case, we need to call the proxy after the pdf has been rendered. This commit adds an additional hook that is being called at the end of `_generate_invoice_documents`, after all the documents have been generated and postprocessed. `account_peppol` will use the n
Original PR description
Currently, we call the web service before the PDF is rendered. This is often required for some localizations, for example, Mexico. However, in some other cases, we need to embed the pdf document in the XML file, like in Peppol. In this case, we need to call the proxy after the pdf has been rendered. This commit adds an additional hook that is being called at the end of `_generate_invoice_documents`, after all the documents have been generated and postprocessed. `account_peppol` will use the new hook instead of the old one. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#124816
This results in parent message being displayed as text when it is part of the result of a load around call. Forward-Port-Of: odoo/odoo#125356
Original PR description
This results in parent message being displayed as text when it is part of the result of a load around call. Forward-Port-Of: odoo/odoo#125356
Fix wrong attrs introduced by: https://github.com/odoo/odoo/commit/ef9e266c86cbc4abc24e2a6f597a2014e6e3439a Comparing a Many2one with True is wrong. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#125409
Original PR description
Fix wrong attrs introduced by: https://github.com/odoo/odoo/commit/ef9e266c86cbc4abc24e2a6f597a2014e6e3439a Comparing a Many2one with True is wrong. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#125409
The bank recon custom view relies on the noContentHelper. (When there are no records, a custom noContentHelper is displayed including buttons to clear filters) When the view is activated from a RedirectWarning, the action's help text is not marked up therefore displaying raw html in the UI. With this fix, the actions help key is marked up (very similar to the doActionButton) To reproduce: - On a DB with demo data - Accounting -> Actions -> Lock Dates - Set a lock date for all users
Original PR description
The bank recon custom view relies on the noContentHelper. (When there are no records, a custom noContentHelper is displayed including buttons to clear filters) When the view is activated from a…
The bank recon custom view relies on the noContentHelper. (When there are no records, a custom noContentHelper is displayed including buttons to clear filters) When the view is activated from a RedirectWarning, the action's help text is not marked up therefore displaying raw html in the UI. With this fix, the actions help key is marked up (very similar to the doActionButton) To reproduce: - On a DB with demo data - Accounting -> Actions -> Lock Dates - Set a lock date for all users (after the last unreconciled date, ensure there are no unposted moved before this date) - You will be presented with a Redirect Warning Dialog - Click Show Unreconiled Bank Statement Lines - If there are lines, use the filter to search for "SomethingThatWontReturnRecords" - You will see raw html <img width="951" alt="Screenshot 2023-06-15 at 17 17 30" src="https://github.com/odoo/odoo/assets/5903536/5d1ed377-460c-47cd-a539-7dbd2407d238"> Task-3366470 Forward-Port-Of: odoo/odoo#125254
To reproduce - Ensure there are no draft entries - Ensure there are only bank transactions that are marked as "to check" but not reconciled - Try to set a lock date for all users after the date of the "to check" transaction - A redirect warning is displayed, click "Show Unreconciled Bank Statement Lines" - You are redirected to the bank recon, but no transactions are displayed The cause: The "Not Matched" filter has a domain ('to_check', '=', false). So even though there is a domain on
Original PR description
To reproduce
- Ensure there are no draft entries
- Ensure there are only bank transactions that are marked as "to check" but not reconciled
- Try to set a lock date for all users after the date of the "to check" transaction
- A redirect warning is displayed, click "Show Unreconciled Bank Statement Lines"
- You are redirected to the bank recon, but no transactions are displayed
The cause:
The "Not Matched" filter has a domain ('to_check', '=', false). So even though there is a domain on the unreconciled transaction id's, the "Not Matched" filter excludes them.
The Solution:
Remove the default "Not Matched" filter
The related community PR addresses the issue of HTML displayed in the no Content Helper (when no records are visible)
Task-3366470
Forward-Port-Of: odoo/enterprise#42641On bank recon, when a user modifies the debit/credit amount to reconcile, then adds another line, the modification is lost. This commit will ensure that user edits (to both amount and amount_currency) are not replaced Task-3370756 OPW-3223938 OPW-3275429 Forward-Port-Of: odoo/enterprise#42557
Original PR description
On bank recon, when a user modifies the debit/credit amount to reconcile, then adds another line, the modification is lost. This commit will ensure that user edits (to both amount and amount_currency) are not replaced Task-3370756 OPW-3223938 OPW-3275429 Forward-Port-Of: odoo/enterprise#42557
When the error message couldn't be converted into the chosen language, so an error would be generated. Sentry Traceback :- ``` TypeError: not all arguments converted during string formatting File "odoo/tools/translate.py", line 459, in __call__ return translation % (args or kwargs) ``` sentry: - 4062234556 Forward-Port-Of: odoo/enterprise#41392
Original PR description
When the error message couldn't be converted into the chosen language, so an error would be generated.
Sentry Traceback :-
```
TypeError: not all arguments converted during string formatting
File "odoo/tools/translate.py", line 459, in __call__
return translation % (args or kwargs)
```
sentry: - 4062234556
Forward-Port-Of: odoo/enterprise#41392In most cases, a partner is either a customer or a vendor. Odoo is able to determine this based on the `customer_rank` and `supplier_rank` fields. We can be certain when one field is positive, and the other is zero. In this PR, the appropriate receivable or payable account is used (when there is certainty) If there is no certainty (partner has both customer & vendor rank), the current behaviour is retained, ie. receivable account for incoming transactions, and payable account for outgoing tra
Original PR description
In most cases, a partner is either a customer or a vendor. Odoo is able to determine this based on the `customer_rank` and `supplier_rank` fields. We can be certain when one field is positive, and the other is zero. In this PR, the appropriate receivable or payable account is used (when there is certainty) If there is no certainty (partner has both customer & vendor rank), the current behaviour is retained, ie. receivable account for incoming transactions, and payable account for outgoing transactions. Task-3273231 Forward-Port-Of: odoo/enterprise#42031
Setup a ES company with fiscal localization PGCE PYME Open Balance Sheet > Report: PYMES Balance Sheet (ES) The amount in the section “A-1) VII. Resultato del ejericio” in the part of the report “Total Patrimonio neto y pasivo” is not same as the one on the P&L report. opw-3331692 Forward-Port-Of: odoo/enterprise#41550
Original PR description
Setup a ES company with fiscal localization PGCE PYME Open Balance Sheet > Report: PYMES Balance Sheet (ES) The amount in the section “A-1) VII. Resultato del ejericio” in the part of the report “Total Patrimonio neto y pasivo” is not same as the one on the P&L report. opw-3331692 Forward-Port-Of: odoo/enterprise#41550
## Current behaviour If an user doesn't have any employee rights, they can't clock timesheets using the header timer bar, they are met with an Access Error, that only approvers can validate a timesheet. ## Expected behaviour An user with no employee rights should be able to clock timesheets using the header bar in the Timesheets app. ## Steps to reproduce - Install Timesheets - Remove employee rights of Marc Demo - Login as Marc Demo - Go to Timesheets > (any of the view you have the
Original PR description
## Current behaviour If an user doesn't have any employee rights, they can't clock timesheets using the header timer bar, they are met with an Access Error, that only approvers can validate a…
## Current behaviour If an user doesn't have any employee rights, they can't clock timesheets using the header timer bar, they are met with an Access Error, that only approvers can validate a timesheet. ## Expected behaviour An user with no employee rights should be able to clock timesheets using the header bar in the Timesheets app. ## Steps to reproduce - Install Timesheets - Remove employee rights of Marc Demo - Login as Marc Demo - Go to Timesheets > (any of the view you have the timer header, so grid/list/kanban) - Start the timer, add a project - Add a task (AccessError!) ## Reason for the problem The AccessError is triggered by the check `_check_can_write`, which checks for *presence* of the field `'validated'`. All theses views I've mentioned define this field as invisible, since it is used for a few display conditions of the items displayed in the views. When we start the timer, a new front-end `timesheet` record is created, which uses the fields defined from the view, so `validated` included. When we add the task, the hook is saving the current state of the timesheet by initiating a write with the content of the record, which includes the field `validated` with the value `false`. This trips up the check, because our current user doesn't have the group `hr_timesheet.group_hr_timesheet_approver` and the key `validated` is present. ## Fix To avoid having OWL send the field for writing, a solution is to set such field as readonly, since readonly fields are dropped before sending the write call to the server. The field is invisible all cases, so it is safe (it can't be modified by the user anyway). The only specificity is for the kanban-view. *All* fields that are defined in kanban view are implicitly `force_save='1'` if not specified otherwise. Since the presence of `force_save` on the field `validated` would force OWL to send the field for writing, we override that attribute to `force_save='0'` for the instance where the `validated` field is in the kanban view. ## Affected versions - saas-16.2 - saas-16.3 - master --- opw-3334853 Forward-Port-Of: odoo/enterprise#42638 Forward-Port-Of: odoo/enterprise#42560
When converting a task to a ticket or a ticket to a task, there is a double creation message on the created record. This PR changes the message so that only one appears. Task-3233315 Forward-Port-Of: odoo/enterprise#42605 Forward-Port-Of: odoo/enterprise#38201
Original PR description
When converting a task to a ticket or a ticket to a task, there is a double creation message on the created record. This PR changes the message so that only one appears. Task-3233315 Forward-Port-Of: odoo/enterprise#42605 Forward-Port-Of: odoo/enterprise#38201
This commit adds a test case to ensure that a statement line can be reconciled even after changing the journal's default account. The fix done in https://github.com/odoo/odoo/pull/122428 is needed to pass this test case successfully. sentry - 4059226840 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#42232
Original PR description
This commit adds a test case to ensure that a statement line can be reconciled even after changing the journal's default account. The fix done in https://github.com/odoo/odoo/pull/122428 is needed to pass this test case successfully. sentry - 4059226840 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/enterprise#42232
Forward-Port-Of: odoo/enterprise#42538
Original PR description
Forward-Port-Of: odoo/enterprise#42538
Wrong domain definition for the field `account` in the reconcile wizard. Forward-Port-Of: odoo/enterprise#42483
Original PR description
Wrong domain definition for the field `account` in the reconcile wizard. Forward-Port-Of: odoo/enterprise#42483
Bugfix. Steps to reproduce: - Create a fresh DB with l10n_pe_edi - Create an invoice, and cancel it. - Put a breakpoint in the _l10n_pe_edi_cancel_invoice_edi_step_2 method - Notice that the method doesn't get called. Analysis: - Starting from 16.0, _prepare_jobs() in account_edi does a check on _get_move_applicability(). - The _get_move_applicability() in l10n_pe_edi returns None if the computed field l10n_pe_edi_is_required is False. - That field is False if the l10n_pe_edi_cancel_cd
Original PR description
Bugfix. Steps to reproduce: - Create a fresh DB with l10n_pe_edi - Create an invoice, and cancel it. - Put a breakpoint in the _l10n_pe_edi_cancel_invoice_edi_step_2 method - Notice that the method doesn't get called. Analysis: - Starting from 16.0, _prepare_jobs() in account_edi does a check on _get_move_applicability(). - The _get_move_applicability() in l10n_pe_edi returns None if the computed field l10n_pe_edi_is_required is False. - That field is False if the l10n_pe_edi_cancel_cdr_number field is set. - So _get_move_applicability() returns None. Solution: Change the computation of the l10n_pe_edi_required field so that it isn't False if l10n_pe_edi_cancel_cdr_number is set. This seems to have no adverse side-effects. Forward-Port-Of: odoo/enterprise#42562
This commit allows the PWA to use an appropriate icon for the iOS installation. Before this commit, an iPhone would install the app using the base favicon, with black background and no padding. Now, a custom icon made specifically for the needs of iOS is used, with the apple-touch-icon added in the template. Forward-Port-Of: odoo/enterprise#42623 Forward-Port-Of: odoo/enterprise#42525
Original PR description
This commit allows the PWA to use an appropriate icon for the iOS installation. Before this commit, an iPhone would install the app using the base favicon, with black background and no padding. Now, a custom icon made specifically for the needs of iOS is used, with the apple-touch-icon added in the template. Forward-Port-Of: odoo/enterprise#42623 Forward-Port-Of: odoo/enterprise#42525
This issue occurs when user attempting to remove the default value of 'date_to' while creating employee payslips, and subsequently clicking outside the form before saving the record. see stack trace: ``` TypeError: combine() argument 1 must be datetime.date, not None File "odoo/http.py", line 2114, in __call__ response = request._serve_db() File "odoo/http.py", line 1699, in _serve_db return service_model.retrying(self._serve_ir_http, self.env) File "odoo/service/model.py
Original PR description
This issue occurs when user attempting to remove the default value of 'date_to' while creating employee payslips, and subsequently clicking outside the form before saving the record. see stack trace:…
This issue occurs when user attempting to remove the default value of 'date_to' while creating employee payslips, and subsequently clicking outside the form before saving the record.
see stack trace:
```
TypeError: combine() argument 1 must be datetime.date, not None
File "odoo/http.py", line 2114, in __call__
response = request._serve_db()
File "odoo/http.py", line 1699, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1726, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1921, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 190, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 716, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 30, in call_kw
return self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 26, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 461, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 448, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "odoo/models.py", line 6670, in onchange
record.modified(todo)
File "odoo/models.py", line 6263, in modified
for field, records, create in tocompute:
File "odoo/models.py", line 6315, in _modified_triggers
records = self[invf.name]
File "odoo/models.py", line 6122, in __getitem__
return self._fields[key].__get__(self, type(self))
File "odoo/fields.py", line 4301, in __get__
return super().__get__(records, owner)
File "odoo/fields.py", line 2801, in __get__
return super().__get__(records, owner)
File "odoo/fields.py", line 1155, in __get__
self.recompute(record)
File "odoo/fields.py", line 1365, in recompute
apply_except_missing(self.compute_value, recs)
File "odoo/fields.py", line 1338, in apply_except_missing
func(records)
File "odoo/fields.py", line 1387, in compute_value
records._compute_field_value(self)
File "addons/mail/models/mail_thread.py", line 396, in _compute_field_value
return super()._compute_field_value(field)
File "odoo/models.py", line 4486, in _compute_field_value
fields.determine(field.compute, self)
File "odoo/fields.py", line 99, in determine
return needle(*args)
File "home/odoo/src/enterprise/saas-16.3/hr_payroll/models/hr_payslip.py", line 931, in _compute_worked_days_line_ids
self.mapped('contract_id')._generate_work_entries(generate_from, generate_to)
File "addons/hr_work_entry_contract/models/hr_contract.py", line 296, in _generate_work_entries
date_stop = datetime.combine(fields.Datetime.to_datetime(date_stop), datetime.max.time())
```
After applying this commit will fix this issue.
sentry-4228660216
Forward-Port-Of: odoo/enterprise#42373
Forward-Port-Of: odoo/enterprise#41997Forward-Port-Of: odoo/enterprise#42600
Original PR description
Forward-Port-Of: odoo/enterprise#42600
=== ISSUE === If you navigate to Timesheet > Click on Start > Select an item from the dropdown, the dropdown menu is hidden behind the`.o_grid_navigation_wrap` item. This issue is due to the fact that `.o_grid_navigation_wrap` uses the `o-gantt-zindex`to set its z-index, while the `.timesheet-timer` menu does not have a `z-index` set. === AFTER === We set a `z-index` higher than the `.o_grid_navigation_wrap`, using the same mixin to keep consistency. We also set a `position-relative
Original PR description
=== ISSUE === If you navigate to Timesheet > Click on Start > Select an item from the dropdown, the dropdown menu is hidden behind the`.o_grid_navigation_wrap` item. This issue is due to the fact that `.o_grid_navigation_wrap` uses the `o-gantt-zindex`to set its z-index, while the `.timesheet-timer` menu does not have a `z-index` set. === AFTER === We set a `z-index` higher than the `.o_grid_navigation_wrap`, using the same mixin to keep consistency. We also set a `position-relative` in the XML to be able to set the `z-index` correctly. task-3344740 part of task-3326263 Forward-Port-Of: odoo/enterprise#41701
This PR is a set of Bug Fixes for the `/article` command and other Behavior issues. This is an overview of all the fixes, more details are available in each sub-commit. - Prevent usage of `/article` command in website and iframes, because `Behaviors` do not properly support those environments currently. - Properly remove the editor lock added by a `Behavior` if it is destroyed before it is mounted. - Prevent the `updateBehaviors` mutex from being indefinitely locked (because O
Original PR description
This PR is a set of Bug Fixes for the `/article` command and other Behavior issues. This is an overview of all the fixes, more details are available in each sub-commit. - Prevent usage of `/article`…
This PR is a set of Bug Fixes for the `/article` command and other Behavior issues. This is an overview of all the fixes, more details are available in each sub-commit. - Prevent usage of `/article` command in website and iframes, because `Behaviors` do not properly support those environments currently. - Properly remove the editor lock added by a `Behavior` if it is destroyed before it is mounted. - Prevent the `updateBehaviors` mutex from being indefinitely locked (because OWL never resolves an `App.mount` promise if the App is destroyed before it is mounted. Allows `Behaviors` mounting in parallel, which will improve performances. - Await the `updateBehaviors` mutex during `commitChanges` operations, such as `_toInline` and `updateValue`. Those operations need the final value of the `html_field` and should wait for all `Behavior` to be fully mounted, to avoid missing some nodes for their operations. - Restore a `Behavior` anchor to its parent outside of the DOM after it has been destroyed in the DOM. We had to move it in the DOM temporarily because OWL does not support destroying outside of it. - Add a test for the `/article` command in the `Email Composer` which has the particularity of being an `style-inline` `html_field` inside a `dialog`, and as such has some quirks that we have to support. - Remove the useless patch file for the template Behavior task-3280704 Co-authored-by: Thomas Josse <thjo@odoo.com> Co-authored-by: Damien Abeloos <abd@odoo.com> Forward-Port-Of: odoo/enterprise#42450 Forward-Port-Of: odoo/enterprise#40062