[FIX] website_payment_paypal: trace back accessing settings after deleting paypal
traceback is raised in settings page and on clicking activate stripe button after deleting the paypal payment provider from the database closes odoo/odoo#105692 X-original-commit: 4d34606baf314c78d608904720778ff2ac6bf5b4 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user