Skip to content

Commit

Permalink
[search] [laforte] #391 #406 #414 ajout de Laforte à la recherche ava…
Browse files Browse the repository at this point in the history
…ncée
  • Loading branch information
fab2713 committed Jan 19, 2024
1 parent 92b7f92 commit db78a01
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from ..models.location import Location as LocationModel
from ..models.mediatype import MediaType as MediaTypeModel
from ..models.recording_context import RecordingContext as RecordingContextModel
from ..models.ref_laforte import RefLaforte as RefLaforteModel
from ..models.skos_concept import SkosConcept as SkosConceptModel
from ..models.thematic import Thematic as ThematicModel
from ..models.usefulness import Usefulness as UsefulnessModel
Expand All @@ -41,6 +42,7 @@
from .location_gis import LocationGisSerializer
from .mediatype import MediaTypeSerializer
from .recording_context import RecordingContextSerializer
from .ref_laforte import RefLaforteSerializer
from .skos_concept import SkosConceptSerializer
from .thematic import ThematicSerializer
from .usefulness import UsefulnessSerializer
Expand Down Expand Up @@ -81,6 +83,8 @@ def to_representation(self, instance):
serializer = MediaTypeSerializer(instance)
elif isinstance(instance, RecordingContextModel):
serializer = RecordingContextSerializer(instance)
elif isinstance(instance, RefLaforteModel):
serializer = RefLaforteSerializer(instance)
elif isinstance(instance, SkosConceptModel):
serializer = SkosConceptSerializer(instance)
elif isinstance(instance, ThematicModel):
Expand Down
13 changes: 13 additions & 0 deletions francoralite/apps/francoralite_api/tests/test_advanced_search.py
Original file line number Diff line number Diff line change
Expand Up @@ -429,6 +429,19 @@ def test_language(self):
},
)

def test_laforte(self):
"""
- laforte : I.A01 - Gabriel (archange)
- laforte : I.A02 - La fuite en Égypte : Le blé
"""
self._test_all_combinations(
"laforte",
{
1: {"collections": {2}, "items": {1, 2}},
2: {"collections": {2}, "items": {2}},
},
)

def test_location(self):
"""
- location : 1 - Poitiers
Expand Down
9 changes: 9 additions & 0 deletions francoralite/apps/francoralite_api/views/advanced_search.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
from ..models.location import Location
from ..models.mediatype import MediaType
from ..models.recording_context import RecordingContext
from ..models.ref_laforte import RefLaforte
from ..models.skos_concept import SkosConcept
from ..models.thematic import Thematic
from ..models.usefulness import Usefulness
Expand Down Expand Up @@ -199,6 +200,14 @@ def get(self, *args, **kwargs):
),
"parameter_model": Keyword,
},
{
"name": "laforte",
"paths": (
"collection__itemlaforte__laforte",
"itemlaforte__laforte",
),
"parameter_model": RefLaforte,
},
{
"name": "language",
"paths": (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,21 @@ class FrancoraliteKeyword extends FrancoraliteEnumAutocomplete {
}
}

class FrancoraliteLaforte extends FrancoraliteEnumAutocomplete {
getDefaultUrl() {
return '/api/ref_laforte?limit=10&search=';
}

parseProposal(item) {
return {
'value': item.id,
'label': item.name + ' : ' + item.description,
'url': null,
'tooltip': null
};
}
}

class FrancoraliteLanguage extends FrancoraliteEnumAutocomplete {
getDefaultUrl() {
return '/api/language?limit=50&search=';
Expand Down Expand Up @@ -402,6 +417,7 @@ customElements.define('francoralite-domain-vocal', FrancoraliteDomainVocal);
customElements.define('francoralite-informer', FrancoraliteInformer);
customElements.define('francoralite-instrument', FrancoraliteInstrument);
customElements.define('francoralite-keyword', FrancoraliteKeyword);
customElements.define('francoralite-laforte', FrancoraliteLaforte);
customElements.define('francoralite-language', FrancoraliteLanguage);
customElements.define('francoralite-location', FrancoraliteLocation);
customElements.define('francoralite-media-type', FrancoraliteMediaType);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ <h3>{% trans "Votre recherche" %},
{% include "inc/search_remind_filter.html" with multi_values=parameters.instances.coupe operator=parameters.operators.coupe title=_('Coupe(s)') %}
{% include "inc/search_remind_filter.html" with multi_values=parameters.instances.domain_vocal operator=parameters.operators.domain_vocal title=_('Genre(s) de l’autre expression vocale') %}
{% include "inc/search_remind_filter.html" with multi_values=parameters.instances.coirault operator=parameters.operators.coirault title=_('Coirault') %}
{% include "inc/search_remind_filter.html" with multi_values=parameters.instances.laforte operator=parameters.operators.laforte title=_('Laforte') %}
{% include "inc/search_remind_filter.html" with multi_values=parameters.instances.domain_music operator=parameters.operators.domain_music title=_('Genre(s) de l’expression instrumentale') %}
{% include "inc/search_remind_filter.html" with multi_values=parameters.instances.instrument operator=parameters.operators.instrument title=_('Voix/Instrument(s)') %}
{% include "inc/search_remind_filter.html" with multi_values=parameters.instances.domain_tale operator=parameters.operators.domain_tale title=_('Genre(s) du conte') %}
Expand Down Expand Up @@ -379,7 +380,7 @@ <h2>Filtres de recherche</h2>
</a>
</details>

<details{% if parameters.domain or parameters_instances_json.thematic or parameters_instances_json.domain_song or parameters_instances_json.timbre or parameters_instances_json.timbre_ref or parameters_instances_json.coupe or parameters_instances_json.domain_vocal or parameters_instances_json.coirault or parameters_instances_json.domain_music or parameters_instances_json.instrument or parameters_instances_json.domain_tale or parameters.text or parameters.incipit or parameters.refrain or parameters.jingle %} open{% endif %} id="details_genders">
<details{% if parameters.domain or parameters_instances_json.thematic or parameters_instances_json.domain_song or parameters_instances_json.timbre or parameters_instances_json.timbre_ref or parameters_instances_json.coupe or parameters_instances_json.domain_vocal or parameters_instances_json.coirault or parameters_instances_json.laforte or parameters_instances_json.domain_music or parameters_instances_json.instrument or parameters_instances_json.domain_tale or parameters.text or parameters.incipit or parameters.refrain or parameters.jingle %} open{% endif %} id="details_genders">
<summary>{% trans "Genres" %}</summary>
<label>{% trans "Domaine(s) :" %}</label>
<br>
Expand Down Expand Up @@ -444,6 +445,11 @@ <h2>Filtres de recherche</h2>
<br>
<francoralite-coirault name="coirault" data-values="{{ parameters_instances_json.coirault }}" data-default-operator="{{ parameters.operators.coirault|default:'or' }}"></francoralite-coirault>
</p>
<p class="domains_song domains_vocal">
<label for="laforte">{% trans "Laforte" %}</label>
<br>
<francoralite-laforte name="laforte" data-values="{{ parameters_instances_json.laforte }}" data-default-operator="{{ parameters.operators.laforte|default:'or' }}"></francoralite-laforte>
</p>
<p class="domains_music">
<label for="domain_music">{% trans "Genre(s) de l’expression instrumentale" %}</label>
<br>
Expand Down

0 comments on commit db78a01

Please sign in to comment.