From 7869979591a49b79c0a0eb16c10772bc45efbbcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Todorovich?= Date: Thu, 26 Dec 2019 19:47:00 +0000 Subject: [PATCH] [FIX] *: use sudo() to call set_onboarding_step_done This method makes a write on res.company but many people do not have access to the company closes odoo/odoo#42644 X-original-commit: 130f08f13b49a529c1da0e1dc603c62337842f45 Signed-off-by: Martin Trigaux (mat) --- addons/account/models/account_journal_dashboard.py | 2 +- addons/account/models/company.py | 2 +- addons/account/wizard/setup_wizards.py | 2 +- addons/payment/wizards/payment_acquirer_onboarding_wizard.py | 2 +- addons/sale/models/sale.py | 2 +- addons/sale/wizard/payment_acquirer_onboarding_wizard.py | 2 +- .../website_sale/wizard/payment_acquirer_onboarding_wizard.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/account/models/account_journal_dashboard.py b/addons/account/models/account_journal_dashboard.py index 93de621516c..5bc4eff5e4a 100644 --- a/addons/account/models/account_journal_dashboard.py +++ b/addons/account/models/account_journal_dashboard.py @@ -539,7 +539,7 @@ class account_journal(models.Model): ##################### def mark_bank_setup_as_done_action(self): """ Marks the 'bank setup' step as done in the setup bar and in the company.""" - self.company_id.set_onboarding_step_done('account_setup_bank_data_state') + self.company_id.sudo().set_onboarding_step_done('account_setup_bank_data_state') def unmark_bank_setup_as_done_action(self): """ Marks the 'bank setup' step as not done in the setup bar and in the company.""" diff --git a/addons/account/models/company.py b/addons/account/models/company.py index c7ca7fba0d1..561bef74e68 100644 --- a/addons/account/models/company.py +++ b/addons/account/models/company.py @@ -294,7 +294,7 @@ class ResCompany(models.Model): def setting_chart_of_accounts_action(self): """ Called by the 'Chart of Accounts' button of the setup bar.""" company = self.env.company - company.set_onboarding_step_done('account_setup_coa_state') + company.sudo().set_onboarding_step_done('account_setup_coa_state') # If an opening move has already been posted, we open the tree view showing all the accounts if company.opening_move_posted(): diff --git a/addons/account/wizard/setup_wizards.py b/addons/account/wizard/setup_wizards.py index 1925d5f9750..389e28a5d55 100644 --- a/addons/account/wizard/setup_wizards.py +++ b/addons/account/wizard/setup_wizards.py @@ -60,7 +60,7 @@ class FinancialYearOpeningWizard(models.TransientModel): return super().write(vals) def action_save_onboarding_fiscal_year(self): - self.env.company.set_onboarding_step_done('account_setup_fy_data_state') + self.env.company.sudo().set_onboarding_step_done('account_setup_fy_data_state') class SetupBarBankConfigWizard(models.TransientModel): diff --git a/addons/payment/wizards/payment_acquirer_onboarding_wizard.py b/addons/payment/wizards/payment_acquirer_onboarding_wizard.py index 2c198e23aa8..b99449d620c 100644 --- a/addons/payment/wizards/payment_acquirer_onboarding_wizard.py +++ b/addons/payment/wizards/payment_acquirer_onboarding_wizard.py @@ -148,7 +148,7 @@ class PaymentWizard(models.TransientModel): return {'type': 'ir.actions.act_window_close'} def _set_payment_acquirer_onboarding_step_done(self): - self.env.company.set_onboarding_step_done('payment_acquirer_onboarding_state') + self.env.company.sudo().set_onboarding_step_done('payment_acquirer_onboarding_state') def action_onboarding_other_payment_acquirer(self): self._set_payment_acquirer_onboarding_step_done() diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index 071e145a662..41c91bf2b27 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -746,7 +746,7 @@ class SaleOrder(models.Model): def message_post(self, **kwargs): if self.env.context.get('mark_so_as_sent'): self.filtered(lambda o: o.state == 'draft').with_context(tracking_disable=True).write({'state': 'sent'}) - self.env.company.set_onboarding_step_done('sale_onboarding_sample_quotation_state') + self.env.company.sudo().set_onboarding_step_done('sale_onboarding_sample_quotation_state') return super(SaleOrder, self.with_context(mail_post_autofollow=True)).message_post(**kwargs) def _send_order_confirmation_mail(self): diff --git a/addons/sale/wizard/payment_acquirer_onboarding_wizard.py b/addons/sale/wizard/payment_acquirer_onboarding_wizard.py index 862ff926683..4204adee5fe 100644 --- a/addons/sale/wizard/payment_acquirer_onboarding_wizard.py +++ b/addons/sale/wizard/payment_acquirer_onboarding_wizard.py @@ -25,7 +25,7 @@ class PaymentWizard(models.TransientModel): def _set_payment_acquirer_onboarding_step_done(self): """ Override. """ - self.env.company.set_onboarding_step_done('sale_onboarding_order_confirmation_state') + self.env.company.sudo().set_onboarding_step_done('sale_onboarding_order_confirmation_state') def add_payment_methods(self, *args, **kwargs): self.env.company.sale_onboarding_payment_method = self.payment_method diff --git a/addons/website_sale/wizard/payment_acquirer_onboarding_wizard.py b/addons/website_sale/wizard/payment_acquirer_onboarding_wizard.py index 4edd7c6a51e..89ca6b681bd 100644 --- a/addons/website_sale/wizard/payment_acquirer_onboarding_wizard.py +++ b/addons/website_sale/wizard/payment_acquirer_onboarding_wizard.py @@ -11,4 +11,4 @@ class PaymentWizard(models.TransientModel): def _set_payment_acquirer_onboarding_step_done(self): """ Override. """ - self.env.company.set_onboarding_step_done('website_sale_onboarding_payment_acquirer_state') + self.env.company.sudo().set_onboarding_step_done('website_sale_onboarding_payment_acquirer_state')