diff --git a/addons/hr_equipment/data/hr_equipment_data.xml b/addons/hr_equipment/data/hr_equipment_data.xml index a14e345409a..116c5991242 100644 --- a/addons/hr_equipment/data/hr_equipment_data.xml +++ b/addons/hr_equipment/data/hr_equipment_data.xml @@ -17,11 +17,13 @@ Repaired + Scrap + @@ -68,5 +70,15 @@ category_id + + Computers + + + Softwares + + + Printers + + diff --git a/addons/hr_equipment/data/hr_equipment_demo.xml b/addons/hr_equipment/data/hr_equipment_demo.xml index f2c277933f0..ec77c10f478 100644 --- a/addons/hr_equipment/data/hr_equipment_demo.xml +++ b/addons/hr_equipment/data/hr_equipment_demo.xml @@ -3,23 +3,11 @@ - - Computers - - Monitors 3 - - Softwares - - - - Printers - - Phones diff --git a/addons/hr_equipment/models/hr_equipment.py b/addons/hr_equipment/models/hr_equipment.py index 4fe146b3d38..cc43ade0da5 100644 --- a/addons/hr_equipment/models/hr_equipment.py +++ b/addons/hr_equipment/models/hr_equipment.py @@ -15,6 +15,7 @@ class HrEquipmentStage(models.Model): name = fields.Char('Name', required=True, translate=True) sequence = fields.Integer('Sequence', default=20) fold = fields.Boolean('Folded in Recruitment Pipe') + done = fields.Boolean('Request Done') class HrEquipmentCategory(models.Model): @@ -34,7 +35,7 @@ class HrEquipmentCategory(models.Model): note = fields.Text('Comments', translate=True) equipment_ids = fields.One2many('hr.equipment', 'category_id', string='Equipments', copy=False) equipment_count = fields.Integer(string="Equipment", compute='_compute_equipment_count') - maintenance_ids = fields.One2many('hr.equipment.request', 'category_id', copy=False, domain=[('stage_id.fold', '=', False)]) + maintenance_ids = fields.One2many('hr.equipment.request', 'category_id', copy=False) maintenance_count = fields.Integer(string="Maintenance", compute='_compute_maintenance_count') alias_id = fields.Many2one( 'mail.alias', 'Alias', ondelete='cascade', required=True, @@ -104,32 +105,36 @@ class HrEquipment(models.Model): recs = self.search([('name', operator, name)] + args, limit=limit) return recs.name_get() - name = fields.Char('Name', required=True, translate=True) + name = fields.Char('Equipment Name', required=True, translate=True) user_id = fields.Many2one('res.users', string='Technician', track_visibility='onchange') employee_id = fields.Many2one('hr.employee', string='Assigned to Employee', track_visibility='onchange') department_id = fields.Many2one('hr.department', string='Assigned to Department', track_visibility='onchange') category_id = fields.Many2one('hr.equipment.category', string='Equipment Category', track_visibility='onchange') partner_id = fields.Many2one('res.partner', string='Vendor', domain="[('supplier', '=', 1)]") + partner_ref = fields.Char('Vendor Reference') model = fields.Char('Model') serial_no = fields.Char('Serial Number', copy=False) assign_date = fields.Date('Assigned Date', track_visibility='onchange') cost = fields.Float('Cost') note = fields.Text('Note') + warranty = fields.Date('Warranty') color = fields.Integer('Color Index') scrap_date = fields.Date('Scrap Date') equipment_assign_to = fields.Selection( - [('department', 'By Department'), ('employee', 'By Employee')], - string='Allocate To', - help='By Employee: equipment assigned to individual Employee, By Department: equipment assigned to group of employees in department', + [('department', 'Department'), ('employee', 'Employee')], + string='Used By', required=True, default='employee') - maintenance_ids = fields.One2many('hr.equipment.request', 'equipment_id', domain=[('stage_id.fold', '=', False)]) - maintenance_count = fields.Integer(compute='_compute_maintenance_count', string="Maintenance") + maintenance_ids = fields.One2many('hr.equipment.request', 'equipment_id') + maintenance_count = fields.Integer(compute='_compute_maintenance_count', string="Maintenance", store=True) + maintenance_open_count = fields.Integer(compute='_compute_maintenance_count', string="Current Maintenance", store=True) @api.one - @api.depends('maintenance_ids') + @api.depends('maintenance_ids.stage_id.done') def _compute_maintenance_count(self): self.maintenance_count = len(self.maintenance_ids) + self.maintenance_open_count = len(self.maintenance_ids.filtered(lambda x: not x.stage_id.done)) + @api.onchange('equipment_assign_to') def _onchange_equipment_assign_to(self): diff --git a/addons/hr_equipment/views/hr_equipment_views.xml b/addons/hr_equipment/views/hr_equipment_views.xml index 7db2f163b89..3a03245992d 100644 --- a/addons/hr_equipment/views/hr_equipment_views.xml +++ b/addons/hr_equipment/views/hr_equipment_views.xml @@ -199,6 +199,10 @@ hr.equipment
+
+ +
-