@@ -34,15 +34,21 @@ def _default_role_lines(self):
3434 default_user = self .env .ref ("base.default_user" , raise_if_not_found = False )
3535 default_values = []
3636 if default_user :
37- for role_line in default_user .with_context (active_test = False ).role_line_ids :
38- default_values .append (
39- {
40- "role_id" : role_line .role_id .id ,
41- "date_from" : role_line .date_from ,
42- "date_to" : role_line .date_to ,
43- "is_enabled" : role_line .is_enabled ,
44- }
45- )
37+ default_values = default_user ._get_role_lines_vals_from_user ()
38+ return default_values
39+
40+ def _get_role_lines_vals_from_user (self ):
41+ self .ensure_one ()
42+ default_values = []
43+ for role_line in self .with_context (active_test = False ).role_line_ids :
44+ default_values .append (
45+ {
46+ "role_id" : role_line .role_id .id ,
47+ "date_from" : role_line .date_from ,
48+ "date_to" : role_line .date_to ,
49+ "is_enabled" : role_line .is_enabled ,
50+ }
51+ )
4652 return default_values
4753
4854 @api .depends ("role_line_ids.role_id" )
@@ -97,3 +103,15 @@ def set_groups_from_roles(self, force=False):
97103 vals = {"groups_id" : groups }
98104 super (ResUsers , user ).write (vals )
99105 return True
106+
107+ def copy (self , default = None ):
108+ self .ensure_one ()
109+ portal_user = self .env .ref (
110+ "base.template_portal_user_id" , raise_if_not_found = False
111+ )
112+ if portal_user and self == portal_user :
113+ default ["role_line_ids" ] = [
114+ (0 , 0 , role_vals )
115+ for role_vals in portal_user ._get_role_lines_vals_from_user ()
116+ ]
117+ return super ().copy (default = default )
0 commit comments