diff --git a/addons/hr_evaluation/hr_evaluation.py b/addons/hr_evaluation/hr_evaluation.py index 3508dc36d49..a40b21087f9 100644 --- a/addons/hr_evaluation/hr_evaluation.py +++ b/addons/hr_evaluation/hr_evaluation.py @@ -141,6 +141,7 @@ hr_employee() class hr_evaluation(osv.osv): _name = "hr_evaluation.evaluation" + _inherit = "mail.thread" _description = "Employee Appraisal" _rec_name = 'employee_id' _columns = { @@ -242,8 +243,10 @@ class hr_evaluation(osv.osv): def button_final_validation(self, cr, uid, ids, context=None): request_obj = self.pool.get('hr.evaluation.interview') self.write(cr, uid, ids, {'state':'progress'}, context=context) - for id in self.browse(cr, uid, ids, context=context): - if len(id.survey_request_ids) != len(request_obj.search(cr, uid, [('evaluation_id', '=', id.id),('state', 'in', ['done','cancel'])], context=context)): + for evaluation in self.browse(cr, uid, ids, context=context): + if evaluation.employee_id and evaluation.employee_id.parent_id and evaluation.employee_id.parent_id.user_id: + self.message_subscribe(cr, uid, [evaluation.id], [evaluation.employee_id.parent_id.user_id.id], context=context) + if len(evaluation.survey_request_ids) != len(request_obj.search(cr, uid, [('evaluation_id', '=', evaluation.id),('state', 'in', ['done','cancel'])], context=context)): raise osv.except_osv(_('Warning!'),_("You cannot change state, because some appraisal(s) are in waiting answer or draft state.")) return True diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml index 29d68d7a12c..8d51b178e6b 100644 --- a/addons/hr_evaluation/hr_evaluation_view.xml +++ b/addons/hr_evaluation/hr_evaluation_view.xml @@ -196,6 +196,10 @@ +
+ + +
diff --git a/addons/hr_expense/hr_expense.py b/addons/hr_expense/hr_expense.py index 83f986e59cc..a46f2250b5c 100644 --- a/addons/hr_expense/hr_expense.py +++ b/addons/hr_expense/hr_expense.py @@ -118,6 +118,9 @@ class hr_expense_expense(osv.osv): return {'value': {'department_id': department_id, 'company_id': company_id}} def expense_confirm(self, cr, uid, ids, *args): + for expense in self.browse(cr, uid, ids, context=context): + if expense.employee_id and expense.employee_id.parent_id and expense.employee_id.parent_id.user_id: + self.message_subscribe(cr, uid, [expense.id], [expense.employee_id.parent_id.user_id.id], context=context) self.write(cr, uid, ids, { 'state':'confirm', 'date_confirm': time.strftime('%Y-%m-%d') diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py index 759170224bd..770552b0573 100644 --- a/addons/hr_holidays/hr_holidays.py +++ b/addons/hr_holidays/hr_holidays.py @@ -303,7 +303,7 @@ class hr_holidays(osv.osv): self.check_holidays(cr, uid, ids, context=context) for record in self.browse(cr, uid, ids, context=context): if record.employee_id and record.employee_id.parent_id and record.employee_id.parent_id.user_id: - self.message_subscribe(cr, uid, [record.id], user_ids=[record.employee_id.parent_id.user_id.id], context=context) + self.message_subscribe(cr, uid, [record.id], [record.employee_id.parent_id.user_id.id], context=context) self.holidays_confirm_notificate(cr, uid, ids, context=context) return self.write(cr, uid, ids, {'state':'confirm'}) diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py index fcdbfda0667..3e7d7127b51 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py @@ -103,6 +103,7 @@ class one2many_mod(fields.one2many): class hr_timesheet_sheet(osv.osv): _name = "hr_timesheet_sheet.sheet" + _inherit = "mail.thread" _table = 'hr_timesheet_sheet_sheet' _order = "id desc" _description="Timesheet" @@ -265,6 +266,8 @@ class hr_timesheet_sheet(osv.osv): def button_confirm(self, cr, uid, ids, context=None): for sheet in self.browse(cr, uid, ids, context=context): + if sheet.employee_id and sheet.employee_id.parent_id and sheet.employee_id.parent_id.user_id: + self.message_subscribe(cr, uid, [sheet.id], [sheet.employee_id.parent_id.user_id.id], context=context) self.check_employee_attendance_state(cr, uid, sheet.id, context=context) di = sheet.user_id.company_id.timesheet_max_difference if (abs(sheet.total_difference) < di) or not di: diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml index 6c92e28564e..a554776f099 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml @@ -142,6 +142,10 @@ +
+ + +