diff --git a/addons/hr_evaluation/hr_evaluation.py b/addons/hr_evaluation/hr_evaluation.py index 58ad9d9b3e0..6e1983d7a11 100644 --- a/addons/hr_evaluation/hr_evaluation.py +++ b/addons/hr_evaluation/hr_evaluation.py @@ -276,9 +276,6 @@ class survey_request(osv.osv): _columns = { 'is_evaluation': fields.boolean('Is Appraisal?'), } - _defaults = { - 'state': 'waiting_answer', - } survey_request() diff --git a/addons/survey/wizard/survey_answer.py b/addons/survey/wizard/survey_answer.py index 616a65ea615..86380e98037 100644 --- a/addons/survey/wizard/survey_answer.py +++ b/addons/survey/wizard/survey_answer.py @@ -391,6 +391,11 @@ class survey_question_wiz(osv.osv_memory): survey_obj.write(cr, uid, survey_id, {'tot_comp_survey' : sur_rec.tot_comp_survey + 1}) sur_response_obj.write(cr, uid, [sur_name_read.response], {'state' : 'done'}) + # mark the survey request as done; call 'survey_req_done' on its actual model + survey_req_obj = self.pool.get(context.get('active_model')) + if survey_req_obj and hasattr(survey_req_obj, 'survey_req_done'): + survey_req_obj.survey_req_done(cr, uid, context.get('active_ids', []), context=context) + if sur_rec.send_response: survey_data = survey_obj.browse(cr, uid, survey_id) response_id = surv_name_wiz.read(cr, uid, context.get('sur_name_id',False))['response']