fix load_group_continue

This commit is contained in:
Laura Klünder 2024-12-29 21:39:54 +01:00
parent 149dbf7b9d
commit 5ece3bdd1b

View file

@ -461,30 +461,30 @@ def get_load(request):
beacons_by_space.setdefault(beacon.space_id, {})[beacon.pk] = beacon beacons_by_space.setdefault(beacon.space_id, {})[beacon.pk] = beacon
locationgroups_contribute_to = dict( locationgroups_contribute_to = dict(
LocationGroup.objects.filter(load_contribute_to__isnull=False).values_list("pk", "load_contribute_to") LocationGroup.objects.filter(load_group_continue__isnull=False).values_list("pk", "load_group_continue")
) )
for area in Area.objects.filter((Q(load_contribute_to__isnull=False) for area in Area.objects.filter((Q(load_group_continue__isnull=False)
| Q(groups__in=locationgroups_contribute_to.keys()))).prefetch_related("groups"): | Q(groups__in=locationgroups_contribute_to.keys()))).prefetch_related("groups"):
contribute_to = set() contribute_to = set()
if area.load_contribute_to_id: if area.load_group_continue_id:
contribute_to.add(area.load_contribute_to_id) contribute_to.add(area.load_group_continue_id)
for group in area.groups.all(): for group in area.groups.all():
if group.load_contribute_to_id: if group.load_group_continue_id:
contribute_to.add(group.load_contribute_to_id) contribute_to.add(group.load_group_continue_id)
for beacon in beacons_by_space.get(area.space_id, {}).values(): for beacon in beacons_by_space.get(area.space_id, {}).values():
if area.geometry.intersects(unwrap_geom(beacon.geometry)): if area.geometry.intersects(unwrap_geom(beacon.geometry)):
for load_group_id in contribute_to: for load_group_id in contribute_to:
max_values[load_group_id] += beacon.max_observed_num_clients max_values[load_group_id] += beacon.max_observed_num_clients
current_values[load_group_id] += beacon.num_clients current_values[load_group_id] += beacon.num_clients
for space in Space.objects.filter((Q(load_contribute_to__isnull=False) for space in Space.objects.filter((Q(load_group_continue__isnull=False)
| Q(groups__in=locationgroups_contribute_to.keys()))).prefetch_related("groups"): | Q(groups__in=locationgroups_contribute_to.keys()))).prefetch_related("groups"):
contribute_to = set() contribute_to = set()
if space.load_contribute_to_id: if space.load_group_continue_id:
contribute_to.add(space.load_contribute_to_id) contribute_to.add(space.load_group_continue_id)
for group in space.groups.all(): for group in space.groups.all():
if group.load_contribute_to_id: if group.load_group_continue_id:
contribute_to.add(group.load_contribute_to_id) contribute_to.add(group.load_group_continue_id)
for beacon in beacons_by_space.get(space.pk, {}).values(): for beacon in beacons_by_space.get(space.pk, {}).values():
for load_group_id in contribute_to: for load_group_id in contribute_to:
max_values[load_group_id] += beacon.max_observed_num_clients max_values[load_group_id] += beacon.max_observed_num_clients