Merge branch 'copy_master' into 'master'

make changes in employee percentage distribution

See merge request prakash.jain/cor-odoo!231
This commit is contained in:
pawan.sharma 2022-06-21 13:57:46 +00:00
commit b2301601fd
1 changed files with 25 additions and 2 deletions

View File

@ -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: