Skip to content
Snippets Groups Projects
Commit 47587de1 authored by Nans Lefebvre's avatar Nans Lefebvre
Browse files

[FIX] payment_authorize: save payment token from form validated transaction

https://docs.python.org/3/library/stdtypes.html#truth


By default, an object is considered true unless
its class defines either a __bool__() method that returns False
or a __len__() method that returns zero

Since etree elements are iterator, they define a len function.
However it turns out that customerProfileId has always no children.
So bool(find(x)) is always False; the intended meaning was find(x) is None.

opw 1999427

closes odoo/odoo#34922

Signed-off-by: default avatarNans Lefebvre (len) <len@odoo.com>

closes odoo/odoo#35246

Signed-off-by: default avatarNans Lefebvre (len) <len@odoo.com>
parent 66136110
No related branches found
No related tags found
No related merge requests found
......@@ -185,7 +185,7 @@ class AuthorizeAPI():
etree.SubElement(customer, "email").text = partner.email or ''
response = self._authorize_request(root)
res = dict()
if not response.find('customerProfileId'):
if response.find('customerProfileId') is None: # Warning: do not use bool(etree) as the semantics is very misleading
_logger.warning(
'Unable to create customer payment profile, data missing from transaction. Transaction_id: %s - Partner_id: %s'
% (transaction_id, partner)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment