From c718661ba8ca6972f86fa21f427dd8b17b6dff80 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Tue, 10 Feb 2015 11:48:41 +0100 Subject: [PATCH] [FIX] hr_timesheet_sheet: default product in analytic lines The module analytic_user_function allows to define a specific product to use, when creating timesheet activities for a specific employee with a specific contract Nevertheless, the product was not set accordingly to this feature for the first timesheet activity, because, when initilialing the timesheet line, the on_change_account_id, which returns the product to use according to the user and contract, was called without passing the user. Besides, by default, on_change_account_id does not have a user_id parameter, this parameter is added by the module analytic_user_function, overriding this onchange, and adding a new user_id parameter (which is not a good pratice). We therefore use multi_on_change_account_id, which allow to pass the user_id, within the context --- addons/hr_timesheet_sheet/static/src/js/timesheet.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/hr_timesheet_sheet/static/src/js/timesheet.js b/addons/hr_timesheet_sheet/static/src/js/timesheet.js index ef1e2f17145..ca949937879 100644 --- a/addons/hr_timesheet_sheet/static/src/js/timesheet.js +++ b/addons/hr_timesheet_sheet/static/src/js/timesheet.js @@ -259,7 +259,9 @@ openerp.hr_timesheet_sheet = function(instance) { return; } var ops = self.generate_o2m_value(); - new instance.web.Model("hr.analytic.timesheet").call("on_change_account_id", [[], id]).then(function(res) { + new instance.web.Model("hr.analytic.timesheet").call("multi_on_change_account_id", [[], [id], + new instance.web.CompoundContext({'user_id': self.get('user_id')})]).then(function(res) { + res = res[id]; var def = _.extend({}, self.default_get, res.value, { name: self.description_line, unit_amount: 0,