Merge branch 'duplicate_resource' into 'master'
Duplicate resource See merge request prakash.jain/cor-odoo!268
This commit is contained in:
commit
802f1f4a5b
|
@ -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 """
|
||||
|
|
Loading…
Reference in New Issue