@@ -168,17 +168,41 @@ class YuthonProperty(models.Model):
|
||||
|
||||
@api.onchange('energy_meter_ids')
|
||||
def _onchange_energy_meter_ids(self):
|
||||
if not hasattr(self.id, 'origin') or not self.id.origin:
|
||||
return
|
||||
target_property_id = self.id.origin
|
||||
meter_model = self.env['property.meter.archives']
|
||||
related_meters = meter_model.search([
|
||||
('yuthon_property_ids', 'in', [target_property_id])
|
||||
])
|
||||
if related_meters:
|
||||
related_meters.write({
|
||||
'yuthon_property_ids': [(6, 0, [])]
|
||||
})
|
||||
for rec in self.energy_meter_ids:
|
||||
meter_id = self.env['property.meter.archives'].search([('id', '=', rec.property_meter_archives_id.id)])
|
||||
meter_id = meter_model.browse(rec.property_meter_archives_id.id)
|
||||
meter_id.write({
|
||||
'yuthon_property_ids': [(6, 0, [self.id.origin])]})
|
||||
'yuthon_property_ids': [(6, 0, [target_property_id])]
|
||||
})
|
||||
|
||||
@api.onchange('water_meter_ids')
|
||||
def _onchange_water_meter_idss(self):
|
||||
if not hasattr(self.id, 'origin') or not self.id.origin:
|
||||
return
|
||||
target_property_id = self.id.origin
|
||||
water_meter_model = self.env['property.meter.water']
|
||||
related_water_meters = water_meter_model.search([
|
||||
('yuthon_property_ids', 'in', [target_property_id])
|
||||
])
|
||||
if related_water_meters:
|
||||
related_water_meters.write({
|
||||
'yuthon_property_ids': [(6, 0, [])]
|
||||
})
|
||||
for rec in self.water_meter_ids:
|
||||
meter_id = self.env['property.meter.water'].search([('id', '=', rec.property_meter_water_id.id)])
|
||||
meter_id = water_meter_model.browse(rec.property_meter_water_id.id)
|
||||
meter_id.write({
|
||||
'yuthon_property_ids': [(6, 0, [self.id.origin])]})
|
||||
'yuthon_property_ids': [(6, 0, [target_property_id])]
|
||||
})
|
||||
|
||||
@api.onchange('building_area')
|
||||
def _onchange_building_area(self):
|
||||
|
||||
Reference in New Issue
Block a user