diff --git a/cor_custom/models/project.py b/cor_custom/models/project.py index eccb4ef..34c1005 100755 --- a/cor_custom/models/project.py +++ b/cor_custom/models/project.py @@ -46,7 +46,7 @@ class Project(models.Model): expenses_per = fields.Float(string='Expenses (%)', digits=(16, 2)) expenses_amt = fields.Float(string='Expenses Amount', digits=(16, 2)) cost = fields.Float("Total Revenue", compute='onchange_compute_values', store=True) - consultant_cost = fields.Float("Actual Cost", compute='onchange_compute_values', store=True) + consultant_cost = fields.Float("Actual Cost", compute='_compute_consultant_timesheet_hours') other_expenses = fields.Float(string='Other Expenses', related='expenses_amt') total_expenses = fields.Float(string='Total Expenses', digits=(16, 2), compute='_compute_calc', store=True) hourly_rate = fields.Float("Hourly Rate", compute='onchange_compute_values', store=True) @@ -64,6 +64,13 @@ class Project(models.Model): manager_hour = fields.Float(string='Manager Hour') employee_hour = fields.Float(string='Employee Hour') + def _compute_consultant_timesheet_hours(self): + for record in self: + consultant_cost = 0.0 + for rec in record.sale_line_employee_ids: + consultant_cost = consultant_cost + rec.consultant_cost + record.consultant_cost = consultant_cost + @api.depends('manager_per', 'hour_distribution') def compute_percentage_hours(self): for record in self: @@ -99,13 +106,15 @@ class Project(models.Model): @api.depends('sale_line_employee_ids', 'budgeted_hours') def onchange_compute_values(self): for record in self: + print('TTTTTTTTTTTTTTTTTTTTTT') hour = 0.0 cost = 0.0 - consultant_cost = 0.0 + #consultant_cost = 0.0 budgeted_hour_week = 0.0 for rec in record.sale_line_employee_ids: hour = hour + rec.budgeted_qty - consultant_cost = consultant_cost + rec.consultant_cost + #consultant_cost = consultant_cost + rec.consultant_cost + #print('SSSSSSSSSSSSSS', consultant_cost) cost = cost + rec.cost budgeted_hour_week = budgeted_hour_week + rec.budgeted_hour_week if record.project_type == 'hours_in_consultant': @@ -117,7 +126,7 @@ class Project(models.Model): record.cost = record.budgeted_hours * record.hourly_rate if record.budgeted_hours > 0.0: record.hourly_rate = (record.budgeted_revenue / record.budgeted_hours) - record.consultant_cost = consultant_cost + #record.consultant_cost = consultant_cost record.budgeted_hour_week = budgeted_hour_week @@ -153,6 +162,7 @@ class InheritProjectProductEmployeeMap(models.Model): ('Employee', 'Employee'), ], string="Role", default="Employee") distribution_per = fields.Float("%") + def _compute_timesheet_hour(self): for val in self: self._cr.execute('''SELECT project_id, employee_id, SUM(unit_amount) FROM account_analytic_line @@ -164,6 +174,8 @@ class InheritProjectProductEmployeeMap(models.Model): val.timesheet_hour = res[2] else: val.timesheet_hour = 0.0 + #Run another method + #val.project_id.onchange_compute_values() def _compute_budgeted_hour_week(self): for val in self: