diff --git a/maintenance_timesheet/models/maintenance.py b/maintenance_timesheet/models/maintenance.py index 70c7ebad..c9433733 100644 --- a/maintenance_timesheet/models/maintenance.py +++ b/maintenance_timesheet/models/maintenance.py @@ -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): diff --git a/maintenance_usage/models/maintenance.py b/maintenance_usage/models/maintenance.py index 92c17160..ecab6712 100644 --- a/maintenance_usage/models/maintenance.py +++ b/maintenance_usage/models/maintenance.py @@ -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)