Skip to content

Commit b4d0a0f

Browse files
committed
WIP
1 parent 07fad5f commit b4d0a0f

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

jinja2/qfdmo/carte/results.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
>
3636
{% for acteur in acteurs %}
3737
<script type="application/json" data-map-target="acteur">
38-
{{ acteur.json_acteur_for_display(direction=form.initial.direction, action_list=form.initial.action_list, carte=carte, carte_config=carte_config, sous_categorie_id=form.initial.sc_id) | safe }}
38+
{{ acteur.json_acteur_for_display(direction=form.initial.direction, action_list=form.initial.action_list, carte=carte, carte_config=carte_config, sous_categorie_id=form.initial.sc_id, displayed_acteur_form=displayed_acteur_form) | safe }}
3939
</script>
4040
{% endfor %}
4141
</div>

qfdmo/models/acteur.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import string
66
import uuid
77
from copy import deepcopy
8-
from typing import Any, List, cast
8+
from typing import Any, cast
99
from urllib.parse import urlencode
1010

1111
import opening_hours
@@ -1103,16 +1103,16 @@ def get_absolute_url(self):
11031103
return reverse("qfdmo:acteur-detail", args=[self.uuid])
11041104

11051105
def acteur_actions(
1106-
self, direction=None, actions_codes=None, sous_categorie_id=None
1106+
self, direction=None, actions_codes=None, sous_categorie_ids=None
11071107
):
11081108
pss = self.proposition_services.all()
11091109
# Cast needed because of the cache
11101110
cached_action_instances = cast(
1111-
List[Action], cache.get_or_set("_action_instances", get_action_instances)
1111+
list[Action], cache.get_or_set("_action_instances", get_action_instances)
11121112
)
11131113

1114-
if sous_categorie_id:
1115-
pss = pss.filter(sous_categories__id__in=[sous_categorie_id])
1114+
if sous_categorie_ids:
1115+
pss = pss.filter(sous_categories__id__in=sous_categorie_ids)
11161116
if direction:
11171117
pss = pss.filter(action__directions__code__in=[direction])
11181118
if actions_codes:
@@ -1166,14 +1166,20 @@ def json_acteur_for_display(
11661166
carte: bool = False,
11671167
carte_config: CarteConfig = None,
11681168
sous_categorie_id: str | None = None,
1169+
displayed_acteur_form=None,
11691170
) -> str:
11701171
# TODO: refacto jinja: once the shared/results.html template
11711172
# will be migrated to django template, this method should
11721173
# live in a template_tags instead.
1174+
sous_categorie_ids = [sous_categorie_id]
1175+
1176+
if sous_categories := displayed_acteur_form.cleaned_data.get("sous_categories"):
1177+
sous_categorie_ids = sous_categories.values_list("id", flat=True)
1178+
11731179
actions = self.acteur_actions(
11741180
direction=direction,
11751181
actions_codes=action_list,
1176-
sous_categorie_id=sous_categorie_id,
1182+
sous_categorie_ids=sous_categorie_ids,
11771183
)
11781184

11791185
def sort_actions_by_action_principale_and_order(a):

0 commit comments

Comments
 (0)