Skip to content

Commit

Permalink
ensure layers are only from the same map
Browse files Browse the repository at this point in the history
  • Loading branch information
nicokant committed Jun 26, 2024
1 parent 8f204a6 commit 33f20ea
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions metadata_catalogue/maps/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ def get_metadata(self, request):
layers = []
lazy_layers = {}
for root in self.groups.order_by("order").all():
layers.append(root.as_layer_tree(request))
layers.append(root.as_layer_tree(request, self))

style_url = request.build_absolute_uri(
reverse(f"{settings.MAPS_API_PREFIX}:map_style", kwargs={"map_slug": self.slug})
Expand Down Expand Up @@ -313,7 +313,7 @@ class Meta:
def __str__(self):
return f"{self.name} @ {self.map}"

def as_layer_tree(self, request):
def as_layer_tree(self, request, map_instance: Map):
current_group = {
"id": f"group-{self.id}",
"name": self.name,
Expand All @@ -323,9 +323,11 @@ def as_layer_tree(self, request):
"description": self.description,
}
for sub_group in self.get_children():
current_group["children"].append(sub_group.as_layer_tree(request))
current_group["children"].append(sub_group.as_layer_tree(request, map_instance))

for layer in self.layers.select_related("source").order_by("group_order", "source__name"):
for layer in (
self.layers.filter(map=map_instance).select_related("source").order_by("group_order", "source__name")
):
current_group["children"].append(
{
"id": layer.slug,
Expand Down

0 comments on commit 33f20ea

Please sign in to comment.