diff --git a/cor_custom/models/project.py b/cor_custom/models/project.py index c09dd24..d7f2f10 100755 --- a/cor_custom/models/project.py +++ b/cor_custom/models/project.py @@ -42,6 +42,7 @@ class Project(models.Model): start_date = fields.Date(string='Start Date') end_date = fields.Date(string='End Date') budgeted_hours = fields.Float(string='Total Budgeted Hours', compute='_compute_calc') + budgeted_hours2 = fields.Float(string='Total Budgeted Hours') budgeted_revenue = fields.Float(string='Budgeted Revenue', digits=(16, 2)) expenses_per = fields.Float(string='Expenses (%)', digits=(16, 2)) expenses_amt = fields.Float(string='Expenses Amount', digits=(16, 2)) @@ -64,9 +65,9 @@ class Project(models.Model): manager_hour = fields.Float(string='Manager Hour') employee_hour = fields.Float(string='Employee Hour') + @api.depends('cost', 'expenses_amt', 'budgeted_revenue') - def _compute_calc(self): - print('222222222222') + def _compute_consultant_timesheet_hours(self): for record in self: consultant_cost = 0.0 hour = 0.0 @@ -81,7 +82,10 @@ class Project(models.Model): record.profit_amt = profit_amt if record.profit_amt > 0 and record.budgeted_revenue > 0: record.profit_per = (record.profit_amt / record.budgeted_revenue) * 100 - + if record.project_type == 'hours_in_consultant' and record.budgeted_hours > 0.0: + record.hourly_rate = (record.budgeted_revenue / record.budgeted_hours) + if record.project_type == 'hours_no_limit' and record.budgeted_hours2 > 0.0: + record.hourly_rate = (record.budgeted_revenue / record.budgeted_hours2) @api.depends('manager_per', 'hour_distribution') def compute_percentage_hours(self): @@ -111,41 +115,20 @@ class Project(models.Model): hour = 0.0 for rec in self.sale_line_employee_ids: hour = hour + rec.budgeted_qty - print('TTTTTTTTTTTTTTT', hour, rec.budgeted_qty) - print('SSSSSSSSS', hour) self.budgeted_hours = hour - print('TTTTTTTTTTTTTTT', hour) - print('UUUUUUUUUUU', self.budgeted_hours) if self.budgeted_hours > 0.0: self.hourly_rate = (self.budgeted_revenue / self.budgeted_hours) - """@api.depends('cost', 'expenses_amt', 'budgeted_revenue') - def _compute_calc(self): - for record in self: - total_exp = record.consultant_cost + record.expenses_amt - record.total_expenses = total_exp - profit_amt = record.budgeted_revenue - total_exp - record.profit_amt = profit_amt - if record.profit_amt > 0 and record.budgeted_revenue > 0: - record.profit_per = (record.profit_amt / record.budgeted_revenue) * 100""" - @api.depends('sale_line_employee_ids') def onchange_compute_values(self): for record in self: - # hour = 0.0 cost = 0.0 budgeted_hour_week = 0.0 for rec in record.sale_line_employee_ids: - # hour = hour + rec.budgeted_qty cost = cost + rec.cost budgeted_hour_week = budgeted_hour_week + rec.budgeted_hour_week if record.project_type == 'hours_in_consultant': record.cost = cost - # record.budgeted_hours = hour - # if hour > 0.0: - # record.hourly_rate = (cost / hour) - # else: - # record.cost = record.budgeted_hours * record.hourly_rate record.budgeted_hour_week = budgeted_hour_week @@ -172,7 +155,7 @@ class InheritProjectProductEmployeeMap(models.Model): def _compute_timesheet_hour(self): for val in self: - self._cr.execute('''SELECT project_id, employee_id, SUM(unit_amount) FROM account_analytic_line + self._cr.execute('''SELECT project_id, employee_id, SUM(unit_amount) FROM account_analytic_line where project_id = %(project_id)s and employee_id = %(employee_id)s GROUP BY project_id, employee_id''', {'project_id': val.project_id._origin.id, 'employee_id': val.employee_id.id, }) @@ -182,8 +165,6 @@ class InheritProjectProductEmployeeMap(models.Model): else: val.timesheet_hour = 0.0 val.consultant_cost = val.timesheet_hour * val.employee_price - # Run another method - # val.project_id.onchange_compute_values() def _compute_budgeted_hour_week(self): for val in self: @@ -222,4 +203,4 @@ class InheritProjectProductEmployeeMap(models.Model): line.currency_id = line.timesheet_product_id.currency_id else: # line.price_unit = 0 - line.currency_id = False + line.currency_id = False \ No newline at end of file diff --git a/cor_custom/views/project_view.xml b/cor_custom/views/project_view.xml index c0007f3..73389a7 100755 --- a/cor_custom/views/project_view.xml +++ b/cor_custom/views/project_view.xml @@ -107,7 +107,9 @@ - + +