+
+
+
diff --git a/addons/payment/wizards/payment_acquirer_onboarding_wizard.py b/addons/payment/wizards/payment_acquirer_onboarding_wizard.py
index 7523ec5c8d6..80cb9e21799 100644
--- a/addons/payment/wizards/payment_acquirer_onboarding_wizard.py
+++ b/addons/payment/wizards/payment_acquirer_onboarding_wizard.py
@@ -9,9 +9,10 @@ class PaymentWizard(models.TransientModel):
_name = 'payment.acquirer.onboarding.wizard'
payment_method = fields.Selection([
- ('paypal', "PayPal"),
- ('stripe', "Credit Card (via Stripe)"),
- ('manual', "Wire Transfer"),
+ ('paypal', "Pay with PayPal"),
+ ('stripe', "Pay with credit card (via Stripe)"),
+ ('other', "Pay with another payment acquirer"),
+ ('manual', "Custom payment instructions"),
], string="Payment Method", default=lambda self: self._get_default_payment_acquirer_onboarding_value('payment_method'))
paypal_email_account = fields.Char("PayPal Email ID", default=lambda self: self._get_default_payment_acquirer_onboarding_value('paypal_email_account'))
@@ -21,7 +22,8 @@ class PaymentWizard(models.TransientModel):
stripe_secret_key = fields.Char(default=lambda self: self._get_default_payment_acquirer_onboarding_value('stripe_secret_key'))
stripe_publishable_key = fields.Char(default=lambda self: self._get_default_payment_acquirer_onboarding_value('stripe_publishable_key'))
- journal_name = fields.Char("Journal Name", default=lambda self: self._get_default_payment_acquirer_onboarding_value('journal_name'))
+ manual_name = fields.Char("Method", default=lambda self: self._get_default_payment_acquirer_onboarding_value('manual_name'))
+ journal_name = fields.Char("Bank Name", default=lambda self: self._get_default_payment_acquirer_onboarding_value('journal_name'))
acc_number = fields.Char("Account Number", default=lambda self: self._get_default_payment_acquirer_onboarding_value('acc_number'))
manual_post_msg = fields.Html("Payment instructions")
@@ -69,6 +71,7 @@ class PaymentWizard(models.TransientModel):
manual_payment = self._get_manual_payment_acquirer()
journal = manual_payment.journal_id
+ self._payment_acquirer_onboarding_cache['manual_name'] = manual_payment['name']
self._payment_acquirer_onboarding_cache['manual_post_msg'] = manual_payment['post_msg']
self._payment_acquirer_onboarding_cache['journal_name'] = journal.name if journal.name != "Bank" else ""
self._payment_acquirer_onboarding_cache['acc_number'] = journal.bank_acc_number
@@ -80,6 +83,9 @@ class PaymentWizard(models.TransientModel):
if module.state not in ('installed', 'to install', 'to upgrade'):
module.button_immediate_install()
+ def _on_save_payment_acquirer(self):
+ self._install_module('account_payment')
+
@api.multi
def add_payment_methods(self):
""" Install required payment acquiers, configure them and mark the
@@ -91,7 +97,9 @@ class PaymentWizard(models.TransientModel):
if self.payment_method == 'stripe':
self._install_module('payment_stripe')
- if self.payment_method in ('paypal', 'stripe', 'manual'):
+ if self.payment_method in ('paypal', 'stripe', 'manual', 'other'):
+
+ self._on_save_payment_acquirer()
self.env.user.company_id.payment_onboarding_payment_method = self.payment_method
@@ -113,6 +121,7 @@ class PaymentWizard(models.TransientModel):
})
if self.payment_method == 'manual':
manual_acquirer = self._get_manual_payment_acquirer(new_env)
+ manual_acquirer.name = self.manual_name
manual_acquirer.post_msg = self.manual_post_msg
manual_acquirer.website_published = True
diff --git a/addons/sale/models/res_company.py b/addons/sale/models/res_company.py
index 17a5bf2e39e..f8979ef849d 100644
--- a/addons/sale/models/res_company.py
+++ b/addons/sale/models/res_company.py
@@ -17,11 +17,11 @@ class ResCompany(models.Model):
sale_onboarding_sample_quotation_state = fields.Selection([('not_done', "Not done"), ('just_done', "Just done"), ('done', "Done")], string="State of the onboarding sample quotation step", default='not_done')
sale_onboarding_payment_method = fields.Selection([
- ('digital_signature', 'Digital signature, without payment'),
+ ('digital_signature', 'Sign online'),
('paypal', 'PayPal'),
('stripe', 'Stripe'),
+ ('other', 'Pay with another payment acquirer'),
('manual', 'Wire Transfer'),
- ('none', 'No digital signature or payment'),
], string="Sale onboarding selected payment method")
@api.model
diff --git a/addons/sale/views/sale_onboarding_views.xml b/addons/sale/views/sale_onboarding_views.xml
index 3575729652a..c429991d7f2 100644
--- a/addons/sale/views/sale_onboarding_views.xml
+++ b/addons/sale/views/sale_onboarding_views.xml
@@ -14,7 +14,7 @@
- Confirmation & payment
+ Confirmation & Payment
Choose how to confirm quotations and get paid.
@@ -55,19 +55,10 @@
col col-4
-
-
- Digital signature offers as much legal guarantee as a paper signature, with way
- more convenience for all parties.
-
-
- The salesperson confirms the quotation, after receiving an approval by email, a call, etc.
-
-
- Choose a payment method
+ How your customers can confirm an order
ir.actions.act_window
sale.payment.acquirer.onboarding.wizard
form
diff --git a/addons/sale/wizard/payment_acquirer_onboarding_wizard.py b/addons/sale/wizard/payment_acquirer_onboarding_wizard.py
index d81da663c13..dba92f9d8ee 100644
--- a/addons/sale/wizard/payment_acquirer_onboarding_wizard.py
+++ b/addons/sale/wizard/payment_acquirer_onboarding_wizard.py
@@ -14,11 +14,11 @@ class PaymentWizard(models.TransientModel):
return self.env.user.company_id.sale_onboarding_payment_method
payment_method = fields.Selection([
- ('digital_signature', 'Digital signature, without payment'),
- ('paypal', 'PayPal'),
- ('stripe', 'Stripe'),
- ('manual', 'Wire Transfer'),
- ('none', 'No digital signature or payment'),
+ ('digital_signature', 'Sign online'),
+ ('paypal', "Pay with PayPal"),
+ ('stripe', "Pay with credit card (via Stripe)"),
+ ('other', "Pay with another payment acquirer"),
+ ('manual', "Custom payment instructions"),
], default=_get_default_payment_method)
#
@@ -26,11 +26,19 @@ class PaymentWizard(models.TransientModel):
""" Override. """
self.env.user.company_id.set_onboarding_step_done('sale_onboarding_order_confirmation_state')
+
+ def _on_save_payment_acquirer(self, *args, **kwargs):
+ """ Override """
+ self._install_module('sale_payment')
+ return super(PaymentWizard, self)._on_save_payment_acquirer(*args, **kwargs)
+
@api.multi
def add_payment_methods(self, *args, **kwargs):
self.env.user.company_id.sale_onboarding_payment_method = self.payment_method
if self.payment_method == 'digital_signature':
self.env.user.company_id.portal_confirmation_sign = True
if self.payment_method in ('paypal', 'stripe'):
- self.env.user.company_id.portal_confirmation_pay = True # TODO self.digital_signature
+ self.env.user.company_id.portal_confirmation_pay = True
+
+
return super(PaymentWizard, self).add_payment_methods(*args, **kwargs)
diff --git a/odoo/addons/base/views/onboarding_views.xml b/odoo/addons/base/views/onboarding_views.xml
index 3f7adffe9bc..058dc7dcdae 100644
--- a/odoo/addons/base/views/onboarding_views.xml
+++ b/odoo/addons/base/views/onboarding_views.xml
@@ -41,7 +41,7 @@
- Nice work!
+ Nice work! Your configuration is done.