diff --git a/ohmg/core/management/commands/oneoffs.py b/ohmg/core/management/commands/oneoffs.py index 93af59f4..963a4454 100644 --- a/ohmg/core/management/commands/oneoffs.py +++ b/ohmg/core/management/commands/oneoffs.py @@ -416,7 +416,7 @@ def old_ds_to_new(file_set): from ohmg.core.models import Layer, LayerSet - for ls in LayerSet.objects.all(): + for ls in LayerSet.objects.all().order_by("map__title"): print(ls) if ls.multimask: for k, v in ls.multimask.items(): @@ -428,5 +428,5 @@ def old_ds_to_new(file_set): layers = Layer.objects.filter(slug=k, region__document__map=ls.map) for layer in layers: layer.mask = GEOSGeometry(json.dumps(v["geometry"])) - layer.save(skip_map_lookup_update=True) + layer.save(skip_map_lookup_update=True, set_extent=False) print("") diff --git a/ohmg/core/models.py b/ohmg/core/models.py index a9b7e97d..981e307e 100644 --- a/ohmg/core/models.py +++ b/ohmg/core/models.py @@ -1135,7 +1135,13 @@ def update_multimask_from_geojson(self, multimask_geojson): if multimask_geojson["features"]: self.multimask = {} for feature in multimask_geojson["features"]: + layer_slug = feature["properties"]["layer"] self.multimask[feature["properties"]["layer"]] = feature + + ## future patch: save mask directly to layers + layer = Layer.objects.get(slug=layer_slug, region__document__map=self.map) + layer.mask = GEOSGeometry(json.dumps(feature["geometry"])) + layer.save(skip_map_lookup_update=True) else: self.multimask = None self.save(update_fields=["multimask"])