Skip to content

Commit

Permalink
Merge remote-tracking branch 'odoo/10.0' into 10.0
Browse files Browse the repository at this point in the history
  • Loading branch information
OCA-git-bot committed May 21, 2019
2 parents bc41bd6 + 0c91235 commit de37c17
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 11 deletions.
8 changes: 8 additions & 0 deletions addons/payment_authorize/models/authorize_request.py
Expand Up @@ -4,12 +4,14 @@
from StringIO import StringIO
import xml.etree.ElementTree as ET
from uuid import uuid4
import logging

from odoo import _
from odoo.exceptions import ValidationError, UserError
from odoo import _

XMLNS = 'AnetApi/xml/v1/schema/AnetApiSchema.xsd'
_logger = logging.getLogger(__name__)


def strip_ns(xml, ns):
Expand Down Expand Up @@ -183,6 +185,12 @@ def create_customer_profile_from_tx(self, partner, transaction_id):
etree.SubElement(customer, "email").text = partner.email or ''
response = self._authorize_request(root)
res = dict()
if not response.find('customerProfileId'):
_logger.warning(
'Unable to create customer payment profile, data missing from transaction. Transaction_id: %s - Partner_id: %s'
% (transaction_id, partner)
)
return res
res['profile_id'] = response.find('customerProfileId').text
res['payment_profile_id'] = response.find('customerPaymentProfileIdList/numericString').text
root_profile = self._base_tree('getCustomerPaymentProfileRequest')
Expand Down
17 changes: 9 additions & 8 deletions addons/payment_authorize/models/payment.py
Expand Up @@ -230,14 +230,15 @@ def _authorize_form_validate(self, data):
(self.type == 'form_save' or self.acquirer_id.save_token == 'always'):
transaction = AuthorizeAPI(self.acquirer_id)
res = transaction.create_customer_profile_from_tx(self.partner_id, self.acquirer_reference)
token_id = self.env['payment.token'].create({
'authorize_profile': res.get('profile_id'),
'name': res.get('name'),
'acquirer_ref': res.get('payment_profile_id'),
'acquirer_id': self.acquirer_id.id,
'partner_id': self.partner_id.id,
})
self.payment_token_id = token_id
if res:
token_id = self.env['payment.token'].create({
'authorize_profile': res.get('profile_id'),
'name': res.get('name'),
'acquirer_ref': res.get('payment_profile_id'),
'acquirer_id': self.acquirer_id.id,
'partner_id': self.partner_id.id,
})
self.payment_token_id = token_id
return True
elif status_code == self._authorize_pending_tx_status:
self.write({
Expand Down
7 changes: 4 additions & 3 deletions odoo/addons/test_new_api/tests/test_new_fields.py
Expand Up @@ -209,11 +209,12 @@ def test_12_recursive_recompute(self):
self.assertEqual(c.display_name, 'B / C')
self.assertEqual(d.display_name, 'B / C / D')

b.name = 'X'
# rename several records to trigger several recomputations at once
(d + c + b).write({'name': 'X'})
self.assertEqual(a.display_name, 'A')
self.assertEqual(b.display_name, 'X')
self.assertEqual(c.display_name, 'X / C')
self.assertEqual(d.display_name, 'X / C / D')
self.assertEqual(c.display_name, 'X / X')
self.assertEqual(d.display_name, 'X / X / X')

def test_12_cascade(self):
""" test computed field depending on computed field """
Expand Down
2 changes: 2 additions & 0 deletions odoo/fields.py
Expand Up @@ -1010,6 +1010,8 @@ def determine_value(self, record):
recs = record._recompute_check(self)
if recs:
# recompute the value (only in cache)
if self.recursive:
recs = record
self.compute_value(recs)
# HACK: if result is in the wrong cache, copy values
if recs.env != env:
Expand Down

0 comments on commit de37c17

Please sign in to comment.