File tree Expand file tree Collapse file tree 4 files changed +23
-25
lines changed Expand file tree Collapse file tree 4 files changed +23
-25
lines changed Original file line number Diff line number Diff line change @@ -47,6 +47,10 @@ class ResUsersRole(models.Model):
4747 help = "Privilege assigned to the associated group." ,
4848 readonly = False ,
4949 )
50+ is_default = fields .Boolean (
51+ string = "Default on new users" ,
52+ help = ("When enabled, this role is assigned to newly created users by default." ),
53+ )
5054
5155 @api .depends ("line_ids.user_id" )
5256 def _compute_user_ids (self ):
Original file line number Diff line number Diff line change @@ -31,23 +31,15 @@ def _compute_show_alert(self):
3131
3232 @api .model
3333 def _default_role_lines (self ):
34- template_user = self .env .ref (
35- "base.template_portal_user_id" , raise_if_not_found = False
36- )
37- default_values = []
38- if template_user :
39- for role_line in template_user .with_context (
40- active_test = False
41- ).role_line_ids :
42- default_values .append (
43- {
44- "role_id" : role_line .role_id .id ,
45- "date_from" : role_line .date_from ,
46- "date_to" : role_line .date_to ,
47- "is_enabled" : role_line .is_enabled ,
48- }
49- )
50- return default_values
34+ """Default role lines for a new user.
35+
36+ In Odoo 19, the former ``base.default_user`` template was removed in
37+ favor of a default group. There is no default user anymore to copy
38+ role lines from. Use a boolean on roles to mark the ones that should
39+ apply to new users.
40+ """
41+ default_roles = self .env ["res.users.role" ].search ([("is_default" , "=" , True )])
42+ return [{"role_id" : r .id } for r in default_roles ]
5143
5244 @api .depends ("role_line_ids.role_id" )
5345 def _compute_role_ids (self ):
Original file line number Diff line number Diff line change @@ -201,14 +201,9 @@ def test_role_line_unlink(self):
201201 self .assertFalse (role2_groups <= self .user_id .group_ids )
202202
203203 def test_default_user_roles (self ):
204- self .default_user .write (
205- {
206- "role_line_ids" : [
207- fields .Command .create ({"role_id" : self .role1_id .id }),
208- fields .Command .create ({"role_id" : self .role2_id .id }),
209- ]
210- }
211- )
204+ # Mark roles as default on new users
205+ self .role1_id .is_default = True
206+ self .role2_id .is_default = True
212207 user = self .user_model .create (
213208 {"name" : "USER TEST (DEFAULT ROLES)" , "login" : "user_test_default_roles" }
214209 )
Original file line number Diff line number Diff line change 3838 <group >
3939 <field name =" name" />
4040 <field name =" group_id" required =" 0" readonly =" 1" />
41+ <field name =" is_default" />
4142 </group >
4243 <notebook >
4344 <page string =" Groups" >
7677 <field name =" arch" type =" xml" >
7778 <list >
7879 <field name =" name" />
80+ <field name =" is_default" />
7981 <field name =" user_ids" />
8082 </list >
8183 </field >
8890 <field name =" name" />
8991 <field name =" user_ids" />
9092 <field name =" implied_ids" />
93+ <filter
94+ name =" is_default"
95+ string =" Default"
96+ domain =" [('is_default', '=', True)]"
97+ />
9198 </search >
9299 </field >
93100 </record >
You can’t perform that action at this time.
0 commit comments