Files
suite/maintenance_equipment_charge/models/maintenance.py

47 lines
1.7 KiB
Python

from odoo import api, fields, models
class EquipmentChargeType(models.Model):
_name = 'maintenance.equipment.charge.type'
name = fields.Char(string='Charge Type')
uom_id = fields.Many2one('uom.uom', string='Charge UOM')
class Equipment(models.Model):
_inherit = 'maintenance.equipment'
charge_ids = fields.One2many('maintenance.equipment.charge', 'equipment_id', 'Charges', copy=False)
charge_count = fields.Integer(string='Charges', compute='_compute_charge_count')
@api.multi
def _compute_charge_count(self):
for equipment in self:
self.charge_count = len(equipment.charge_ids)
def action_open_charges(self):
self.ensure_one()
action = self.env.ref('maintenance_equipment_charge.maintenance_charge_action_reports').read()[0]
action['domain'] = [('equipment_id', '=', self.id)]
action['context'] = {
'default_equipment_id': self.id,
'default_employee_id': self.employee_id.id,
'default_department_id': self.department_id.id,
}
return action
class EquipmentCharge(models.Model):
_name = 'maintenance.equipment.charge'
_order = 'date DESC'
name = fields.Char(string='Description')
date = fields.Date(string='Date', default=fields.Date.today, index=True)
equipment_id = fields.Many2one('maintenance.equipment', copy=False)
type_id = fields.Many2one('maintenance.equipment.charge.type', string='Type')
employee_id = fields.Many2one('hr.employee', string='Employee')
department_id = fields.Many2one('hr.department', string='Department')
qty = fields.Float(string='Quantity', default=1.0)
uom_id = fields.Many2one('uom.uom', related='type_id.uom_id')
amount = fields.Float(string='Amount')