compute some field values
This commit is contained in:
parent
bc1574d901
commit
74d2a5bf93
|
@ -40,24 +40,26 @@ class Project(models.Model):
|
|||
|
||||
budgeted_hours = fields.Float(string='Total Budgeted Hours', digits=(16, 2))
|
||||
budgeted_revenue = fields.Float(string='Budgeted Revenue', digits=(16, 2))
|
||||
cost = fields.Float("Sum of Cost", compute='onchange_compute_hours')
|
||||
hourly_rate = fields.Float("Sum of Hourly rate", compute='onchange_compute_hours')
|
||||
budgeted_hour_week = fields.Float("Budgeted Hours(per week)", compute='onchange_compute_hours')
|
||||
cost = fields.Float("Sum of Cost", compute='onchange_compute_values', store=True)
|
||||
hourly_rate = fields.Float("Sum of Hourly rate", compute='onchange_compute_values', store=True)
|
||||
budgeted_hour_week = fields.Float("Budgeted Hours(per week)", compute='onchange_compute_values', store=True)
|
||||
|
||||
@api.depends('sale_line_employee_ids.budgeted_qty', 'sale_line_employee_ids.budgeted_qty')
|
||||
def onchange_compute_hours(self):
|
||||
if self.project_type == 'hours_in_consultant':
|
||||
val = 0.0
|
||||
cost = 0.0
|
||||
budgeted_hour_week = 0.0
|
||||
for rec in self.sale_line_employee_ids:
|
||||
val = val + rec.budgeted_qty
|
||||
cost = cost + rec.cost
|
||||
budgeted_hour_week = budgeted_hour_week + rec.budgeted_hour_week
|
||||
self.budgeted_hours = val
|
||||
self.cost = cost
|
||||
self.hourly_rate = (self.cost/self.budgeted_hours)
|
||||
self.budgeted_hour_week = budgeted_hour_week
|
||||
@api.depends('sale_line_employee_ids')
|
||||
def onchange_compute_values(self):
|
||||
for record in self:
|
||||
if record.project_type == 'hours_in_consultant':
|
||||
val = 0.0
|
||||
cost = 0.0
|
||||
budgeted_hour_week = 0.0
|
||||
for rec in record.sale_line_employee_ids:
|
||||
val = val + rec.budgeted_qty
|
||||
cost = cost + rec.cost
|
||||
budgeted_hour_week = budgeted_hour_week + rec.budgeted_hour_week
|
||||
record.budgeted_hours = val
|
||||
record.cost = cost
|
||||
if val > 0.0:
|
||||
record.hourly_rate = (cost/val)
|
||||
record.budgeted_hour_week = budgeted_hour_week
|
||||
|
||||
|
||||
class InheritProjectProductEmployeeMap(models.Model):
|
||||
|
@ -68,7 +70,7 @@ class InheritProjectProductEmployeeMap(models.Model):
|
|||
budgeted_uom = fields.Many2one('uom.uom', string='Budgeted UOM', related='sale_line_id.product_uom', readonly=True)
|
||||
# budgeted_uom = fields.Many2one('uom.uom', string='Budgeted UOM', related='timesheet_product_id.uom_id', readonly=True)
|
||||
timesheet_hour = fields.Float("Timesheet Hour", compute='_compute_timesheet_hour', default=0.0)
|
||||
budgeted_hour_week = fields.Float("Budgeted Hours per week ", compute='_compute_budgeted_hour_week')
|
||||
budgeted_hour_week = fields.Float("Budgeted Hours per week", compute='_compute_budgeted_hour_week')
|
||||
price_unit = fields.Float("Hourly rate", compute='_compute_price_unit', store=True, readonly=True)
|
||||
sale_line_id = fields.Many2one('sale.order.line', "Service", domain=[('is_service', '=', True)])
|
||||
cost = fields.Float("Cost", compute='_compute_total_cost')
|
||||
|
|
|
@ -65,9 +65,11 @@
|
|||
<field name="company_id" invisible="1"/>
|
||||
<field name="project_id" invisible="1"/>
|
||||
<field name="employee_id" options="{'no_create': True}" string="Consultant Name"/>
|
||||
<field name="sale_line_id" options="{'no_create': True}"
|
||||
<!--<field name="sale_line_id" options="{'no_create': True}"
|
||||
attrs="{'column_invisible': [('parent.sale_order_id', '=', False)]}"
|
||||
domain="[('order_id','=',parent.sale_order_id), ('is_service', '=', True)]"/>
|
||||
<field name="price_unit" widget="monetary" options="{'currency_field': 'currency_id'}"
|
||||
attrs="{'readonly': [('parent.sale_order_id', '!=', False)]}"/>-->
|
||||
<field name="price_unit" widget="monetary" options="{'currency_field': 'currency_id'}"
|
||||
attrs="{'readonly': [('parent.sale_order_id', '!=', False)]}"/>
|
||||
<field name="budgeted_qty"
|
||||
|
|
Loading…
Reference in New Issue