[MIG] maintenance_timesheet, maintenance_usage: cleanup after migration

This commit is contained in:
Milan
2024-11-05 02:20:41 +01:00
parent 6a5f47fc4a
commit a026a7472d
2 changed files with 28 additions and 24 deletions

View File

@@ -34,13 +34,14 @@ class MaintenanceRequest(models.Model):
department_id = fields.Many2one('hr.department')
@api.model
def create(self, values):
if not values.get('project_id') and values.get('department_id'):
department = self.env['hr.department'].browse(values.get('department_id'))
if department and department.project_ids:
values.update({'project_id': department.project_ids.ids[0]})
return super(MaintenanceRequest, self).create(values)
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if not vals.get('project_id') and vals.get('department_id'):
department = self.env['hr.department'].browse(vals.get('department_id'))
if department.project_ids:
vals['project_id'] = department.project_ids.ids[0]
return super(MaintenanceRequest, self).create(vals_list)
@api.depends('duration', 'timesheet_ids.unit_amount')
def _hours_get(self):

View File

@@ -15,7 +15,7 @@ class MaintenanceEquipment(models.Model):
department_id = fields.Many2one(tracking=False)
usage_qty = fields.Float(string='Usage', default=0.0)
usage_uom_id = fields.Many2one('uom.uom', related='category_id.usage_uom_id')
usage_log_ids = fields.One2many('maintenance.usage.log', 'equipment_id', string='Usage')
usage_log_ids = fields.One2many('maintenance.usage.log', 'equipment_id', string='Usage Logs')
usage_count = fields.Integer(string='Usage Count', compute='_compute_usage_count')
maintenance_usage = fields.Float(string='Preventative Usage')
period = fields.Integer(compute='_compute_period', string='Days betweeen each preventive maintenance',
@@ -30,12 +30,13 @@ class MaintenanceEquipment(models.Model):
recurring = equipment.maintenance_ids.filtered('recurring_maintenance')
equipment.period = min(recurring.mapped('period'), default=0)
@api.model
def create(self, values):
record = super(MaintenanceEquipment, self).create(values)
# create first usage record
record._log_usage()
return record
@api.model_create_multi
def create(self, vals_list):
res = super(MaintenanceEquipment, self).create(vals_list)
for equipment in res:
# create first usage record
equipment._log_usage()
return res
def write(self, values):
usage_qty = values.get('usage_qty')
@@ -116,6 +117,7 @@ class MaintenanceUsageLog(models.Model):
_name = 'maintenance.usage.log'
_order = 'date DESC'
_log_access = False
_description = 'Maintenance Usage Log'
date = fields.Datetime(string='Date', default=fields.Datetime.now)
equipment_id = fields.Many2one('maintenance.equipment', string='Equipment', required=True)
@@ -124,13 +126,14 @@ class MaintenanceUsageLog(models.Model):
qty = fields.Float(string='Quantity')
uom_id = fields.Many2one(string='Unit of Measure', related='equipment_id.category_id.usage_uom_id')
@api.model
def create(self, values):
equipment = self.env['maintenance.equipment'].browse(values.get('equipment_id'))
if not values.get('employee_id'):
values['employee_id'] = equipment.employee_id.id
if not values.get('department_id'):
values['department_id'] = equipment.department_id.id
if not values.get('qty'):
values['qty'] = equipment.usage_qty
return super(MaintenanceUsageLog, self).create(values)
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
equipment = self.env['maintenance.equipment'].browse(vals.get('equipment_id'))
if not vals.get('employee_id'):
vals['employee_id'] = equipment.employee_id.id
if not vals.get('department_id'):
vals['department_id'] = equipment.department_id.id
if not vals.get('qty'):
vals['qty'] = equipment.usage_qty
return super(MaintenanceUsageLog, self).create(vals_list)