diff --git a/addons/payment_sips/controllers/main.py b/addons/payment_sips/controllers/main.py index 0bf4a5f52b3..41ad8508210 100644 --- a/addons/payment_sips/controllers/main.py +++ b/addons/payment_sips/controllers/main.py @@ -4,8 +4,8 @@ import json import logging import werkzeug -from openerp import http -from openerp.http import request +from odoo import http +from odoo.http import request _logger = logging.getLogger(__name__) @@ -18,27 +18,20 @@ class SipsController(http.Controller): """ Extract the return URL from the data coming from sips. """ return_url = post.pop('return_url', '') if not return_url: - tx_obj = request.registry['payment.transaction'] - data = tx_obj._sips_data_to_object(post.get('Data')) + Tx = request.env['payment.transaction'] + data = Tx._sips_data_to_object(post.get('Data')) custom = json.loads(data.pop('returnContext', False) or '{}') return_url = custom.get('return_url', '/') return return_url def sips_validate_data(self, **post): - res = False - env = request.env - tx_obj = env['payment.transaction'] - acquirer_obj = env['payment.acquirer'] - - sips = acquirer_obj.search([('provider', '=', 'sips')], limit=1) - + sips = request.env['payment.acquirer'].search([('provider', '=', 'sips')], limit=1) security = sips._sips_generate_shasign(post) if security == post['Seal']: _logger.debug('Sips: validated data') - res = tx_obj.sudo().form_feedback(post, 'sips') - else: - _logger.warning('Sips: data are corrupted') - return res + return request.env['payment.transaction'].sudo().form_feedback(post, 'sips') + _logger.warning('Sips: data are corrupted') + return False @http.route([ '/payment/sips/ipn/'], diff --git a/addons/payment_sips/data/payment_acquirer_data.xml b/addons/payment_sips/data/payment_acquirer_data.xml index 89ec787ea5e..e841c411f5b 100644 --- a/addons/payment_sips/data/payment_acquirer_data.xml +++ b/addons/payment_sips/data/payment_acquirer_data.xml @@ -1,5 +1,5 @@ - + @@ -15,4 +15,4 @@ - + diff --git a/addons/payment_sips/models/payment.py b/addons/payment_sips/models/payment.py index e194cb281e5..7ce02a9d147 100644 --- a/addons/payment_sips/models/payment.py +++ b/addons/payment_sips/models/payment.py @@ -4,13 +4,12 @@ import json import logging from hashlib import sha256 import urlparse -import unicodedata -from openerp import models, fields, api -from openerp.tools.float_utils import float_compare -from openerp.tools.translate import _ -from openerp.addons.payment.models.payment_acquirer import ValidationError -from openerp.addons.payment_sips.controllers.main import SipsController +from odoo import models, fields, api +from odoo.tools.float_utils import float_compare +from odoo.tools.translate import _ +from odoo.addons.payment.models.payment_acquirer import ValidationError +from odoo.addons.payment_sips.controllers.main import SipsController _logger = logging.getLogger(__name__) @@ -36,12 +35,11 @@ CURRENCY_CODES = { class AcquirerSips(models.Model): _inherit = 'payment.acquirer' - # Fields - sips_merchant_id = fields.Char('SIPS API User Password', - required_if_provider='sips') + + provider = fields.Selection(selection_add=[('sips', 'Sips')]) + sips_merchant_id = fields.Char('SIPS API User Password', required_if_provider='sips') sips_secret = fields.Char('SIPS Secret', size=64, required_if_provider='sips') - # Methods def _get_sips_urls(self, environment): """ Worldline SIPS URLS """ url = { @@ -50,12 +48,6 @@ class AcquirerSips(models.Model): return {'sips_form_url': url.get(environment, url['test']), } - @api.model - def _get_providers(self): - providers = super(AcquirerSips, self)._get_providers() - providers.append(['sips', 'Sips']) - return providers - def _sips_generate_shasign(self, values): """ Generate the shasign for incoming or outgoing communications. :param dict values: transaction values @@ -124,7 +116,6 @@ class AcquirerSips(models.Model): class TxSips(models.Model): _inherit = 'payment.transaction' - # sips status _sips_valid_tx_status = ['00'] _sips_wait_tx_status = ['90', '99'] _sips_refused_tx_status = ['05', '14', '34', '54', '75', '97'] @@ -135,6 +126,7 @@ class TxSips(models.Model): # -------------------------------------------------- # FORM RELATED METHODS # -------------------------------------------------- + def _sips_data_to_object(self, data): res = {} for element in data.split('|'): diff --git a/addons/payment_sips/views/payment_sips_templates.xml b/addons/payment_sips/views/payment_sips_templates.xml index 2aeda71c3aa..1d8b487d379 100644 --- a/addons/payment_sips/views/payment_sips_templates.xml +++ b/addons/payment_sips/views/payment_sips_templates.xml @@ -1,5 +1,5 @@ - + - + diff --git a/addons/payment_sips/views/payment_views.xml b/addons/payment_sips/views/payment_views.xml index 9336cdd7ae4..4e5585af458 100644 --- a/addons/payment_sips/views/payment_views.xml +++ b/addons/payment_sips/views/payment_views.xml @@ -1,5 +1,5 @@ - + @@ -17,4 +17,4 @@ - +