@@ -45,7 +45,7 @@ class HrAppraisal(models.Model):
4545 "hr.job" , string = "Job Position" , related = "employee_id.job_id"
4646 )
4747 department_id = fields .Many2one (
48- "hr.department" , "Department" , compute = "_compute_department "
48+ "hr.department" , string = "Department" , related = "employee_id.department_id "
4949 )
5050 company_id = fields .Many2one (
5151 "res.company" ,
@@ -66,12 +66,8 @@ class HrAppraisal(models.Model):
6666 required = True ,
6767 tracking = True ,
6868 )
69- employee_feedback = fields .Html (
70- compute = "_compute_employee_feedback" , store = True , readonly = False
71- )
72- manager_feedback = fields .Html (
73- compute = "_compute_manager_feedback" , store = True , readonly = False
74- )
69+ employee_feedback = fields .Html (readonly = False , copy = False )
70+ manager_feedback = fields .Html (readonly = False , copy = False )
7571 employee_feedback_published = fields .Boolean (default = True , tracking = True )
7672 manager_feedback_published = fields .Boolean (default = True , tracking = True )
7773 can_see_employee_publish = fields .Boolean (
@@ -105,8 +101,6 @@ class HrAppraisal(models.Model):
105101 )
106102 tag_ids = fields .Many2many ("hr.appraisal.tag" , string = "Tags" )
107103 active = fields .Boolean (default = True )
108- employee_feedback_template = fields .Html (compute = "_compute_feedback_templates" )
109- manager_feedback_template = fields .Html (compute = "_compute_feedback_templates" )
110104
111105 @api .model
112106 def default_get (self , fields_list ):
@@ -125,6 +119,27 @@ def default_get(self, fields_list):
125119 )
126120 if default_template_id :
127121 res ["appraisal_template_id" ] = default_template_id
122+ tmpl_id = res .get ("appraisal_template_id" )
123+ if tmpl_id :
124+ data = (
125+ self .env ["hr.appraisal.template" ]
126+ .browse (tmpl_id )
127+ .read (
128+ [
129+ "appraisal_employee_feedback_template" ,
130+ "appraisal_manager_feedback_template" ,
131+ ]
132+ )
133+ )
134+ vals = data [0 ] if data else {}
135+ if not res .get ("employee_feedback" ):
136+ res ["employee_feedback" ] = (
137+ vals .get ("appraisal_employee_feedback_template" ) or ""
138+ )
139+ if not res .get ("manager_feedback" ):
140+ res ["manager_feedback" ] = (
141+ vals .get ("appraisal_manager_feedback_template" ) or ""
142+ )
128143 return res
129144
130145 @api .model
@@ -189,31 +204,6 @@ def _compute_employee_domain_ids(self):
189204 def _compute_manager_user (self ):
190205 self .manager_user_ids = [(6 , 0 , self .manager_ids .user_id .ids )]
191206
192- @api .depends ("appraisal_template_id" )
193- def _compute_employee_feedback (self ):
194- for appraisal in self .filtered (lambda a : a .state == "1_new" ):
195- appraisal .employee_feedback = appraisal .employee_feedback_template
196-
197- @api .depends ("appraisal_template_id" )
198- def _compute_manager_feedback (self ):
199- for appraisal in self .filtered (lambda a : a .state == "1_new" ):
200- appraisal .manager_feedback = appraisal .manager_feedback_template
201-
202- @api .depends ("appraisal_template_id" )
203- def _compute_feedback_templates (self ):
204- for appraisal in self :
205- template = appraisal .appraisal_template_id
206- appraisal .employee_feedback_template = (
207- template .appraisal_employee_feedback_template
208- if appraisal .appraisal_template_id
209- else False
210- )
211- appraisal .manager_feedback_template = (
212- template .appraisal_manager_feedback_template
213- if appraisal .appraisal_template_id
214- else False
215- )
216-
217207 @api .depends ("employee_id" )
218208 def _compute_manager_ids (self ):
219209 for record in self :
@@ -243,13 +233,16 @@ def write(self, vals):
243233 activities .action_feedback ()
244234 return super ().write (vals )
245235
246- @api .depends ("employee_id" )
247- def _compute_department (self ):
248- for appraisal in self :
249- if appraisal .employee_id :
250- appraisal .department_id = appraisal .employee_id .department_id
251- else :
252- appraisal .department_id = False
236+ @api .onchange ("appraisal_template_id" )
237+ def _onchange_appraisal_template_id (self ):
238+ for rec in self :
239+ if rec .state != "1_new" :
240+ continue
241+ tmpl = rec .appraisal_template_id
242+ if not tmpl :
243+ continue
244+ rec .employee_feedback = tmpl .appraisal_employee_feedback_template or ""
245+ rec .manager_feedback = tmpl .appraisal_manager_feedback_template or ""
253246
254247 @api .depends_context ("uid" )
255248 @api .depends ("state" , "employee_id" )
0 commit comments