From f1906f4bb21a88e0c8008393557a16b098dea3c2 Mon Sep 17 00:00:00 2001
From: Saurabh Choraria <sauc@odoo.com>
Date: Fri, 19 May 2023 06:03:12 +0000
Subject: [PATCH] [FIX] base: prevent traceback when Portal User Template is
 not found
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When user deletes 'Portal User Template' record from 'res.users' model and when
'action_open_template_user' function is executed at that time traceback is
generated on the user side as well as in the log.

Steps to reproduce:
    1. Install Website module.
    2. Go to settings > Users&Companies > Users.
    3. Remove Internal Users from default filter.
    4. Add Inactive Users in filter and delete Portal User Template.
    5. Go to Website Settings > Privacy > Customer Account.
    6. Click on Free sign up and then on Save button.
    7. Now in Website Settings click on Default Access Rights button.
    8. The error will occur.

Applying this commit will fix this issue.

sentry-4184456381

closes odoo/odoo#121757

Signed-off-by: Rémy Voet <ryv@odoo.com>
---
 odoo/addons/base/models/res_config.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/odoo/addons/base/models/res_config.py b/odoo/addons/base/models/res_config.py
index 7e6c17e09267..d2a683979ec8 100644
--- a/odoo/addons/base/models/res_config.py
+++ b/odoo/addons/base/models/res_config.py
@@ -761,7 +761,7 @@ class ResConfigSettings(models.TransientModel, ResConfigModuleInstallationMixin)
         template_user_id = literal_eval(self.env['ir.config_parameter'].sudo().get_param('base.template_portal_user_id', 'False'))
         template_user = self.env['res.users'].browse(template_user_id)
         if not template_user.exists():
-            raise ValueError(_('Invalid template user. It seems it has been deleted.'))
+            raise UserError(_('Invalid template user. It seems it has been deleted.'))
         action['res_id'] = template_user_id
         action['views'] = [[self.env.ref('base.view_users_form').id, 'form']]
         return action
-- 
GitLab