Merge branch 'duplicate_resource' into 'master'

Duplicate resource

See merge request prakash.jain/cor-odoo!268
This commit is contained in:
prakash.jain 2022-10-31 14:38:13 +05:30
commit 802f1f4a5b
1 changed files with 43 additions and 31 deletions

View File

@ -77,6 +77,19 @@ class Project(models.Model):
tag_ids = fields.Many2many('custom.project.tags', string='Tags')
is_check = fields.Boolean()
###### Added Create and write method for add default resource(31 Oct 2022)
@api.model
def create(self, vals):
value = super(Project, self).create(vals)
value.onchange_add_allowed_internal_users()
return value
def write(self, vals):
res = super(Project, self).write(vals)
self.onchange_add_allowed_internal_users()
return res
#############
@api.onchange('allowed_internal_user_ids')
def onchange_add_allowed_internal_users(self):
user_list = []
@ -97,7 +110,8 @@ class Project(models.Model):
if self._origin.id:
if self.pricing_type == 'employee_rate':
self.sale_line_employee_ids.create({'project_id': self._origin.id,
'employee_id': employee})
'employee_id': employee,
'start_date': self.date_start})
def _onchange_calculate_timesheet_hours(self):
self.consultant_timesheet_hrs = [(6, 0, False)]
@ -270,35 +284,6 @@ class Project(models.Model):
return action
class ProjectConsultantTimesheetHrs(models.Model):
_name = 'consultant.timesheet.hrs'
_description = 'Project Consultant Timesheet Hrs'
project_id = fields.Many2one('project.project', "Project")
employee_id = fields.Many2one('hr.employee', string="Consultant")
employee_price = fields.Float(string="Consultant Price", default=0.0)
timesheet_hour = fields.Float("Timesheet Hour", default=0.0)
consultant_cost = fields.Float("Actual Cost", compute='_compute_consultant_timesheet_cost', default=0.0)
@api.onchange('employee_id')
def onchange_employee_price(self):
if self.employee_id:
self.employee_price = self.employee_id.timesheet_cost
else:
self.employee_price = 0.0
def _compute_consultant_timesheet_cost(self):
for val in self:
# if val.employee_id.timesheet_cost:
# val.employee_price = val.employee_id.timesheet_cost
# else:
# val.employee_price = 0.0
if val.timesheet_hour and val.employee_id.timesheet_cost:
val.consultant_cost = val.timesheet_hour * val.employee_id.timesheet_cost
else:
val.consultant_cost = 0.0
class InheritProjectProductEmployeeMap(models.Model):
_inherit = 'project.sale.line.employee.map'
@ -320,7 +305,7 @@ class InheritProjectProductEmployeeMap(models.Model):
role = fields.Selection([('Manager', 'Manager'),
('Employee', 'Employee'), ], string="Role", default="Employee")
distribution_per = fields.Float("%")
start_date = fields.Date(string="Start Date")
start_date = fields.Date(string="Start Date", required='1')
end_date = fields.Date(string="End Date")
_sql_constraints = [
@ -473,6 +458,33 @@ class InheritProjectProductEmployeeMap(models.Model):
raise AccessError(_('Allocation Start date must be between %s to %s') % (
self.project_id.date_start.strftime('%d-%b-%Y'), self.project_id.date.strftime('%d-%b-%Y')))
class ProjectConsultantTimesheetHrs(models.Model):
_name = 'consultant.timesheet.hrs'
_description = 'Project Consultant Timesheet Hrs'
project_id = fields.Many2one('project.project', "Project")
employee_id = fields.Many2one('hr.employee', string="Consultant")
employee_price = fields.Float(string="Consultant Price", default=0.0)
timesheet_hour = fields.Float("Timesheet Hour", default=0.0)
consultant_cost = fields.Float("Actual Cost", compute='_compute_consultant_timesheet_cost', default=0.0)
@api.onchange('employee_id')
def onchange_employee_price(self):
if self.employee_id:
self.employee_price = self.employee_id.timesheet_cost
else:
self.employee_price = 0.0
def _compute_consultant_timesheet_cost(self):
for val in self:
# if val.employee_id.timesheet_cost:
# val.employee_price = val.employee_id.timesheet_cost
# else:
# val.employee_price = 0.0
if val.timesheet_hour and val.employee_id.timesheet_cost:
val.consultant_cost = val.timesheet_hour * val.employee_id.timesheet_cost
else:
val.consultant_cost = 0.0
class CustomProjectTags(models.Model):
""" Tags of project's tasks """