[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: Nans Lefebvre (len) <len@odoo.com>
This commit is contained in:
@@ -226,7 +226,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)
|
||||
|
||||
Reference in New Issue
Block a user