diff --git a/addons/payment/models/payment_acquirer.py b/addons/payment/models/payment_acquirer.py index 5d65f7fbaff..17139195f2d 100644 --- a/addons/payment/models/payment_acquirer.py +++ b/addons/payment/models/payment_acquirer.py @@ -454,7 +454,7 @@ class PaymentTransaction(osv.Model): def get_next_reference(self, cr, uid, reference, context=None): ref_suffix = 1 init_ref = reference - while self.pool['payment.transaction'].search_count(cr, uid, [('reference', '=', reference)], context=context): + while self.pool['payment.transaction'].search_count(cr, openerp.SUPERUSER_ID, [('reference', '=', reference)], context=context): reference = init_ref + '-' + str(ref_suffix) ref_suffix += 1 return reference diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 1e82a153509..12498409a92 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -804,12 +804,11 @@ class website_sale(http.Controller): tx = request.website.sale_get_transaction() if tx: tx_id = tx.id - if tx.reference != order.name: + if tx.sale_order_id.id != order.id or tx.state in ['error', 'cancel'] or tx.acquirer_id.id != acquirer_id: tx = False tx_id = False elif tx.state == 'draft': # button cliked but no more info -> rewrite on tx or create a new one ? tx.write({ - 'acquirer_id': acquirer_id, 'amount': order.amount_total, }) if not tx: