Daily updates from Odoo
Thursday, August 22, 2019
6 changes · master
Resolved issues and error corrections
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
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
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-prFixes 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-prIoT 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