Forward port of branch saas-3 up to rev 2ee1843
[odoo/odoo.git] / addons / payment_paypal / models / paypal.py
index bade234..c94622a 100644 (file)
@@ -22,9 +22,9 @@ _logger = logging.getLogger(__name__)
 class AcquirerPaypal(osv.Model):
     _inherit = 'payment.acquirer'
 
-    def _get_paypal_urls(self, cr, uid, env, context=None):
+    def _get_paypal_urls(self, cr, uid, environment, context=None):
         """ Paypal URLS """
-        if env == 'prod':
+        if environment == 'prod':
             return {
                 'paypal_form_url': 'https://www.paypal.com/cgi-bin/webscr',
                 'paypal_rest_url': 'https://api.paypal.com/v1/oauth2/token',
@@ -35,6 +35,11 @@ class AcquirerPaypal(osv.Model):
                 'paypal_rest_url': 'https://api.sandbox.paypal.com/v1/oauth2/token',
             }
 
+    def _get_providers(self, cr, uid, context=None):
+        providers = super(AcquirerPaypal, self)._get_providers(cr, uid, context=context)
+        providers.append(['paypal', 'Paypal'])
+        return providers
+
     _columns = {
         'paypal_email_account': fields.char('Paypal Email ID', required_if_provider='paypal'),
         'paypal_seller_account': fields.char(
@@ -65,13 +70,14 @@ class AcquirerPaypal(osv.Model):
         res = cr.fetchall()
         for (company_id, company_paypal_account) in res:
             if company_paypal_account:
-                company_paypal_ids = self.search(cr, uid, [('company_id', '=', company_id), ('name', '=', 'paypal')], limit=1, context=context)
+                company_paypal_ids = self.search(cr, uid, [('company_id', '=', company_id), ('provider', '=', 'paypal')], limit=1, context=context)
                 if company_paypal_ids:
                     self.write(cr, uid, company_paypal_ids, {'paypal_email_account': company_paypal_account}, context=context)
                 else:
                     paypal_view = self.pool['ir.model.data'].get_object(cr, uid, 'payment_paypal', 'paypal_acquirer_button')
                     self.create(cr, uid, {
-                        'name': 'paypal',
+                        'name': 'Paypal',
+                        'provider': 'paypal',
                         'paypal_email_account': company_paypal_account,
                         'view_template_id': paypal_view.id,
                     }, context=context)
@@ -131,7 +137,7 @@ class AcquirerPaypal(osv.Model):
 
     def paypal_get_form_action_url(self, cr, uid, id, context=None):
         acquirer = self.browse(cr, uid, id, context=context)
-        return self._get_paypal_urls(cr, uid, acquirer.env, context=context)['paypal_form_url']
+        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):
         """
@@ -143,7 +149,7 @@ class AcquirerPaypal(osv.Model):
         parameters = werkzeug.url_encode({'grant_type': 'client_credentials'})
 
         for acquirer in self.browse(cr, uid, ids, context=context):
-            tx_url = self._get_paypal_urls(cr, uid, acquirer.env)['paypal_rest_url']
+            tx_url = self._get_paypal_urls(cr, uid, acquirer.environment)['paypal_rest_url']
             request = urllib2.Request(tx_url, parameters)
 
             # add other headers (https://developer.paypal.com/webapps/developer/docs/integration/direct/make-your-first-call/)