diff --git a/addons/website_payment/__init__.py b/addons/website_payment/__init__.py index ee70d6d3229..edccdf73182 100644 --- a/addons/website_payment/__init__.py +++ b/addons/website_payment/__init__.py @@ -18,3 +18,5 @@ # along with this program. If not, see . # ############################################################################## + +import controllers diff --git a/addons/website_payment/__openerp__.py b/addons/website_payment/__openerp__.py index a0814e66a4d..01b69d33ddd 100644 --- a/addons/website_payment/__openerp__.py +++ b/addons/website_payment/__openerp__.py @@ -1,24 +1,42 @@ # -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013-Today OpenERP SA (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## { - 'name': 'Payment: Website Bridge Integration', + 'name': 'Payment: Website Integration (Test Module)', 'category': 'Website', - 'summary': 'Payment: Website Bridge Module', + 'summary': 'Payment: Website Integration (Test Module)', 'version': '1.0', - 'description': """Bridge module between the payment acquirer module and the - website module.""", + 'description': """Module installing all sub-payment modules and adding some + controllers and menu entries in order to test them.""", 'author': 'OpenERP SA', 'depends': [ 'website', 'payment_acquirer', + 'payment_acquirer_ogone', + 'payment_acquirer_paypal', + 'payment_acquirer_transfer', ], 'data': [ + 'views/website_payment_templates.xml', ], - 'js': [ - 'static/lib/jquery.payment/jquery.payment.js', - 'static/src/js/website_payment.js' - ], - 'css': [ - 'static/src/css/website_payment.css' - ], + 'installable': False, + 'active': False, } diff --git a/addons/website_payment/controllers/__init__.py b/addons/website_payment/controllers/__init__.py new file mode 100644 index 00000000000..8ee9bae18d9 --- /dev/null +++ b/addons/website_payment/controllers/__init__.py @@ -0,0 +1 @@ +import main diff --git a/addons/website_payment/controllers/main.py b/addons/website_payment/controllers/main.py new file mode 100644 index 00000000000..4a971975d97 --- /dev/null +++ b/addons/website_payment/controllers/main.py @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013-Today OpenERP SA (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from openerp.addons.web import http +from openerp.addons.web.http import request +from openerp.addons.website.models import website + + +class WebsitePayment(http.Controller): + + @website.route([ + '/payment/paypal/test', + ], type='http', auth="public") + def paypal_test(self, **post): + """ TODO + """ + cr, uid, context = request.cr, request.uid, request.context + acquirer_obj = request.registry['payment.acquirer'] + payment_obj = request.registry['payment.transaction'] + currency_obj = request.registry['res.currency'] + + paypal_id = acquirer_obj.search(cr, uid, [('name', '=', 'paypal')], limit=1, context=context)[0] + currency_id = currency_obj.search(cr, uid, [('name', '=', 'EUR')], limit=1, context=context)[0] + + nbr_tx = payment_obj.search(cr, uid, [], count=True, context=context) + tx_id = payment_obj.create(cr, uid, { + 'reference': 'test_ref_%s' % (nbr_tx), + 'amount': 1.95, + 'currency_id': currency_id, + 'acquirer_id': paypal_id, + 'partner_name': 'Norbert Buyer', + 'partner_email': 'norbert.buyer@example.com', + 'partner_lang': 'fr_FR', + }, context=context) + + paypal_form = acquirer_obj.render(cr, uid, paypal_id, None, None, None, tx_id=tx_id, context=context) + paypal = acquirer_obj.browse(cr, uid, paypal_id, context=context) + + values = { + 'acquirer': paypal, + 'acquirer_form': paypal_form, + } + return request.website.render("website_payment.index_paypal", values) + + @website.route([ + '/payment/ogone/test', + ], type='http', auth="public") + def ogone_test(self, **post): + """ TODO + """ + cr, uid, context = request.cr, request.uid, request.context + acquirer_obj = request.registry['payment.acquirer'] + payment_obj = request.registry['payment.transaction'] + currency_obj = request.registry['res.currency'] + + ogone_id = acquirer_obj.search(cr, uid, [('name', '=', 'ogone')], limit=1, context=context)[0] + currency_id = currency_obj.search(cr, uid, [('name', '=', 'EUR')], limit=1, context=context)[0] + + nbr_tx = payment_obj.search(cr, uid, [], count=True, context=context) + tx_id = payment_obj.create(cr, uid, { + 'reference': 'test_ref_%s' % (nbr_tx), + 'amount': 1.95, + 'currency_id': currency_id, + 'acquirer_id': ogone_id, + 'partner_name': 'Norbert Buyer', + 'partner_email': 'norbert.buyer@example.com', + 'partner_lang': 'fr_FR', + }, context=context) + + ogone_form = acquirer_obj.render(cr, uid, ogone_id, None, None, None, tx_id=tx_id, context=context) + ogone = acquirer_obj.browse(cr, uid, ogone_id, context=context) + + values = { + 'acquirer': ogone, + 'acquirer_form': ogone_form, + } + return request.website.render("website_payment.index_ogone", values) diff --git a/addons/website_payment/static/src/js/website_payment.js b/addons/website_payment/static/src/js/payment_acquirer.js similarity index 100% rename from addons/website_payment/static/src/js/website_payment.js rename to addons/website_payment/static/src/js/payment_acquirer.js diff --git a/addons/website_payment/views/website_payment_templates.xml b/addons/website_payment/views/website_payment_templates.xml new file mode 100644 index 00000000000..bf6b151326f --- /dev/null +++ b/addons/website_payment/views/website_payment_templates.xml @@ -0,0 +1,100 @@ + + + + + + + Paypal (Test) + /payment/paypal/test + + 90 + + + + Ogone (Test) + /payment/ogone/test + + 91 + + + + Transfer (Test) + /payment/transfer/test + + 92 + + + + + + + + + + + + +