diff options
| author | Thibault Delavallée <tde@openerp.com> | 2016-07-05 10:29:10 +0200 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2016-07-06 11:47:39 +0200 |
| commit | 88126f95d3e23d78e5ad1a6d6006f9d09493fbd4 (patch) | |
| tree | d14b7fef012527b17096a202fa3509dd7241da84 | |
| parent | 3e3e61a7a2957a77d961e5fa4a2da03fba2eb21d (diff) | |
[REF] payment_*: method signatures
Methods with signature
- cr, uid, id
- cr, uid, <browse_record>
have been refactored to be future multi ensure one methods.
| -rw-r--r-- | addons/payment/models/payment_acquirer.py | 40 | ||||
| -rw-r--r-- | addons/payment_adyen/models/adyen.py | 14 | ||||
| -rw-r--r-- | addons/payment_authorize/models/authorize.py | 24 | ||||
| -rw-r--r-- | addons/payment_buckaroo/models/buckaroo.py | 15 | ||||
| -rw-r--r-- | addons/payment_ogone/models/ogone.py | 29 | ||||
| -rw-r--r-- | addons/payment_paypal/models/paypal.py | 20 | ||||
| -rw-r--r-- | addons/payment_payumoney/models/payment_transaction.py | 18 | ||||
| -rw-r--r-- | addons/payment_sips/models/sips.py | 36 | ||||
| -rw-r--r-- | addons/payment_stripe/models/payment_transaction.py | 14 | ||||
| -rw-r--r-- | addons/payment_transfer/models/payment_acquirer.py | 8 | ||||
| -rw-r--r-- | addons/website_payment/controllers/main.py | 2 | ||||
| -rw-r--r-- | addons/website_sale/controllers/main.py | 29 |
12 files changed, 131 insertions, 118 deletions
diff --git a/addons/payment/models/payment_acquirer.py b/addons/payment/models/payment_acquirer.py index a2ea8f69f65..678d3602773 100644 --- a/addons/payment/models/payment_acquirer.py +++ b/addons/payment/models/payment_acquirer.py @@ -154,14 +154,14 @@ class PaymentAcquirer(osv.Model): image_resize_images(vals) return super(PaymentAcquirer, self).write(vals) - def get_form_action_url(self, cr, uid, id, context=None): + def get_form_action_url(self, cr, uid, ids, context=None): """ Returns the form action URL, for form-based acquirer implementations. """ - acquirer = self.browse(cr, uid, id, context=context) + acquirer = self.browse(cr, uid, ids, context=context)[0] if hasattr(self, '%s_get_form_action_url' % acquirer.provider): return getattr(self, '%s_get_form_action_url' % acquirer.provider)(cr, uid, id, context=context) return False - def render(self, cr, uid, id, reference, amount, currency_id, partner_id=False, values=None, context=None): + def render(self, cr, uid, ids, reference, amount, currency_id, partner_id=False, values=None, context=None): """ Renders the form template of the given acquirer as a qWeb template. :param string reference: the transaction reference :param float amount: the amount the buyer has to pay @@ -191,7 +191,7 @@ class PaymentAcquirer(osv.Model): context = {} if values is None: values = {} - acquirer = self.browse(cr, uid, id, context=context) + acquirer = self.browse(cr, uid, ids, context=context)[0] # reference and amount values.setdefault('reference', reference) @@ -288,8 +288,8 @@ class PaymentAcquirer(osv.Model): return acquirer.view_template_id.render(values, engine='ir.qweb') - def _registration_render(self, cr, uid, id, partner_id, qweb_context=None, context=None): - acquirer = self.browse(cr, uid, id, context=context) + def _registration_render(self, cr, uid, ids, partner_id, qweb_context=None, context=None): + acquirer = self.browse(cr, uid, ids, context=context)[0] if qweb_context is None: qweb_context = {} qweb_context.update(id=id, partner_id=partner_id) @@ -299,8 +299,8 @@ class PaymentAcquirer(osv.Model): qweb_context.update(method(cr, uid, id, qweb_context, context=context)) return acquirer.registration_view_template_id.render(qweb_context, engine='ir.qweb') - def s2s_process(self, cr, uid, id, data, context=None): - acquirer = self.browse(cr, uid, id, context=context) + def s2s_process(self, cr, uid, ids, data, context=None): + acquirer = self.browse(cr, uid, ids, context=context)[0] cust_method_name = '%s_s2s_form_process' % (acquirer.provider) if not self.s2s_validate(cr, uid, id, data, context=context): return False @@ -309,8 +309,8 @@ class PaymentAcquirer(osv.Model): return method(cr, uid, data, context=context) return True - def s2s_validate(self, cr, uid, id, data, context=None): - acquirer = self.browse(cr, uid, id, context=context) + def s2s_validate(self, cr, uid, ids, data, context=None): + acquirer = self.browse(cr, uid, ids, context=context)[0] cust_method_name = '%s_s2s_form_validate' % (acquirer.provider) if hasattr(self, cust_method_name): method = getattr(self, cust_method_name) @@ -517,8 +517,8 @@ class PaymentTransaction(osv.Model): # FORM RELATED METHODS # -------------------------------------------------- - def render(self, cr, uid, id, context=None): - tx = self.browse(cr, uid, id, context=context) + def render(self, cr, uid, ids, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] values = { 'reference': tx.reference, 'amount': tx.amount, @@ -547,7 +547,7 @@ class PaymentTransaction(osv.Model): invalid_param_method_name = '_%s_form_get_invalid_parameters' % acquirer_name if hasattr(self, invalid_param_method_name): - invalid_parameters = getattr(self, invalid_param_method_name)(cr, uid, tx, data, context=context) + invalid_parameters = getattr(self, invalid_param_method_name)(cr, uid, [tx.id], data, context=context) if invalid_parameters: _error_message = '%s: incorrect tx data:\n' % (acquirer_name) @@ -558,7 +558,7 @@ class PaymentTransaction(osv.Model): feedback_method_name = '_%s_form_validate' % acquirer_name if hasattr(self, feedback_method_name): - return getattr(self, feedback_method_name)(cr, uid, tx, data, context=context) + return getattr(self, feedback_method_name)(cr, uid, [tx.id], data, context=context) return True @@ -570,19 +570,19 @@ class PaymentTransaction(osv.Model): self.s2s_feedback(cr, uid, tx_id, tx_result, context=context) return tx_id - def s2s_do_transaction(self, cr, uid, id, context=None, **kwargs): - tx = self.browse(cr, uid, id, context=context) + def s2s_do_transaction(self, cr, uid, ids, context=None, **kwargs): + tx = self.browse(cr, uid, ids, context=context)[0] custom_method_name = '%s_s2s_do_transaction' % tx.acquirer_id.provider if hasattr(self, custom_method_name): - return getattr(self, custom_method_name)(cr, uid, id, context=context, **kwargs) + return getattr(self, custom_method_name)(cr, uid, ids, context=context, **kwargs) - def s2s_get_tx_status(self, cr, uid, tx_id, context=None): + def s2s_get_tx_status(self, cr, uid, ids, context=None): """ Get the tx status. """ - tx = self.browse(cr, uid, tx_id, context=context) + tx = self.browse(cr, uid, ids, context=context)[0] invalid_param_method_name = '_%s_s2s_get_tx_status' % tx.acquirer_id.provider if hasattr(self, invalid_param_method_name): - return getattr(self, invalid_param_method_name)(cr, uid, tx, context=context) + return getattr(self, invalid_param_method_name)(cr, uid, ids, context=context) return True diff --git a/addons/payment_adyen/models/adyen.py b/addons/payment_adyen/models/adyen.py index f9f17126a13..c06ae797b0b 100644 --- a/addons/payment_adyen/models/adyen.py +++ b/addons/payment_adyen/models/adyen.py @@ -119,9 +119,9 @@ class AcquirerAdyen(osv.Model): key = acquirer.adyen_skin_hmac_key.encode('ascii') return base64.b64encode(hmac.new(key, sign, hashlib.sha1).digest()) - def adyen_form_generate_values(self, cr, uid, id, values, context=None): + def adyen_form_generate_values(self, cr, uid, ids, values, context=None): base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url') - acquirer = self.browse(cr, uid, id, context=context) + acquirer = self.browse(cr, uid, ids, context=context)[0] # tmp import datetime from dateutil import relativedelta @@ -163,8 +163,8 @@ class AcquirerAdyen(osv.Model): return values - def adyen_get_form_action_url(self, cr, uid, id, context=None): - acquirer = self.browse(cr, uid, id, context=context) + def adyen_get_form_action_url(self, cr, uid, ids, context=None): + acquirer = self.browse(cr, uid, ids, context=context)[0] return self._get_adyen_urls(cr, uid, acquirer.environment, context=context)['adyen_form_url'] @@ -206,7 +206,8 @@ class TxAdyen(osv.Model): return tx - def _adyen_form_get_invalid_parameters(self, cr, uid, tx, data, context=None): + def _adyen_form_get_invalid_parameters(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] invalid_parameters = [] # reference at acquirer: pspReference @@ -221,7 +222,8 @@ class TxAdyen(osv.Model): return invalid_parameters - def _adyen_form_validate(self, cr, uid, tx, data, context=None): + def _adyen_form_validate(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] status = data.get('authResult', 'PENDING') if status == 'AUTHORISED': tx.write({ diff --git a/addons/payment_authorize/models/authorize.py b/addons/payment_authorize/models/authorize.py index 828fd614ded..b9a16ee37fb 100644 --- a/addons/payment_authorize/models/authorize.py +++ b/addons/payment_authorize/models/authorize.py @@ -122,37 +122,37 @@ class TxAuthorize(models.Model): raise ValidationError(error_msg) return tx[0] - @api.model - def _authorize_form_get_invalid_parameters(self, tx, data): + @api.multi + def _authorize_form_get_invalid_parameters(self, data): invalid_parameters = [] if self.acquirer_reference and data.get('x_trans_id') != self.acquirer_reference: invalid_parameters.append(('Transaction Id', data.get('x_trans_id'), self.acquirer_reference)) # check what is buyed - if float_compare(float(data.get('x_amount', '0.0')), tx.amount, 2) != 0: - invalid_parameters.append(('Amount', data.get('x_amount'), '%.2f' % tx.amount)) + if float_compare(float(data.get('x_amount', '0.0')), self.amount, 2) != 0: + invalid_parameters.append(('Amount', data.get('x_amount'), '%.2f' % self.amount)) return invalid_parameters - @api.model - def _authorize_form_validate(self, tx, data): - if tx.state == 'done': - _logger.warning('Authorize: trying to validate an already validated tx (ref %s)' % tx.reference) + @api.multi + def _authorize_form_validate(self, data): + if self.state == 'done': + _logger.warning('Authorize: trying to validate an already validated tx (ref %s)' % self.reference) return True status_code = int(data.get('x_response_code', '0')) if status_code == self._authorize_valid_tx_status: - tx.write({ + self.write({ 'state': 'done', 'acquirer_reference': data.get('x_trans_id'), }) return True elif status_code == self._authorize_pending_tx_status: - tx.write({ + self.write({ 'state': 'pending', 'acquirer_reference': data.get('x_trans_id'), }) return True elif status_code == self._authorize_cancel_tx_status: - tx.write({ + self.write({ 'state': 'cancel', 'acquirer_reference': data.get('x_trans_id'), }) @@ -160,7 +160,7 @@ class TxAuthorize(models.Model): else: error = data.get('x_response_reason_text') _logger.info(error) - tx.write({ + self.write({ 'state': 'error', 'state_message': error, 'acquirer_reference': data.get('x_trans_id'), diff --git a/addons/payment_buckaroo/models/buckaroo.py b/addons/payment_buckaroo/models/buckaroo.py index 80cfbc2ddfb..cb9914ee222 100644 --- a/addons/payment_buckaroo/models/buckaroo.py +++ b/addons/payment_buckaroo/models/buckaroo.py @@ -90,10 +90,9 @@ class AcquirerBuckaroo(osv.Model): shasign = sha1(sign.encode('utf-8')).hexdigest() return shasign - - def buckaroo_form_generate_values(self, cr, uid, id, values, context=None): + def buckaroo_form_generate_values(self, cr, uid, ids, values, context=None): base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url') - acquirer = self.browse(cr, uid, id, context=context) + acquirer = self.browse(cr, uid, ids, context=context)[0] buckaroo_tx_values = dict(values) buckaroo_tx_values.update({ 'Brq_websitekey': acquirer.brq_websitekey, @@ -111,8 +110,8 @@ class AcquirerBuckaroo(osv.Model): buckaroo_tx_values['Brq_signature'] = self._buckaroo_generate_digital_sign(acquirer, 'in', buckaroo_tx_values) return buckaroo_tx_values - def buckaroo_get_form_action_url(self, cr, uid, id, context=None): - acquirer = self.browse(cr, uid, id, context=context) + def buckaroo_get_form_action_url(self, cr, uid, ids, context=None): + acquirer = self.browse(cr, uid, ids, context=context)[0] return self._get_buckaroo_urls(cr, uid, acquirer.environment, context=context)['buckaroo_form_url'] class TxBuckaroo(osv.Model): @@ -161,7 +160,8 @@ class TxBuckaroo(osv.Model): return tx - def _buckaroo_form_get_invalid_parameters(self, cr, uid, tx, data, context=None): + def _buckaroo_form_get_invalid_parameters(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] invalid_parameters = [] data = normalize_keys_upper(data) if tx.acquirer_reference and data.get('BRQ_TRANSACTIONS') != tx.acquirer_reference: @@ -174,7 +174,8 @@ class TxBuckaroo(osv.Model): return invalid_parameters - def _buckaroo_form_validate(self, cr, uid, tx, data, context=None): + def _buckaroo_form_validate(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] data = normalize_keys_upper(data) status_code = int(data.get('BRQ_STATUSCODE','0')) if status_code in self._buckaroo_valid_tx_status: diff --git a/addons/payment_ogone/models/ogone.py b/addons/payment_ogone/models/ogone.py index b11b6f25969..54aee7f7f70 100644 --- a/addons/payment_ogone/models/ogone.py +++ b/addons/payment_ogone/models/ogone.py @@ -147,9 +147,9 @@ class PaymentAcquirerOgone(osv.Model): shasign = sha1(sign).hexdigest() return shasign - def ogone_form_generate_values(self, cr, uid, id, values, context=None): + def ogone_form_generate_values(self, cr, uid, ids, values, context=None): base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url') - acquirer = self.browse(cr, uid, id, context=context) + acquirer = self.browse(cr, uid, ids, context=context)[0] ogone_tx_values = dict(values) temp_ogone_tx_values = { 'PSPID': acquirer.ogone_pspid, @@ -180,11 +180,11 @@ class PaymentAcquirerOgone(osv.Model): ogone_tx_values.update(temp_ogone_tx_values) return ogone_tx_values - def ogone_get_form_action_url(self, cr, uid, id, context=None): - acquirer = self.browse(cr, uid, id, context=context) + def ogone_get_form_action_url(self, cr, uid, ids, context=None): + acquirer = self.browse(cr, uid, ids, context=context)[0] return self._get_ogone_urls(cr, uid, acquirer.environment, context=context)['ogone_standard_order_url'] - def ogone_s2s_form_validate(self, cr, uid, id, data, context=None): + def ogone_s2s_form_validate(self, cr, uid, ids, data, context=None): error = dict() error_message = [] @@ -269,7 +269,8 @@ class PaymentTxOgone(osv.Model): return tx - def _ogone_form_get_invalid_parameters(self, cr, uid, tx, data, context=None): + def _ogone_form_get_invalid_parameters(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] invalid_parameters = [] # TODO: txn_id: should be false at draft, set afterwards, and verified with txn details @@ -283,7 +284,8 @@ class PaymentTxOgone(osv.Model): return invalid_parameters - def _ogone_form_validate(self, cr, uid, tx, data, context=None): + def _ogone_form_validate(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] if tx.state == 'done': _logger.info('Ogone: trying to validate an already validated tx (ref %s)', tx.reference) return True @@ -334,9 +336,9 @@ class PaymentTxOgone(osv.Model): # -------------------------------------------------- # S2S RELATED METHODS # -------------------------------------------------- - def ogone_s2s_do_transaction(self, cr, uid, id, context=None, **kwargs): + def ogone_s2s_do_transaction(self, cr, uid, ids, context=None, **kwargs): # TODO: create tx with s2s type - tx = self.browse(cr, uid, id, context=context) + tx = self.browse(cr, uid, ids, context=context)[0] account = tx.acquirer_id reference = tx.reference or "ODOO-%s-%s" % (datetime.datetime.now().strftime('%y%m%d_%H%M%S'), tx.partner_id.id) @@ -384,11 +386,13 @@ class PaymentTxOgone(osv.Model): return self._ogone_s2s_validate_tree(tx, tree) - def _ogone_s2s_validate(self, tx): + def _ogone_s2s_validate(self, cr, uid, ids, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] tree = self._ogone_s2s_get_tx_status(tx) return self._ogone_s2s_validate_tree(tx, tree) - def _ogone_s2s_validate_tree(self, tx, tree, tries=2): + def _ogone_s2s_validate_tree(self, cr, uid, ids, tree, tries=2, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] if tx.state not in ('draft', 'pending'): _logger.info('Ogone: trying to validate an already validated tx (ref %s)', tx.reference) return True @@ -441,7 +445,8 @@ class PaymentTxOgone(osv.Model): }) return False - def _ogone_s2s_get_tx_status(self, tx): + def _ogone_s2s_get_tx_status(self, cr, uid, ids, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] account = tx.acquirer_id #reference = tx.reference or "ODOO-%s-%s" % (datetime.datetime.now().strftime('%Y%m%d_%H%M%S'), tx.partner_id.id) diff --git a/addons/payment_paypal/models/paypal.py b/addons/payment_paypal/models/paypal.py index a92086c49c9..0876c93e88a 100644 --- a/addons/payment_paypal/models/paypal.py +++ b/addons/payment_paypal/models/paypal.py @@ -62,7 +62,7 @@ class AcquirerPaypal(osv.Model): 'paypal_api_enabled': False, } - def paypal_compute_fees(self, cr, uid, id, amount, currency_id, country_id, context=None): + def paypal_compute_fees(self, cr, uid, ids, amount, currency_id, country_id, context=None): """ Compute paypal fees. :param float amount: the amount to pay @@ -71,7 +71,7 @@ class AcquirerPaypal(osv.Model): the acquirer company country. :return float fees: computed fees """ - acquirer = self.browse(cr, uid, id, context=context) + acquirer = self.browse(cr, uid, ids, context=context)[0] if not acquirer.fees_active: return 0.0 country = self.pool['res.country'].browse(cr, uid, country_id, context=context) @@ -81,12 +81,12 @@ class AcquirerPaypal(osv.Model): else: percentage = acquirer.fees_int_var fixed = acquirer.fees_int_fixed - fees = (percentage / 100.0 * amount + fixed ) / (1 - percentage / 100.0) + fees = (percentage / 100.0 * amount + fixed) / (1 - percentage / 100.0) return fees - def paypal_form_generate_values(self, cr, uid, id, values, context=None): + def paypal_form_generate_values(self, cr, uid, ids, values, context=None): base_url = self.pool['ir.config_parameter'].get_param(cr, SUPERUSER_ID, 'web.base.url') - acquirer = self.browse(cr, uid, id, context=context) + acquirer = self.browse(cr, uid, ids, context=context)[0] paypal_tx_values = dict(values) paypal_tx_values.update({ @@ -112,8 +112,8 @@ class AcquirerPaypal(osv.Model): }) return paypal_tx_values - def paypal_get_form_action_url(self, cr, uid, id, context=None): - acquirer = self.browse(cr, uid, id, context=context) + def paypal_get_form_action_url(self, cr, uid, ids, context=None): + acquirer = self.browse(cr, uid, ids, context=context)[0] return self._get_paypal_urls(cr, uid, acquirer.environment, context=context)['paypal_form_url'] def _paypal_s2s_get_access_token(self, cr, uid, ids, context=None): @@ -177,7 +177,8 @@ class TxPaypal(osv.Model): raise ValidationError(error_msg) return self.browse(cr, uid, tx_ids[0], context=context) - def _paypal_form_get_invalid_parameters(self, cr, uid, tx, data, context=None): + def _paypal_form_get_invalid_parameters(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] invalid_parameters = [] _logger.info('Received a notification from Paypal with IPN version %s', data.get('notify_version')) if data.get('test_ipn'): @@ -213,7 +214,8 @@ class TxPaypal(osv.Model): return invalid_parameters - def _paypal_form_validate(self, cr, uid, tx, data, context=None): + def _paypal_form_validate(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] status = data.get('payment_status') res = { 'acquirer_reference': data.get('txn_id'), diff --git a/addons/payment_payumoney/models/payment_transaction.py b/addons/payment_payumoney/models/payment_transaction.py index b502307b467..e89a95511ec 100644 --- a/addons/payment_payumoney/models/payment_transaction.py +++ b/addons/payment_payumoney/models/payment_transaction.py @@ -39,22 +39,22 @@ class PaymentTransactionPayumoney(models.Model): raise ValidationError(_('PayUmoney: invalid shasign, received %s, computed %s, for data %s') % (shasign, shasign_check, data)) return transaction - @api.model - def _payumoney_form_get_invalid_parameters(self, transaction, data): + @api.multi + def _payumoney_form_get_invalid_parameters(self, data): invalid_parameters = [] - if transaction.acquirer_reference and data.get('mihpayid') != transaction.acquirer_reference: + if self.acquirer_reference and data.get('mihpayid') != self.acquirer_reference: invalid_parameters.append( - ('Transaction Id', data.get('mihpayid'), transaction.acquirer_reference)) + ('Transaction Id', data.get('mihpayid'), self.acquirer_reference)) #check what is buyed - if float_compare(float(data.get('amount', '0.0')), transaction.amount, 2) != 0: + if float_compare(float(data.get('amount', '0.0')), self.amount, 2) != 0: invalid_parameters.append( - ('Amount', data.get('amount'), '%.2f' % transaction.amount)) + ('Amount', data.get('amount'), '%.2f' % self.amount)) return invalid_parameters - @api.model - def _payumoney_form_validate(self, transaction, data): + @api.multi + def _payumoney_form_validate(self, data): status = data.get('status') transaction_status = { 'success': { @@ -83,4 +83,4 @@ class PaymentTransactionPayumoney(models.Model): if not vals: vals = transaction_status['error'] _logger.info(vals['state_message']) - return transaction.write(vals) + return self.write(vals) diff --git a/addons/payment_sips/models/sips.py b/addons/payment_sips/models/sips.py index df669fd3804..e194cb281e5 100644 --- a/addons/payment_sips/models/sips.py +++ b/addons/payment_sips/models/sips.py @@ -165,25 +165,25 @@ class TxSips(models.Model): raise ValidationError(error_msg) return payment_tx - @api.model - def _sips_form_get_invalid_parameters(self, tx, data): + @api.multi + def _sips_form_get_invalid_parameters(self, data): invalid_parameters = [] data = self._sips_data_to_object(data.get('Data')) # TODO: txn_id: should be false at draft, set afterwards, and verified with txn details - if tx.acquirer_reference and data.get('transactionReference') != tx.acquirer_reference: - invalid_parameters.append(('transactionReference', data.get('transactionReference'), tx.acquirer_reference)) + if self.acquirer_reference and data.get('transactionReference') != self.acquirer_reference: + invalid_parameters.append(('transactionReference', data.get('transactionReference'), self.acquirer_reference)) # check what is bought - if float_compare(float(data.get('amount', '0.0')) / 100, tx.amount, 2) != 0: - invalid_parameters.append(('amount', data.get('amount'), '%.2f' % tx.amount)) - if tx.partner_reference and data.get('customerId') != tx.partner_reference: - invalid_parameters.append(('customerId', data.get('customerId'), tx.partner_reference)) + if float_compare(float(data.get('amount', '0.0')) / 100, self.amount, 2) != 0: + invalid_parameters.append(('amount', data.get('amount'), '%.2f' % self.amount)) + if self.partner_reference and data.get('customerId') != self.partner_reference: + invalid_parameters.append(('customerId', data.get('customerId'), self.partner_reference)) return invalid_parameters - @api.model - def _sips_form_validate(self, tx, data): + @api.multi + def _sips_form_validate(self, data): data = self._sips_data_to_object(data.get('Data')) status = data.get('responseCode') data = { @@ -195,35 +195,35 @@ class TxSips(models.Model): res = False if status in self._sips_valid_tx_status: msg = 'Payment for tx ref: %s, got response [%s], set as done.' % \ - (tx.reference, status) + (self.reference, status) _logger.info(msg) data.update(state='done', state_message=msg) res = True elif status in self._sips_error_tx_status: msg = 'Payment for tx ref: %s, got response [%s], set as ' \ - 'error.' % (tx.reference, status) + 'error.' % (self.reference, status) data.update(state='error', state_message=msg) elif status in self._sips_wait_tx_status: msg = 'Received wait status for payment ref: %s, got response ' \ - '[%s], set as error.' % (tx.reference, status) + '[%s], set as error.' % (self.reference, status) data.update(state='error', state_message=msg) elif status in self._sips_refused_tx_status: msg = 'Received refused status for payment ref: %s, got response' \ - ' [%s], set as error.' % (tx.reference, status) + ' [%s], set as error.' % (self.reference, status) data.update(state='error', state_message=msg) elif status in self._sips_pending_tx_status: msg = 'Payment ref: %s, got response [%s] set as pending.' \ - % (tx.reference, status) + % (self.reference, status) data.update(state='pending', state_message=msg) elif status in self._sips_cancel_tx_status: msg = 'Received notification for payment ref: %s, got response ' \ - '[%s], set as cancel.' % (tx.reference, status) + '[%s], set as cancel.' % (self.reference, status) data.update(state='cancel', state_message=msg) else: msg = 'Received unrecognized status for payment ref: %s, got ' \ - 'response [%s], set as error.' % (tx.reference, status) + 'response [%s], set as error.' % (self.reference, status) data.update(state='error', state_message=msg) _logger.info(msg) - tx.write(data) + self.write(data) return res diff --git a/addons/payment_stripe/models/payment_transaction.py b/addons/payment_stripe/models/payment_transaction.py index 5682123d71d..c1e3e5608af 100644 --- a/addons/payment_stripe/models/payment_transaction.py +++ b/addons/payment_stripe/models/payment_transaction.py @@ -88,14 +88,14 @@ class PaymentTransactionStripe(models.Model): }) return False - @api.model - def _stripe_form_get_invalid_parameters(self, tx, data): + @api.multi + def _stripe_form_get_invalid_parameters(self, data): invalid_parameters = [] reference = data['metadata']['reference'] - if reference != tx.reference: - invalid_parameters.append(('Reference', reference, tx.reference)) + if reference != self.reference: + invalid_parameters.append(('Reference', reference, self.reference)) return invalid_parameters - @api.model - def _stripe_form_validate(self, tx, data): - return tx._stripe_s2s_validate_tree(data) + @api.multi + def _stripe_form_validate(self, data): + return self._stripe_s2s_validate_tree(data) diff --git a/addons/payment_transfer/models/payment_acquirer.py b/addons/payment_transfer/models/payment_acquirer.py index a8d47098c6c..126329e8a6f 100644 --- a/addons/payment_transfer/models/payment_acquirer.py +++ b/addons/payment_transfer/models/payment_acquirer.py @@ -19,7 +19,7 @@ class TransferPaymentAcquirer(osv.Model): providers.append(['transfer', _('Wire Transfer')]) return providers - def transfer_get_form_action_url(self, cr, uid, id, context=None): + def transfer_get_form_action_url(self, cr, uid, ids, context=None): return '/payment/transfer/feedback' def _format_transfer_data(self, cr, uid, context=None): @@ -71,7 +71,8 @@ class TransferPaymentTransaction(osv.Model): return self.browse(cr, uid, tx_ids[0], context=context) - def _transfer_form_get_invalid_parameters(self, cr, uid, tx, data, context=None): + def _transfer_form_get_invalid_parameters(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] invalid_parameters = [] if float_compare(float(data.get('amount', '0.0')), tx.amount, 2) != 0: @@ -81,6 +82,7 @@ class TransferPaymentTransaction(osv.Model): return invalid_parameters - def _transfer_form_validate(self, cr, uid, tx, data, context=None): + def _transfer_form_validate(self, cr, uid, ids, data, context=None): + tx = self.browse(cr, uid, ids, context=context)[0] _logger.info('Validated transfer payment for tx %s: set as pending' % (tx.reference)) return tx.write({'state': 'pending'}) diff --git a/addons/website_payment/controllers/main.py b/addons/website_payment/controllers/main.py index d2d86734c3a..a3487e5052d 100644 --- a/addons/website_payment/controllers/main.py +++ b/addons/website_payment/controllers/main.py @@ -46,7 +46,7 @@ class website_payment(http.Controller): partner_id = user.partner_id.id if user.partner_id.id != request.website.partner_id.id else False - payment_form = acquirer.render(reference, float(amount), currency.id, values={'return_url': '/website_payment/confirm', 'partner_id': partner_id})[0] + payment_form = acquirer.render(reference, float(amount), currency.id, values={'return_url': '/website_payment/confirm', 'partner_id': partner_id}) values = { 'reference': reference, 'acquirer': acquirer, diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 991105f8774..25770f915a5 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -703,19 +703,20 @@ class WebsiteSale(http.Controller): acquirers = request.env['payment.acquirer'].search( [('website_published', '=', True), ('company_id', '=', order.company_id.id)] ) - values['acquirers'] = list(acquirers) - acquirer_buttons = acquirers.with_context(submit_class='btn btn-primary', submit_txt=_('Pay Now')).sudo().render( - '/', - order.amount_total, - order.pricelist_id.currency_id.id, - values={ - 'return_url': '/shop/payment/validate', - 'partner_id': shipping_partner_id, - 'billing_partner_id': order.partner_invoice_id.id, - } - ) - for index, button in enumerate(acquirer_buttons): - values['acquirers'][index].button = button + values['acquirers'] = [] + for acquirer in acquirers: + acquirer_button = acquirer.with_context(submit_class='btn btn-primary', submit_txt=_('Pay Now')).sudo().render( + '/', + order.amount_total, + order.pricelist_id.currency_id.id, + values={ + 'return_url': '/shop/payment/validate', + 'partner_id': shipping_partner_id, + 'billing_partner_id': order.partner_invoice_id.id, + } + ) + acquirer.button = acquirer_button + values['acquirers'].append(acquirer) return request.website.render("website_sale.payment", values) @@ -772,7 +773,7 @@ class WebsiteSale(http.Controller): 'partner_id': order.partner_shipping_id.id or order.partner_invoice_id.id, 'billing_partner_id': order.partner_invoice_id.id, }, - )[0] + ) @http.route('/shop/payment/get_status/<int:sale_order_id>', type='json', auth="public", website=True) def payment_get_status(self, sale_order_id, **post): |
