diff --git a/addons/payment/models/res_company.py b/addons/payment/models/res_company.py index e4ceac7d6a0..64176c4eef5 100644 --- a/addons/payment/models/res_company.py +++ b/addons/payment/models/res_company.py @@ -45,12 +45,15 @@ class ResCompany(models.Model): stripe_provider.journal_id = stripe_provider.journal_id or default_journal if stripe_provider.state == 'disabled': # The onboarding step has never been run # Configure PayPal - paypal_provider = new_env.ref('payment.payment_provider_paypal') - if not paypal_provider.paypal_email_account: - paypal_provider.paypal_email_account = new_env.user.email or new_env.company.email - if paypal_provider.state == 'disabled' and paypal_provider.paypal_email_account: - paypal_provider.state = 'enabled' - paypal_provider.journal_id = paypal_provider.journal_id or default_journal + paypal_provider = new_env.ref( + 'payment.payment_provider_paypal', raise_if_not_found=False + ) + if paypal_provider: + if not paypal_provider.paypal_email_account: + paypal_provider.paypal_email_account = new_env.user.email or new_env.company.email + if paypal_provider.state == 'disabled' and paypal_provider.paypal_email_account: + paypal_provider.state = 'enabled' + paypal_provider.journal_id = paypal_provider.journal_id or default_journal return stripe_provider.action_stripe_connect_account(menu_id=menu_id) diff --git a/addons/website_payment_paypal/models/res_config_settings.py b/addons/website_payment_paypal/models/res_config_settings.py index 2f254162d7b..00d8a460c4b 100644 --- a/addons/website_payment_paypal/models/res_config_settings.py +++ b/addons/website_payment_paypal/models/res_config_settings.py @@ -12,12 +12,13 @@ class ResConfigSettings(models.TransientModel): @api.model def get_values(self): res = super().get_values() - paypal = self.env.ref('payment.payment_provider_paypal').sudo() - res['paypal_email_account'] = paypal.paypal_email_account + paypal = self.env.ref('payment.payment_provider_paypal', raise_if_not_found=False) + if paypal: + res['paypal_email_account'] = paypal.sudo().paypal_email_account return res def set_values(self): super().set_values() - paypal = self.env.ref('payment.payment_provider_paypal').sudo() - if paypal.paypal_email_account != self.paypal_email_account: - paypal.paypal_email_account = self.paypal_email_account + paypal = self.env.ref('payment.payment_provider_paypal', raise_if_not_found=False) + if paypal and paypal.sudo().paypal_email_account != self.paypal_email_account: + paypal.sudo().paypal_email_account = self.paypal_email_account