fix the orig stuff some more

This commit is contained in:
Laura Klünder 2024-12-05 20:54:19 +01:00
parent 6390a51fc6
commit f884b2bdd5
2 changed files with 4 additions and 4 deletions

View file

@ -76,7 +76,7 @@ class SpaceGeometryMixin(GeometryMixin):
def register_change(self, force=False): def register_change(self, force=False):
space = self.space space = self.space
force = force or self.all_geometry_changed force = force or self.all_geometry_changed
if force or self.geometry_changed or self.pk is None: if force or self._state.adding or self.geometry_changed:
changed_geometries.register(space.level_id, space.geometry.intersection( changed_geometries.register(space.level_id, space.geometry.intersection(
unwrap_geom(self.geometry if force else self.get_changed_geometry()) unwrap_geom(self.geometry if force else self.get_changed_geometry())
)) ))
@ -184,7 +184,7 @@ class ObstacleGroup(TitledMixin, models.Model):
self._orig = {"color": self.color} self._orig = {"color": self.color}
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if self.pk and any(getattr(self, attname) != value for attname, value in self._orig.items()): if not self._state.adding and any(getattr(self, attname) != value for attname, value in self._orig.items()):
self.register_changed_geometries() self.register_changed_geometries()
super().save(*args, **kwargs) super().save(*args, **kwargs)

View file

@ -290,7 +290,7 @@ class LocationGroupCategory(SerializableMixin, models.Model):
group.register_changed_geometries(do_query=False) group.register_changed_geometries(do_query=False)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if self.pk and any(getattr(self, attname) != value for attname, value in self._orig.items()): if not self._state.adding and any(getattr(self, attname) != value for attname, value in self._orig.items()):
self.register_changed_geometries() self.register_changed_geometries()
super().save(*args, **kwargs) super().save(*args, **kwargs)
@ -396,7 +396,7 @@ class LocationGroup(Location, models.Model):
return (1, self.category.priority, self.priority) return (1, self.category.priority, self.priority)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if self.pk and any(getattr(self, attname) != value for attname, value in self._orig.items()): if not self._state.adding and any(getattr(self, attname) != value for attname, value in self._orig.items()):
self.register_changed_geometries() self.register_changed_geometries()
super().save(*args, **kwargs) super().save(*args, **kwargs)