make changes in employee percentage distribution
This commit is contained in:
parent
78010ed9df
commit
56154d28be
|
@ -191,13 +191,32 @@ class Project(models.Model):
|
|||
# if self.manager_per > 100:
|
||||
# raise ValidationError(_("Percentage should be less than or equal to 100"))
|
||||
|
||||
# Validation for distributed percentage
|
||||
@api.onchange('sale_line_employee_ids')
|
||||
def onchange_validation_distribution_percentage(self):
|
||||
if self.sale_line_employee_ids:
|
||||
manager_total = 0.0
|
||||
employee_total = 0.0
|
||||
for rec in self.sale_line_employee_ids:
|
||||
if rec.distribution_per > 100:
|
||||
raise ValidationError(_("Percentage should be less than or equal to 100"))
|
||||
if rec.role == 'Manager':
|
||||
manager_total = manager_total + rec.distribution_per
|
||||
if manager_total > 100:
|
||||
raise ValidationError(_("Manager Distribution Percentage should be less than or equal to 100"))
|
||||
else:
|
||||
employee_total = employee_total + rec.distribution_per
|
||||
if employee_total > 100:
|
||||
raise ValidationError(_("Employee Distribution Percentage should be less than or equal to 100"))
|
||||
|
||||
|
||||
@api.onchange('budgeted_revenue', 'expenses_per')
|
||||
def onchange_expenses_per(self):
|
||||
if self.budgeted_revenue > 0 and self.expenses_per > 0:
|
||||
expense_amount = self.budgeted_revenue * (self.expenses_per / 100)
|
||||
self.expenses_amt = expense_amount
|
||||
|
||||
@api.onchange('budgeted_revenue', 'sale_line_employee_ids')
|
||||
@api.onchange('budgeted_revenue', 'sale_line_employee_ids', 'manager_per')
|
||||
def onchange_budgeted_hour(self):
|
||||
self.sale_line_employee_ids._compute_total_cost()
|
||||
hour = 0.0
|
||||
|
@ -327,15 +346,19 @@ class InheritProjectProductEmployeeMap(models.Model):
|
|||
else:
|
||||
val.budgeted_hour_week = 0
|
||||
|
||||
@api.onchange('project_id.budgeted_revenue', 'price_unit', 'distribution_per', 'employee_id', 'role')
|
||||
@api.onchange('project_id.budgeted_revenue', 'price_unit', 'distribution_per', 'employee_id', 'role', 'manager_per')
|
||||
def _compute_total_cost(self):
|
||||
for val in self:
|
||||
if val.project_id.project_type == 'hours_in_consultant':
|
||||
print('111111111111')
|
||||
if val.hour_distribution == 'Percentage':
|
||||
print('22222222222222')
|
||||
if val.role == 'Manager':
|
||||
print('3333333333')
|
||||
val.cost = val.project_id.budgeted_revenue * (val.project_id.manager_per / 100) * (
|
||||
val.distribution_per / 100)
|
||||
else:
|
||||
print('44444444444444')
|
||||
val.cost = val.project_id.budgeted_revenue * (val.project_id.employee_per / 100) * (
|
||||
val.distribution_per / 100)
|
||||
if val.price_unit > 0.0:
|
||||
|
|
Loading…
Reference in New Issue