Daily updates from Odoo
Thursday, August 22, 2019
19 changes
Resolved issues and error corrections
The website visitor screens have been cleaned up by removing unnecessary options to create or edit visitor and page-view records. This helps prevent accidental manual changes and keeps the interface focused on viewing tracking information.
Original PR description
…age] This commit cleans up website.visitor related views by removing unnecessary create mode. It also removes the form view on the website.visitor.page model (="Visitor Page Views") as tree view contains all necessary information and there is no point in creating/editing them. Task#2057933 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
This update fixes several issues in restaurant point-of-sale test setup and execution, making automated checks more stable. It also corrects printer-related behavior in restaurant setups, reducing the risk of test failures and integration problems without changing day-to-day user workflows.
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
This fixes an issue that prevented IoT Boxes from being set up after a recent barcode scanner change. The device now sends available keyboard layouts to the server when needed, avoiding a connection problem and restoring setup reliability.
Original PR description
The setup of IoT Boxes failed since the merge of the task about barcode scanners: odoo/odoo#35084 We tried to get the list of available keyboard layouts from the IoT Box. The request was sent from the server, which cannot reach the Box because it's not located on the same server. We now perform this task the other way around. When a device of type printer is created on the Box, we send the list of available layouts to the server. TaskID: 1961025 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue where invoices created from the Point of Sale could not be downloaded because the invoice download request was missing the right order identifiers. Businesses using POS invoicing can now reliably retrieve customer invoices directly from the POS flow.
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
Opening the Website dashboard analytics menu no longer crashes when there is no chart data available. This makes the default empty dashboard experience stable for users and prevents a blocker when accessing analytics.
Original PR description
Website > Dashboard > Analytics By default, there is no data and no Chart, and without this revision, a crash is caused when opening the menu.
This fix ensures accounting calculations continue to use the correct company information after recent system performance changes. It also preserves proper stock access behavior when elevated permissions are used, reducing the risk of incorrect access checks.
Original PR description
- With the new ORM optimizations, the cache doesn't depend on the context and the key context that are really important for the computation of a value must be explicitly set. Setting `force_company` as a determinant will make sure that the company on the environment is taken in account. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Relative time labels such as “2 minutes ago” are now formatted through the standard language-aware formatting system. This helps website visitor information display more consistently in the user’s selected language.
Original PR description
Babel is already taking the language into account while formating a time delta into a readable string like '2 minutes ago'. _format_time_ago was put in translate.py file to be able to use the _ translate class. But it can be placed in misc like other format function already using babel. This fixes the PR #34624 and is linked to Task ID : 2028059 Task ID: 2055847
Creating payments for suppliers or customers no longer triggers an error when selecting a partner. This restores a normal payment creation flow after outdated supplier/customer fields were removed from partner records.
Original PR description
The fields supplier/customer was removed from the partner, then, they
cannot be used in the default for the views.
Avoid the next traceback in the next case:
```
raise ValueError("Invalid field %r in leaf %r" % (left, str(leaf)))
ValueError: Invalid field 'supplier' in leaf "<osv.ExtendedLeaf: ('supplier', '=', True) on res_partner (ctx: )>"
```
1. Go to create a new payment for supplier
2. Try select the supplier

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fixes a display issue where avatar images in many-to-many tag fields could use the wrong image field after a recent field rename. Users should now see the correct profile images in these tag widgets again.
Original PR description
The issue has occurred after rename image fields https://github.com/odoo/odoo/commit/58a2ffa26f1a3b0f9630ce16d11b758d18e20a21 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Meetings button on a CRM lead or opportunity now opens with a filter for meetings linked to that specific record. This makes the CRM experience more consistent and prevents users from initially seeing unrelated meetings, while still allowing them to remove the filter if needed.
Original PR description
Description of the issue/feature this PR addresses: Set a default search context for the lead/opportunity to show only scheduled meetings for this specific opportunity. This is to be consistent with similar functionality in partner screen (res_partner model). Current behavior before PR: Clicking a "Meetings" button shows meetings scheduled for all opportunities. Desired behavior after PR is merged: Clicking a "Meetings" button will show only a meetings for this specific opportunity (active object), with possibility to remove filter and show all meetings as it was before this PR -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Manufacturing app now shows a cleaner, properly structured byproduct form when opened from a Bill of Materials. This fixes display issues that could make byproduct details harder to review or edit, improving day-to-day usability for manufacturing users.
Original PR description
For some reasons (probably missing sheet & group), the form view for the byproduct wasn't displaying properly. This commit implement and force a cleaner view when you're coming from the form view of the Bill of Materials. TaskID: 2057347
The product screen stat button now shows the word "variants" again. This restores clearer wording for users when viewing product variant information, reducing confusion from an incomplete label.
Original PR description
The word "variants" was missing from the stat button. Task: 2046482 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
Fixes an error that could stop users from applying grouped payments to multiple invoices. This makes batch payment processing more reliable and prevents interruptions during invoice settlement.
Original PR description
[FIX] account: 'account.move' object has no attribute 'partner_bank_id' = - Create several Invoices, and then pay them in batch, Use `Group Payment` option. <img width="1099" alt="Screen Shot…
[FIX] account: 'account.move' object has no attribute 'partner_bank_id'
=
- Create several Invoices, and then pay them in batch, Use `Group Payment` option.
<img width="1099" alt="Screen Shot 2019-08-21 at 3 43 40 AM" src="https://user-images.githubusercontent.com/7598010/63419492-8a24fa00-c3ca-11e9-8e31-b3a40e4f6a40.png">
- Apply payment.
````
Error:
Odoo Server Error
Traceback (most recent call last):
File "/.repo_requirements/odoo/odoo/http.py", line 631, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/.repo_requirements/odoo/odoo/http.py", line 325, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/.repo_requirements/odoo/odoo/tools/pycompat.py", line 14, in reraise
raise value
File "/.repo_requirements/odoo/odoo/http.py", line 676, in dispatch
result = self._call_function(**self.params)
File "/.repo_requirements/odoo/odoo/http.py", line 357, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/.repo_requirements/odoo/odoo/service/model.py", line 92, in wrapper
return f(dbname, *args, **kwargs)
File "/.repo_requirements/odoo/odoo/http.py", line 350, in checked_call
result = self.endpoint(*a, **kw)
File "/.repo_requirements/odoo/odoo/http.py", line 894, in __call__
return self.method(*args, **kw)
File "/.repo_requirements/odoo/odoo/http.py", line 522, in response_wrap
response = f(*args, **kw)
File "/home/odoo/odoo-master/addons/web/controllers/main.py", line 1110, in call_button
action = self._call_kw(model, method, args, kwargs)
File "/home/odoo/odoo-master/addons/web/controllers/main.py", line 1098, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/.repo_requirements/odoo/odoo/api.py", line 394, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "/.repo_requirements/odoo/odoo/api.py", line 381, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/home/odoo/odoo-master/addons/account/models/account_payment.py", line 811, in create_payments
payments = Payment.create(self.get_payments_vals())
File "/home/odoo/odoo-master/addons/account/models/account_payment.py", line 795, in get_payments_vals
grouped[(inv.commercial_partner_id, inv.currency_id, inv.partner_bank_id, MAP_INVOICE_TYPE_PARTNER_TYPE[inv.type])] += inv
AttributeError: 'account.move' object has no attribute 'partner_bank_id'
```
--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThis fixes a minor issue in Product Lifecycle Management where checking previous bill of materials changes could fail in a default case introduced by the new ORM behavior. It helps keep engineering change order workflows reliable without changing user-facing functionality.
Original PR description
With the new ORM, we have to catch a default case when doing "for record in self" operations. TaskID: 2057445
Fixed an issue where reopening the IoT network scan window could make scan updates run twice, causing the progress bar to show incorrect values such as 200%. The scan window now cleans up properly when closed, so users see reliable progress each time they start a scan.
Original PR description
When opening the modal to scan the network, we added listeners to the window to receive events during the scanning process. These listeners were not removed when the modal was closed so reopening the modal used to create a second listener with the same function. All listeners were then executed twice, and the progress bar went up to 200%. We need to remove the listeners when the modal is closed. When calling removeEventListener, the reference of the function passed needs to be the same that was added in the first place. Since we use `.bind(this)`, we need to save this reference, otherwise it would change. TaskID: 2056922
This fixes an issue in the restaurant point of sale printer integration where shared behavior was being called incorrectly. It helps ensure Epson printer-related restaurant printing works more reliably without changing user workflows.
Original PR description
The model PosModel is extended, and super is calaled as if it was included, we have fixed it by calling the parent prototype correctly.
IoT Box setup now works again by having the box send available keyboard layouts to Odoo instead of Odoo trying to retrieve them directly. This matters because businesses can complete IoT Box configuration reliably, especially when setting up connected printer devices.
Original PR description
The setup of IoT Boxes failed since the merge of the task about barcode scanners: odoo/odoo#35084 We tried to get the list of available keyboard layouts from the IoT Box. The request was sent from the server, which cannot reach the Box because it's not located on the same server. We now perform this task the other way around. When a device of type printer is created on the Box, we send the list of available layouts to the server. TaskID: 1961025
This update prevents errors caused by recent backend optimization changes by ensuring calculated information is always filled in. It helps keep features in marketing automation, SEPA direct debit payments, and website helpdesk forms working reliably.
Original PR description
- With the new ORM optimizations, the computed field do not have a default value, meaning we have to set a value for all the recordset passed in self.
Several folder-related fields in Documents now show the correct label. This reduces confusion for users when viewing or managing document folders.
Original PR description
This commit fixes the label of several folder_id fields. Task: #2056999