Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> imprimeurs[impression?index]  [in template "22823141604726#20121#null" at line 122, column 79]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign impressionsFull = impressions...  [in template "22823141604726#20121#null" at line 121, column 5]
----
1<#assign 
2dlAppLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
3dlURLHelper = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper") 
4 
5objectDefinitionLocalService = serviceLocator.findService("com.liferay.object.service.ObjectDefinitionLocalService") 
6objectEntryLocalService = serviceLocator.findService("com.liferay.object.service.ObjectEntryLocalService") 
7objectRelationshipLocalService = serviceLocator.findService("com.liferay.object.service.ObjectRelationshipLocalService") 
8/> 
9 
10<#assign imagefixemanifestationID = ObjectEntry_objectEntryId.getData()?number 
11imagefixemanifestationEntry = objectEntryLocalService.fetchObjectEntry(imagefixemanifestationID?number) 
12imagefixemanifestationGroupID = imagefixemanifestationEntry.getGroupId() 
13imagefixemanifestationTitle = garance.getImageFixeManifestationFullTitle(imagefixemanifestationEntry) 
14
15 
16<#assign searchUrl = (request.getParameter("searchUrl")?hasContent)?then("?searchUrl=" + request.getParameter("searchUrl")?url('UTF-8'), "")/> 
17<#assign summary = garance.getSummaryContent("Image")> 
18 
19<#if imagefixemanifestationEntry.values.r_imageFixeChildManifestations_c_imageFixeId?number != 0> 
20    <#assign imagefixeID = imagefixemanifestationEntry.values.r_imageFixeChildManifestations_c_imageFixeId?number 
21    imagefixeEntry = objectEntryLocalService.fetchObjectEntry(imagefixeID?number) 
22    imagefixeGroupID = imagefixeEntry.getGroupId() 
23
24</#if> 
25 
26<#--------------------------------- Header --------------------------> 
27<#assign categoryPhoto = "" /> 
28<#assign matPubs = [] /> 
29<#assign advertFileTypes = [] /> 
30<#if imagefixeID??> 
31    <#assign matPubRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "matPubClassements")> 
32    <#assign matPubs = objectEntryLocalService.getOneToManyObjectEntries(imagefixeGroupID, matPubRel.objectRelationshipId, imagefixeID, true, null, -1, -1 ) /> 
33    <#assign advertFileTypes = matPubs?filter(m -> m.values.advertFileType?hasContent)?map(m -> garance.getPicklistItemName(m.values.advertFileType, "picklistAdvertFileType"))?join(', ') /> 
34    <#if imagefixeEntry.values.categoryPhoto?hasContent> 
35        <#assign photoCategories = garance.getMultiplePicklistItemName(imagefixeEntry.values.categoryPhoto, "picklistCategoryPhoto") /> 
36        <#if photoCategories?hasContent> 
37            <#assign categoryPhoto = photoCategories?join(", ") /> 
38        </#if> 
39    </#if> 
40</#if> 
41 
42<#assign auteursFull = []> 
43<#if imagefixeID??> 
44    <#assign auteursRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeAutheurs")> 
45    <#assign auteurs = objectEntryLocalService.getOneToManyObjectEntries(imagefixeGroupID, auteursRel.objectRelationshipId, imagefixeID, true, null, -1, -1 ) /> 
46    <#list auteurs as auteur> 
47        <#assign auteursFull = auteursFull + [{ 
48        "personne": garance.getPersonneDisplayData(auteur.values.r_imageFixeAuteurPersonne_c_transitionPersonneId), 
49        "presume": auteur.values.creatorPresume, 
50        "type": garance.getPicklistItemName(auteur.values.castCreditType, "picklistImprimeCastCreditType") 
51        }]> 
52    </#list> 
53</#if> 
54 
55<#assign productionDatesFull = []> 
56<#if imagefixeID??> 
57    <#assign productionDatesRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "productionDate")> 
58    <#assign productionDates = objectEntryLocalService.getOneToManyObjectEntries(imagefixeGroupID, productionDatesRel.objectRelationshipId, imagefixeID, true, null, -1, -1 ) /> 
59    <#if productionDates?hasContent> 
60        <#list productionDates as productionDate> 
61            <#assign productionDatesFull = productionDatesFull + [{ 
62            "presumeCountry": productionDate.values.afficheIdentificationPaysPres, 
63            "country": garance.getThesaurusByID(productionDate.values.r_imageFixePosterIdentificationCountry_c_thesaurusId), 
64            "presumeDate": productionDate.values.anneeDeProdPresume, 
65            "startDate": (productionDate.values.productionStartDate?hasContent)?then(productionDate.values.productionStartDate?string("yyyy"), "") 
66            }]> 
67        </#list> 
68    </#if> 
69</#if> 
70 
71<#--------------------------------- Identité --------------------------> 
72 
73<#assign relatedFilmsFull = []> 
74<#assign manifestations = []> 
75<#assign languagesFull = []> 
76 
77<#if imagefixeID??> 
78    <#assign relatedFilmsRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeRelatedObject")> 
79    <#assign relatedFilms = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, relatedFilmsRel.objectRelationshipId, imagefixeID, true, relatedFilmsRel.isReverse(), null, -1, -1 ) /> 
80    <#list relatedFilms as relatedFilm> 
81        <#assign filmData = garance.getFilmDisplayData(relatedFilm)> 
82        <#if filmData?hasContent> 
83            <#assign relatedFilmsFull = relatedFilmsFull + [filmData]> 
84        </#if> 
85    </#list> 
86 
87    <#assign manifestationsRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeChildManifestations")> 
88    <#assign manifestations = objectEntryLocalService.getOneToManyObjectEntries(imagefixeGroupID, manifestationsRel.objectRelationshipId, imagefixeID, true, null, -1, -1 ) /> 
89    <#assign manifestations = manifestations?filter(manif -> manif.getObjectEntryId() != imagefixemanifestationID)> 
90 
91    <#assign languagesRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeLanguages")> 
92    <#assign languages = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, languagesRel.objectRelationshipId, imagefixeID, true, languagesRel.isReverse(), null, -1, -1 ) /> 
93    <#assign languagesFull = languages?filter(l-> l.values.label?hasContent)> 
94</#if> 
95 
96<#assign institutionRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "imageFixeManifestationInstitution")> 
97<#assign institutions = objectEntryLocalService.getManyToManyObjectEntries(imagefixemanifestationGroupID, institutionRel.objectRelationshipId, imagefixemanifestationID, true, institutionRel.isReverse(), null, -1, -1 ) /> 
98<#assign institutionFull = institutions?filter(l-> l.values.label?hasContent)> 
99 
100<#assign showIdentity = (relatedFilmsFull?hasContent 
101|| productionDatesFull?filter(p -> p.country?hasContent)?hasContent 
102|| languagesFull?hasContent 
103|| institutionFull?hasContent 
104|| (imagefixeEntry?? && imagefixeEntry.values.posterVariant?hasContent) 
105|| (imagefixeEntry?? && imagefixeEntry.values.posterAuthorMentionDeResponsabilite?hasContent && imagefixeEntry.values.posterTypeDeNoteMentionDeResponsabilite == "MENTION") 
106)> 
107 
108<#--------------------------------- Publication --------------------------> 
109 
110 
111<#assign impressionsRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "imageFixeManifestationPrints")> 
112<#assign impressions = objectEntryLocalService.getOneToManyObjectEntries(imagefixemanifestationGroupID, impressionsRel.objectRelationshipId, imagefixemanifestationID, true, null, -1, -1 ) /> 
113 
114<#assign imprimeursRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "imageFixeManifestationPosterPrintName")> 
115<#assign imprimeurs = objectEntryLocalService.getManyToManyObjectEntries(imagefixemanifestationGroupID, imprimeursRel.objectRelationshipId, imagefixemanifestationID, true, imprimeursRel.isReverse(), null, -1, -1 ) /> 
116 
117<#assign withoutPrinterMention = false> 
118<#assign impressionsFull = []> 
119<#list impressions as impression> 
120    <#assign withoutPrinterMention = (impression.values.printSansMentionImprimeur?hasContent)?then(impression.values.printSansMentionImprimeur, false)> 
121    <#assign impressionsFull = impressionsFull + [{ 
122    "imprimeur" : (imprimeurs?hasContent)?then(garance.getPersonneDisplayData(imprimeurs[impression?index].objectEntryId).name, ""), 
123    "country": (impression.values.r_imageFixeManifestationPrintCountry_c_thesaurusId != 0)?then(garance.getThesaurusByID(impression.values.r_imageFixeManifestationPrintCountry_c_thesaurusId) + (getterUtil.getBoolean(impression.values.printCountryPresume))?then(" (Présumé)", ""), ""), 
124    "place": (impression.values.printPlace?hasContent)?then(impression.values.printPlace + (getterUtil.getBoolean(impression.values.printPlacePresume))?then(" (Présumé)", ""), ""), 
125    "startDate": (impression.values.printYear?hasContent)?then(impression.values.printYear?string("yyyy") + (getterUtil.getBoolean(impression.values.printYearPresume))?then(" (Présumé)", ""), "") 
126    }]> 
127</#list> 
128 
129<#assign distributionsRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "distributions")> 
130<#assign distributions = objectEntryLocalService.getOneToManyObjectEntries(imagefixemanifestationGroupID, distributionsRel.objectRelationshipId, imagefixemanifestationID, true, null, -1, -1 ) /> 
131 
132<#assign distributeursRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "imageFixeManifestationDistributionName")> 
133<#assign distributeurs = objectEntryLocalService.getManyToManyObjectEntries(imagefixemanifestationGroupID, distributeursRel.objectRelationshipId, imagefixemanifestationID, true, distributeursRel.isReverse(), null, -1, -1 ) /> 
134 
135<#assign distributionsFull = []> 
136<#if distributions?hasContent> 
137    <#list distributions as distribution> 
138        <#assign distributionsFull = distributionsFull + [{ 
139        "distributeur" : (distributeurs?hasContent)?then(garance.getPersonneDisplayData(distributeurs[distribution?index].objectEntryId).name, ""), 
140        "country": (distribution.values.r_imageFixeManifestationDistributionCountry_c_thesaurusId != 0)?then(garance.getThesaurusByID(distribution.values.r_imageFixeManifestationDistributionCountry_c_thesaurusId) + (getterUtil.getBoolean(distribution.values.distributionCountryPresume))?then(" (Présumé)", ""), ""), 
141        "place": (distribution.values.distributionPlace?hasContent)?then(distribution.values.distributionPlace + (getterUtil.getBoolean(distribution.values.distributionPlacePresume))?then(" (Présumé)", ""), ""), 
142        "startDate": (distribution.values.distributionYear?hasContent)?then(distribution.values.distributionYear?string("yyyy") + (getterUtil.getBoolean(distribution.values.distributionYearPresume))?then(" (Présumé)", ""), "") 
143        }]> 
144    </#list> 
145</#if> 
146 
147<#assign exploitationsRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "exploitations")> 
148<#assign exploitations = objectEntryLocalService.getOneToManyObjectEntries(imagefixemanifestationGroupID, exploitationsRel.objectRelationshipId, imagefixemanifestationID, true, null, -1, -1 ) /> 
149 
150<#assign exploitantsRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "imageFixeManifestationExplooitationName")> 
151<#assign exploitants = objectEntryLocalService.getManyToManyObjectEntries(imagefixemanifestationGroupID, exploitantsRel.objectRelationshipId, imagefixemanifestationID, true, exploitantsRel.isReverse(), null, -1, -1 ) /> 
152 
153<#assign exploitationsFull = []> 
154<#if exploitations?hasContent> 
155    <#list exploitations as exploitation> 
156        <#assign exploitationsFull = exploitationsFull + [{ 
157        "exploitant" : (exploitants?hasContent)?then(garance.getPersonneDisplayData(exploitants[exploitation?index].objectEntryId).name, ""), 
158        "country": (exploitation.values.r_imageFixeManifestationExploitationCountry_c_thesaurusId != 0)?then(garance.getThesaurusByID(exploitation.values.r_imageFixeManifestationExploitationCountry_c_thesaurusId) + (getterUtil.getBoolean(exploitation.values.exploitationCountryPresume))?then(" (Présumé)", ""), ""), 
159        "place": (exploitation.values.exploitationPlace?hasContent)?then(exploitation.values.exploitationPlace + (getterUtil.getBoolean(exploitation.values.exploitationPlacePresume))?then(" (Présumé)", ""), ""), 
160        "startDate": (exploitation.values.exploitationYear?hasContent)?then(exploitation.values.exploitationYear?string("yyyy") + (getterUtil.getBoolean(exploitation.values.exploitationYearPresume))?then(" (Présumé)", ""), "") 
161        }]> 
162    </#list> 
163</#if> 
164 
165<#assign showPublication = (impressionsFull?hasContent 
166|| distributionsFull?hasContent 
167|| exploitationsFull?hasContent) /> 
168 
169<#--------------------------------- Description du contenu --------------------------> 
170<#assign imageFixeObjectCategory = [] /> 
171<#assign personRepresented = [] /> 
172<#assign contenuDuMateriel = [] /> 
173<#assign contenuVisuelDuMateriel = [] /> 
174<#assign personSujet = [] /> 
175<#assign imageFixeContentTheme = [] /> 
176<#assign imageFixeRepresentation = [] /> 
177<#assign imageFixeSourceOfPresentation = [] /> 
178<#assign imageFixeStyle = [] /> 
179<#assign imageFixeSchool = [] /> 
180 
181<#if imagefixeID??> 
182    <#assign imageFixeObjectCategoryRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeObjectCategory")> 
183    <#assign imageFixeObjectCategory = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, imageFixeObjectCategoryRel.objectRelationshipId, imagefixeID, true, imageFixeObjectCategoryRel.isReverse(), null, -1, -1 ) /> 
184 
185    <#assign personRepresentedRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixePersonRepresented")> 
186    <#assign personRepresented = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, personRepresentedRel.objectRelationshipId, imagefixeID, true, personRepresentedRel.isReverse(), null, -1, -1 ) /> 
187 
188    <#assign contenuDuMaterielRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "contenuDuMateriel")> 
189    <#assign contenuDuMateriel = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, contenuDuMaterielRel.objectRelationshipId, imagefixeID, true, contenuDuMaterielRel.isReverse(), null, -1, -1 ) /> 
190 
191    <#assign contenuVisuelDuMaterielRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "contenuVisuelDuMateriel")> 
192    <#assign contenuVisuelDuMateriel = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, contenuVisuelDuMaterielRel.objectRelationshipId, imagefixeID, true, contenuVisuelDuMaterielRel.isReverse(), null, -1, -1 ) /> 
193 
194    <#assign personSujetRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixePersonneSujet")> 
195    <#assign personSujet = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, personSujetRel.objectRelationshipId, imagefixeID, true, personSujetRel.isReverse(), null, -1, -1 ) /> 
196 
197    <#assign imageFixeContentThemeRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeContentTheme")> 
198    <#assign imageFixeContentTheme = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, imageFixeContentThemeRel.objectRelationshipId, imagefixeID, true, imageFixeContentThemeRel.isReverse(), null, -1, -1 ) /> 
199 
200    <#assign imageFixeRepresentationRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeRepresentation")> 
201    <#assign imageFixeRepresentation = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, imageFixeRepresentationRel.objectRelationshipId, imagefixeID, true, imageFixeRepresentationRel.isReverse(), null, -1, -1 ) /> 
202 
203    <#assign imageFixeSourceOfPresentationRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeSourceOfPresentation")> 
204    <#assign imageFixeSourceOfPresentation = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, imageFixeSourceOfPresentationRel.objectRelationshipId, imagefixeID, true, imageFixeSourceOfPresentationRel.isReverse(), null, -1, -1 ) /> 
205 
206    <#assign imageFixeStyleRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeStyle")> 
207    <#assign imageFixeStyle = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, imageFixeStyleRel.objectRelationshipId, imagefixeID, true, imageFixeStyleRel.isReverse(), null, -1, -1 ) /> 
208 
209    <#assign imageFixeSchoolRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeSchool")> 
210    <#assign imageFixeSchool = objectEntryLocalService.getManyToManyObjectEntries(imagefixeGroupID, imageFixeSchoolRel.objectRelationshipId, imagefixeID, true, imageFixeSchoolRel.isReverse(), null, -1, -1 ) /> 
211</#if> 
212 
213<#assign advertFileFamilles = matPubs?filter(m -> m.values.r_advertTypeOfFile_c_thesaurusId != 0)?map(m -> garance.getThesaurusByID(m.values.r_advertTypeOfFile_c_thesaurusId))?join(', ') /> 
214 
215<#assign showDescription = (imageFixeObjectCategory?hasContent 
216|| contenuDuMateriel?hasContent 
217|| contenuVisuelDuMateriel?hasContent 
218|| advertFileFamilles?hasContent 
219|| personRepresented?hasContent 
220|| personSujet?hasContent 
221|| imageFixeContentTheme?hasContent 
222|| imageFixeRepresentation?hasContent 
223|| imageFixeSourceOfPresentation?hasContent 
224|| imageFixeStyle?hasContent 
225|| imageFixeSchool?hasContent 
226|| getterUtil.getBoolean(ObjectField_illustrated.getData()))> 
227 
228<#--------------------------------- Description matérielle --------------------------> 
229 
230<#assign dimensionsRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "imageFixeManifestationDimension")> 
231<#assign dimensions = objectEntryLocalService.getOneToManyObjectEntries(imagefixemanifestationGroupID, dimensionsRel.objectRelationshipId, imagefixemanifestationID, true, null, -1, -1 ) /> 
232 
233<#assign showMateriel = ( 
234ObjectField_naturePhoto.getData()?hasContent 
235|| ObjectField_physicalDescription.getData()?hasContent 
236|| ObjectField_posterDigitalTechnicalDescription.getData()?hasContent 
237|| ObjectField_accompanyingMaterial.getData()?hasContent 
238|| ObjectField_natureDeSupport.getData()?hasContent 
239|| ObjectField_typeOfContent.getData()?hasContent 
240|| ObjectField_technicalCategory.getData()?hasContent 
241|| ObjectField_afficheProcedeTechnique.getData()?hasContent 
242|| ObjectField_colourBW.getData()?hasContent 
243|| dimensions?hasContent 
244|| (ObjectField_nombrePieces.getData()?hasContent || ObjectField_nombreFeuilles.getData()?hasContent) 
245|| ObjectField_nombreDeContenant.getData()?hasContent 
246)> 
247 
248<#--------------------------------- Exemplaires --------------------------> 
249 
250<#assign itemsRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "imageManifestationChildItems")> 
251<#assign items = objectEntryLocalService.getOneToManyObjectEntries(imagefixemanifestationGroupID, itemsRel.objectRelationshipId, imagefixemanifestationID, true, null, -1, -1 ) /> 
252 
253<#assign showExemplaires = items?hasContent> 
254 
255 
256<#--------------------------------- Media --------------------------> 
257<#assign reproductionsRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "imageFixeManifestationReproductions")> 
258<#assign reproductions = objectEntryLocalService.getManyToManyObjectEntries(imagefixemanifestationGroupID, reproductionsRel.objectRelationshipId, imagefixemanifestationID, true, reproductionsRel.isReverse(), null, -1, -1 ) /> 
259 
260<#assign reproductionsImages = []> 
261<#assign reproductionsVideos = []> 
262<#if reproductions?hasContent> 
263    <#list reproductions as reproduction> 
264        <#if reproduction.values.reproductionNature?hasContent> 
265            <#if reproduction.values.reproductionNature == "PICTURE" && reproduction.values.media?string != "0"> 
266                <#assign reproductionsImages = reproductionsImages + [reproduction]> 
267            <#elseIf reproduction.values.reproductionNature == "VIDEO"> 
268                <#assign reproductionsVideos = reproductionsVideos + [reproduction]> 
269            </#if> 
270        </#if> 
271    </#list> 
272</#if> 
273 
274<#assign showMedia = (reproductionsImages?hasContent || reproductionsVideos?hasContent)> 
275 
276<#--------------------------------- Collections --------------------------> 
277 
278<#assign relatedObjectsFull = {} /> 
279 
280<#if imagefixeID??> 
281    <#assign relatedObjectsRel = objectRelationshipLocalService.getObjectRelationship(imagefixeEntry.objectDefinitionId, "imageFixeTypeDeRelation")> 
282    <#assign relatedObjects = objectEntryLocalService.getOneToManyObjectEntries(imagefixeGroupID, relatedObjectsRel.objectRelationshipId, imagefixeID, true, null, -1, -1 ) /> 
283    <#assign relatedObjectsFull = garance.getRelatedObjects(relatedObjects, imagefixeEntry, true)> 
284</#if> 
285 
286<#assign relatedObjectsManifRel = objectRelationshipLocalService.getObjectRelationship(imagefixemanifestationEntry.objectDefinitionId, "ifmTypeDeRelation")> 
287<#assign relatedObjectsManif = objectEntryLocalService.getOneToManyObjectEntries(imagefixemanifestationGroupID, relatedObjectsManifRel.objectRelationshipId, imagefixemanifestationID, true, null, -1, -1 ) /> 
288<#assign relatedObjectsFull = relatedObjectsFull + garance.getRelatedObjects(relatedObjectsManif, imagefixemanifestationEntry, true)> 
289 
290<#assign showCollection = relatedObjectsFull?hasContent> 
291 
292<div class="notice notice--imagefixe js-notice"> 
293    <div class="notice-header tw:text-white tw:pt-[3.375rem] tw:pb-[2.5rem] tw:relative tw:overflow-hidden 
294    tw:before:content-[''] tw:before:absolute tw:before:inset-0 tw:before:size-full tw:before:block tw:before:bg-text tw:before:opacity-90 
295    tw:xl:pt-[9.5rem]"> 
296        <div class="page-wrapper tw:z-0 tw:relative"> 
297            <div class="tw:flex tw:gap-5 tw:items-start tw:flex-wrap tw:flex-col tw:z-0 
298            tw:md:flex-row tw:lg:flex-nowrap 
299            tw:xl:gap-[2.125rem]"> 
300                <div class="tw:order-2 tw:lg:order-1 tw:flex tw:flex-col tw:w-full tw:text-center 
301                    tw:md:w-fit tw:md:text-left"> 
302                    <#if imagefixemanifestationTitle?hasContent> 
303                        <h1 class="tw:order-1 tw:text-prim tw:mb-[0.625rem]"> 
304                            ${imagefixemanifestationTitle} 
305                        </h1> 
306                    </#if> 
307                    <#if !reproductionsImages?hasContent && (imagefixeEntry?? && imagefixeEntry.values.dataset?hasContent)> 
308                        <p class="tw:order-0 tw:mb-5 tw:text-[0.75rem]/[1rem] tw:block tw:mx-auto tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1 
309                                            tw:md:mx-0"> 
310                            ${garance.getPicklistItemName(imagefixeEntry.values.dataset, "picklistDataset")} 
311                        </p> 
312                    </#if> 
313                    <div class="tw:order-1 tw:relative tw:pt-5 tw:mt-5 tw:text-left 
314                    tw:before:block tw:before:content-[''] tw:before:absolute tw:before:top-0 tw:before:h-[0.0625rem] tw:before:w-full tw:before:bg-white tw:before:opacity-20 
315                    tw:md:before:w-[12.8125rem] "> 
316                        <#if ObjectField_typeDOeuvreAffiche.getData()?hasContent || advertFileTypes?hasContent || categoryPhoto?hasContent> 
317                            <p class="tw:mb-[0.625rem]"> 
318                                ${[ObjectField_typeDOeuvreAffiche.getData(), advertFileTypes, categoryPhoto]?filter(f-> f?hasContent)?join(' - ')} 
319                            </p> 
320                        </#if> 
321                        <#if auteursFull?hasContent> 
322                            <p class="tw:mb-[0.625rem]"> 
323                                Auteur(s) : 
324                                <#list auteursFull as auteur> 
325                                    <#if auteur.personne.id?hasContent> 
326                                        <a href="/l/${auteur.personne.id}${searchUrl}" 
327                                           class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
328                                            ${auteur.personne.name} 
329                                        </a> 
330                                    <#else>${auteur.personne.name}</#if><#if getterUtil.getBoolean(auteur.presume)>&nbsp;(Présumé)</#if><#if auteur.type?hasContent>&nbsp;(${auteur.type})</#if><#if !auteur?isLast>&nbsp;; </#if> 
331                                </#list> 
332                            </p> 
333                        </#if> 
334                        <#if productionDatesFull?hasContent> 
335                            <#assign prodDates = productionDatesFull?filter(p -> p.startDate?hasContent)> 
336                            <#list prodDates as productionDate> 
337                                <p class="tw:mb-[0.625rem]"> 
338                                    ${productionDate.startDate}<#if getterUtil.getBoolean(productionDate.presumeDate)>&nbsp;(Présumée)</#if> 
339                                </p> 
340                            </#list> 
341                        </#if> 
342                    </div> 
343                </div> 
344 
345                <#if reproductionsImages?hasContent> 
346                    <div class="tw:order-1 tw:lg:order-0 tw:w-full 
347                                    tw:md:w-fit"> 
348                        <div class="tw:m-auto tw:mx-auto tw:max-w-full tw:w-[15.625rem] tw:relative 
349                                        tw:md:mx-0"> 
350                            <#if imagefixeEntry.values.dataset?hasContent> 
351                                <p class="tw:absolute tw:top-[0.625rem] tw:left-[0.625rem] tw:text-[0.75rem]/[1rem] tw:block tw:rounded-xs tw:w-fit tw:bg-[rgba(255,255,255,0.9)] tw:text-prim tw:uppercase tw:px-[0.625rem] tw:py-1"> 
352                                    ${garance.getPicklistItemName(imagefixeEntry.values.dataset, "picklistDataset")}                                </p> 
353                            </#if> 
354                            <#assign thumbnail = reproductionsImages?first> 
355                            <#assign fileEntryDesktop = dlAppLocalService.getFileEntry(thumbnail.values.media?number) /> 
356                            <#assign thumbnailURL = dlURLHelper.getPreviewURL(fileEntryDesktop, fileEntryDesktop.getFileVersion(), 
357                            null, "", 
358                            !fileEntryDesktop.getFileVersion().equals(fileEntryDesktop.getLatestFileVersion()), true) /> 
359 
360                            <figure class="tw:w-full"> 
361                                <source media="(min-width: 480px)" 
362                                        srcset="${thumbnailURL}"/> 
363                                <img class="tw:rounded-xs tw:object-cover tw:size-full" alt="" 
364                                     src="${thumbnailURL}"/> 
365                                <#if thumbnail.values.reproductionNotes?hasContent || thumbnail.values.reproductionCopyright?hasContent> 
366                                    <figcaption class="tw:ml-[0.625rem] tw:opacity-70 tw:text-[0.75rem]/[1rem] tw:font-medium tw:mt-[0.3125rem] 
367                                                    tw:md:ml-0"> 
368                                        ${[thumbnail.values.reproductionNotes, thumbnail.values.reproductionCopyright]?filter(v->v?hasContent)?join(" - ")} 
369                                    </figcaption> 
370                                </#if> 
371                            </figure> 
372                        </div> 
373                    </div> 
374                </#if> 
375 
376                <@garance.noticeTools /> 
377            </div> 
378        </div> 
379    </div> 
380 
381    <div class="notice-content"> 
382        <div class="tw:overflow-y-clip tw:py-10"> 
383 
384            <div class="page-wrapper summary-ancres js-summary-ancres tw:group tw:fixed tw:w-full tw:overflow-hidden tw:h-fit tw:z-50 tw:top-[4.375rem] tw:bg-beige tw:max-lg:max-w-full! 
385                tw:lg:top-[6.875rem] tw:lg:h-0 tw:lg:overflow-visible tw:lg:sticky 
386                tw:xl:top-[8.85rem]"> 
387                <nav class="tw:bg-beige tw:lg:w-[14.25rem]" role="navigation" aria-labelledby="summary-title"> 
388                    <button id="summary-title" class="js-summary-btn tw:text-h3 tw:font-title tw:flex tw:justify-between tw:items-center tw:py-[0.625rem] tw:w-full tw:max-sm:px-[calc(2.5rem/2)] tw:focus:outline-offset-[-0.125rem] 
389                        tw:max-lg:px-[calc(5rem/2)] 
390                        tw:lg:hidden" aria-label="Ouvrir/Fermer le sommaire" aria-expanded="false" 
391                            aria-controls="summary-list"> 
392                        <span>Sommaire</span> 
393                        <span class="icon-chevron-down tw:text-prim tw:text-base tw:transition-all tw:outline-offset-[-0.125rem] 
394                        tw:group-[&.open]:rotate-180" aria-hidden="true"></span> 
395                    </button> 
396                    <div id="summary-list" class="tw:overflow-y-auto tw:bg-white tw:transition-all tw:max-sm:px-[calc(2.5rem/2)] 
397                    tw:max-lg:max-h-0 tw:max-lg:px-[calc(5rem/2)] tw:max-lg:max-w-full 
398                    tw:group-[&.open]:max-h-[calc(100vh-(4.375rem+3.125rem))] 
399                    tw:lg:max-h-[calc(100vh-12.5rem)] tw:lg:bg-transparent" tabindex="-1"> 
400                        <ul class="tw:border-sommaire-border tw:border-l-[0.125rem] tw:my-2"> 
401                            <#if showIdentity> 
402                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
403                                    <a href="#identite" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
404                                tw:[&.is-active]:border-prim" tabindex="-1"> 
405                                        <span>${summary["IdentiteImage"]?hasContent?then(summary["IdentiteImage"], "Identité")}</span> 
406                                    </a> 
407                                </li> 
408                            </#if> 
409                            <#if showPublication> 
410                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
411                                    <a href="#publication" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
412                                tw:[&.is-active]:border-prim" tabindex="-1"> 
413                                        <span>${summary["PublicationImage"]?hasContent?then(summary["PublicationImage"], "Publication")}</span> 
414                                    </a> 
415                                </li> 
416                            </#if> 
417                            <#if showDescription> 
418                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
419                                    <a href="#description" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
420                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
421                                        <span>${summary["DescriptionDuContenuImage"]?hasContent?then(summary["DescriptionDuContenuImage"], "Description du contenu")}</span> 
422                                    </a> 
423                                </li> 
424                            </#if> 
425                            <#if showMateriel> 
426                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
427                                    <a href="#material" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
428                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
429                                        <span>${summary["DescriptionMaterielleImage"]?hasContent?then(summary["DescriptionMaterielleImage"], "Description matérielle")}</span> 
430                                    </a> 
431                                </li> 
432                            </#if> 
433                            <#if showExemplaires> 
434                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
435                                    <a href="#exemplaires" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
436                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
437                                        <span>${summary["ExemplairesImage"]?hasContent?then(summary["ExemplairesImage"], "Exemplaires")}</span> 
438                                    </a> 
439                                </li> 
440                            </#if> 
441                            <#if showMedia> 
442                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
443                                    <a href="#ressources" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
444                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
445                                        <span>${summary["RessourcesMediaImage"]?hasContent?then(summary["RessourcesMediaImage"], "Ressources média")}</span> 
446                                    </a> 
447                                </li> 
448                            </#if> 
449                            <#if showCollection> 
450                                <li class="tw:py-1 tw:first:pt-0 tw:last:pb-0 tw:lg:py-[0.625rem]"> 
451                                    <a href="#collections" class="js-summary-ancres-link tw:border-l-[0.125rem] tw:border-transparent tw:block tw:py-1 tw:text-base/[1.75rem] tw:font-title tw:pl-[0.625rem] tw:relative tw:left-[-0.125rem] 
452                                                            tw:[&.is-active]:border-prim" tabindex="-1"> 
453                                        <span>${summary["CollectionsLieesImage"]?hasContent?then(summary["CollectionsLieesImage"], "Collections liées")}</span> 
454                                    </a> 
455                                </li> 
456                            </#if> 
457                        </ul> 
458                    </div> 
459                </nav> 
460            </div> 
461 
462 
463            <#if imagefixeEntry??> 
464                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
465                    <p class="tw:flex tw:items-center tw:w-fit tw:gap-[0.3125rem]  tw:text-notice"> 
466                        <span class="icon-arrow-left tw:transition-all tw:block tw:text-[0.875rem] tw:text-prim" 
467                        aria-hidden="true"></span> 
468                        <a href="/l/${imagefixeEntry.objectEntryId}${searchUrl}" 
469                           class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
470                            <span>Retour aux ressources consultables</span> 
471                        </a> 
472                    </p> 
473                </div> 
474            </#if> 
475 
476                <#if showIdentity> 
477                    <div id="identite" class="js-summary-content" tabindex="-1"></div> 
478                    <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
479                        <h2 class="tw:text-prim tw:mb-5">${summary["IdentiteImage"]?hasContent?then(summary["IdentiteImage"], "Identité")}</h2> 
480 
481                        <#if relatedFilmsFull?hasContent> 
482                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
483                                <p id="films-tlt" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Film(s) :</p> 
484                                <ul aria-labelledby="films-tlt"> 
485                                    <#list relatedFilmsFull as relatedFilm> 
486                                        <li <#if (relatedFilm?index > 4)>class="tw:hidden"</#if>> 
487                                            <#if relatedFilm.id?hasContent> 
488                                                <a href="/l/${relatedFilm.id}${searchUrl}" 
489                                                   class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]"> 
490                                                    ${relatedFilm.title} 
491                                                </a> 
492                                            <#else> 
493                                                ${relatedFilm.title} 
494                                            </#if> 
495                                            <#if relatedFilm.reals?hasContent> - 
496                                                <#list relatedFilm.reals as real> 
497                                                    <#if real.id?hasContent> 
498                                                        <a class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]" 
499                                                           href="/l/${real.id}${searchUrl}"> 
500                                                            ${real.name} 
501                                                        </a> 
502                                                    <#else> 
503                                                        ${real.name} 
504                                                    </#if> 
505                                                    <#if !real?isLast>, </#if> 
506                                                </#list> 
507                                            </#if> 
508                                            <#if relatedFilm.year?hasContent> - ${relatedFilm.year}</#if> 
509                                        </li> 
510                                    </#list> 
511                                </ul> 
512                            </div> 
513                        </#if> 
514 
515 
516                        <#if imagefixeEntry.values.posterVariant?hasContent> 
517                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
518                                <span class="tw:font-bold tw:shrink-0">Version :</span> 
519                                <span>${garance.getPicklistItemName(imagefixeEntry.values.posterVariant, "picklistPosterVariantTypeOfVariant")}</span> 
520                            </p> 
521                        </#if> 
522 
523                        <#if imagefixeEntry.values.posterAuthorMentionDeResponsabilite?hasContent 
524                        && imagefixeEntry.values.posterTypeDeNoteMentionDeResponsabilite == "MENTION"> 
525                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
526                                <span class="tw:font-bold tw:shrink-0">Note sur l'auteur :</span> 
527                                <span>${imagefixeEntry.values.posterAuthorMentionDeResponsabilite}</span> 
528                            </p> 
529                        </#if> 
530 
531                        <#list productionDatesFull as productionDate> 
532                            <#if productionDate.country?hasContent> 
533                                <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
534                                    <span class="tw:font-bold tw:shrink-0">Pays :</span> 
535                                    ${productionDate.country}<#if getterUtil.getBoolean(productionDate.presumeCountry)>&nbsp;(Présumé)</#if> 
536                                </p> 
537                            </#if> 
538                        </#list> 
539 
540                        <#if institutionFull?hasContent> 
541                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
542                                <span class="tw:font-bold tw:shrink-0">Institution :</span> 
543                                <span>${institutionFull?map(l->l.values.label)?join(", ")}</span> 
544                            </p> 
545                        </#if> 
546 
547                        <#if languagesFull?hasContent> 
548                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
549                                <span class="tw:font-bold tw:shrink-0">Langue :</span> 
550                                <span>${languagesFull?filter(l-> l.values.label?hasContent)?map(l->l.values.label)?join(", ")}</span> 
551                            </p> 
552                        </#if> 
553                    </div> 
554 
555                </#if> 
556 
557                <#if showPublication> 
558                    <div id="publication" class="js-summary-content" tabindex="-1"></div> 
559                    <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
560                        <h2 class="tw:text-prim tw:mb-5">${summary["PublicationImage"]?hasContent?then(summary["PublicationImage"], "Publication")}</h2> 
561 
562                        <#if withoutPrinterMention> 
563                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
564                                <span class="tw:font-bold tw:shrink-0">Sans mention d'imprimeur</span> 
565                            </p> 
566                        </#if> 
567 
568                        <#if impressionsFull?hasContent> 
569                            <div class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
570                                <p id="identite-print" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Imprimeur 
571                                    :</p> 
572                                <ul aria-labelledby="identite-print"> 
573                                    <#list impressionsFull as impression> 
574                                        <li> 
575                                            ${[impression.imprimeur, impression.startDate, impression.country, impression.place]?filter(v->v?hasContent)?join(' - ')} 
576                                        </li> 
577                                    </#list> 
578                                </ul> 
579                            </div> 
580                        </#if> 
581 
582                        <#if distributionsFull?hasContent> 
583                            <div class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
584                                <p id="identite-distri" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Distributeur 
585                                    :</p> 
586                                <ul aria-labelledby="identite-distri"> 
587                                    <#list distributionsFull as distribution> 
588                                        <li> 
589                                            ${[distribution.distributeur, distribution.startDate, distribution.country, distribution.place]?filter(v->v?hasContent)?join(' - ')} 
590                                        </li> 
591                                    </#list> 
592                                </ul> 
593                            </div> 
594                        </#if> 
595 
596                        <#if exploitationsFull?hasContent> 
597                            <div class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
598                                <p id="identite-exploit" class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Exploitant 
599                                    :</p> 
600                                <ul aria-labelledby="identite-exploit"> 
601                                    <#list exploitationsFull as exploitation> 
602                                        <li> 
603                                            ${[exploitation.exploitant, exploitation.startDate, exploitation.country, exploitation.place]?filter(v->v?hasContent)?join(' - ')} 
604                                        </li> 
605                                    </#list> 
606                                </ul> 
607                            </div> 
608                        </#if> 
609                    </div> 
610                </#if> 
611 
612                <#if showDescription> 
613                    <div id="description" class="js-summary-content" tabindex="-1"></div> 
614                    <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
615                        <h2 class="tw:text-prim tw:mb-5">${summary["DescriptionDuContenuImage"]?hasContent?then(summary["DescriptionDuContenuImage"], "Description du contenu")}</h2> 
616 
617                        <#if imageFixeObjectCategory?hasContent> 
618                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
619                                <span class="tw:font-bold tw:shrink-0">Type de document :</span> 
620                                <span>${imageFixeObjectCategory?map(v->v.values.label)?join(", ")}</span> 
621                            </p> 
622                        </#if> 
623 
624                        <#if contenuDuMateriel?hasContent> 
625                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
626                                <span class="tw:font-bold tw:shrink-0">Contenu du matériel :</span> 
627                                <span>${contenuDuMateriel?map(v->v.values.label)?join(", ")}</span> 
628                            </p> 
629                        </#if> 
630 
631                        <#if contenuVisuelDuMateriel?hasContent> 
632                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
633                                <span class="tw:font-bold tw:shrink-0">Contenu visible du matériel :</span> 
634                                <span>${contenuVisuelDuMateriel?map(v->v.values.label)?join(", ")}</span> 
635                            </p> 
636                        </#if> 
637 
638                        <#if advertFileFamilles?hasContent> 
639                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
640                                <span class="tw:font-bold tw:shrink-0">Famille :</span> 
641                                <span>${advertFileFamilles}</span> 
642                            </p> 
643                        </#if> 
644 
645                        <#if personRepresented?hasContent> 
646                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
647                                <span class="tw:font-bold tw:shrink-0">Personne(s) représentée(s) :</span> 
648                                <span><#list personRepresented as p> 
649                                    <#assign dataRepresented = garance.getPersonneDisplayData(p.objectEntryId)> 
650                                    <#if dataRepresented.id?hasContent> 
651                                        <a href="/l/${dataRepresented.id}${searchUrl}" 
652                                           class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
653                                            ${dataRepresented.name}</a> 
654                                    <#else>${dataRepresented.name}</#if><#if !p?isLast>, </#if> 
655                                </#list></span> 
656                            </p> 
657                        </#if> 
658 
659                        <#if personSujet?hasContent> 
660                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
661                                <span class="tw:font-bold tw:shrink-0">Personne(s) sujet :</span> 
662                                <span><#list personSujet as p> 
663                                    <#assign dataSujet = garance.getPersonneDisplayData(p.objectEntryId)> 
664                                    <#if dataSujet.id?hasContent> 
665                                        <a href="/l/${dataSujet.id}${searchUrl}" 
666                                           class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.125rem] tw:hover:bg-size-[0_0.125rem]"> 
667                                            ${dataSujet.name}</a> 
668                                    <#else>${dataSujet.name}</#if><#if !p?isLast>, </#if> 
669                                </#list></span> 
670                            </p> 
671                        </#if> 
672 
673                        <#if imageFixeContentTheme?hasContent> 
674                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
675                                <span class="tw:font-bold tw:shrink-0">Thèmes :</span> 
676                                <span>${imageFixeContentTheme?map(v->v.values.label)?join(", ")}</span> 
677                            </p> 
678                        </#if> 
679 
680                        <#if imageFixeRepresentation?hasContent> 
681                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
682                                <span class="tw:font-bold tw:shrink-0">Représentation :</span> 
683                                <span>${imageFixeRepresentation?map(v->v.values.label)?join(", ")}</span> 
684                            </p> 
685                        </#if> 
686 
687                        <#if imageFixeSourceOfPresentation?hasContent> 
688                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
689                                <span class="tw:font-bold tw:shrink-0">Source de représentation :</span> 
690                                <span>${imageFixeSourceOfPresentation?map(v->v.values.label)?join(", ")}</span> 
691                            </p> 
692                        </#if> 
693 
694                        <#if imageFixeStyle?hasContent> 
695                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
696                                <span class="tw:font-bold tw:shrink-0">Époque/Style/Mouvement :</span> 
697                                <span>${imageFixeStyle?map(v->v.values.label)?join(", ")}</span> 
698                            </p> 
699                        </#if> 
700 
701                        <#if imageFixeSchool?hasContent> 
702                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
703                                <span class="tw:font-bold tw:shrink-0">École :</span> 
704                                <span>${imageFixeSchool?map(v->v.values.label)?join(", ")}</span> 
705                            </p> 
706                        </#if> 
707 
708                        <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
709                            <span class="tw:font-bold tw:shrink-0">Illustré :</span> 
710                            <span> 
711                                <#if getterUtil.getBoolean(ObjectField_illustrated.getData())> 
712                                    ${languageUtil.get(locale, "Oui")} 
713                                <#else> 
714                                    ${languageUtil.get(locale, "Non")} 
715                                </#if> 
716                            </span> 
717                        </p> 
718                    </div> 
719            </#if> 
720 
721            <#if showMateriel> 
722                <div id="material" class="js-summary-content" tabindex="-1"></div> 
723                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
724                    <h2 class="tw:text-prim tw:mb-5">${summary["DescriptionMaterielleImage"]?hasContent?then(summary["DescriptionMaterielleImage"], "Description matérielle")}</h2> 
725 
726                        <#if ObjectField_naturePhoto.getData()?hasContent> 
727                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
728                                <span class="tw:font-bold tw:shrink-0">Nature :</span> 
729                                <span>${ObjectField_naturePhoto.getData()}</span> 
730                            </p> 
731                        </#if> 
732 
733                        <#if ObjectField_physicalDescription.getData()?hasContent> 
734                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
735                                <span class="tw:font-bold tw:shrink-0">Description matérielle :</span> 
736                                <span>${ObjectField_physicalDescription.getData()}</span> 
737                            </p> 
738                        </#if> 
739 
740                        <#if ObjectField_posterDigitalTechnicalDescription.getData()?hasContent> 
741                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
742                                <span class="tw:font-bold tw:shrink-0">Description technique :</span> 
743                                <span>${ObjectField_posterDigitalTechnicalDescription.getData()}</span> 
744                            </p> 
745                        </#if> 
746 
747                        <#if ObjectField_accompanyingMaterial.getData()?hasContent> 
748                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
749                                <span class="tw:font-bold tw:shrink-0">Matériel d'accompagnement :</span> 
750                                <span>${ObjectField_accompanyingMaterial.getData()}</span> 
751                            </p> 
752                        </#if> 
753 
754                        <#if ObjectField_natureDeSupport.getData()?hasContent> 
755                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
756                                <span class="tw:font-bold tw:shrink-0">Nature du support :</span> 
757                                <span>${ObjectField_natureDeSupport.getData()}</span> 
758                            </p> 
759                        </#if> 
760 
761                        <#if ObjectField_typeOfContent.getData()?hasContent> 
762                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
763                                <span class="tw:font-bold tw:shrink-0">Type de contenu :</span> 
764                                <span>${ObjectField_typeOfContent.getData()}</span> 
765                            </p> 
766                        </#if> 
767 
768                        <#if ObjectField_technicalCategory.getData()?hasContent> 
769                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
770                                <span class="tw:font-bold tw:shrink-0">Catégorie technique :</span> 
771                                <span>${ObjectField_technicalCategory.getData()}</span> 
772                            </p> 
773                        </#if> 
774 
775                        <#if ObjectField_afficheProcedeTechnique.getData()?hasContent> 
776                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
777                                <span class="tw:font-bold tw:shrink-0">Procédé technique :</span> 
778                                <#assign afficheProcedeTechnique = ObjectField_afficheProcedeTechnique.getData()?replace(",", ", ")> 
779                                <span>${afficheProcedeTechnique}</span> 
780                            </p> 
781                        </#if> 
782 
783                        <#if ObjectField_colourBW.getData()?hasContent> 
784                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
785                                <span class="tw:font-bold tw:shrink-0">Mention couleur :</span> 
786                                <span>${ObjectField_colourBW.getData()}</span> 
787                            </p> 
788                        </#if> 
789 
790                        <#if dimensions?hasContent> 
791                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
792                                <span class="tw:font-bold tw:shrink-0">Dimension :</span> 
793                                <span> 
794                                    <#list dimensions as dimension> 
795                                        <#if dimension?isFirst && dimension.values.posterDimensionPart?hasContent>${garance.getPicklistItemName(dimension.values.posterDimensionPart, "picklistPosterDimensionPart")}, </#if> 
796                                        <#assign sorte = (dimension.values.r_imageFixeManifestationDimensionSorte_c_thesaurusId != 0)?then(garance.getThesaurusByID(dimension.values.r_imageFixeManifestationDimensionSorte_c_thesaurusId), '')> 
797                                        <#assign value = dimension.values.dimensionValue?hasContent?then(dimension.values.dimensionValue, '')> 
798                                        <#assign unite = (dimension.values.r_imageFixeManifestationDimensionUnits_c_thesaurusId != 0)?then(garance.getThesaurusByID(dimension.values.r_imageFixeManifestationDimensionUnits_c_thesaurusId), '')> 
799                                        ${[sorte, value, unite]?filter(v->v?hasContent)?join(" ")}<#if !dimension?isLast>,&nbsp;</#if> 
800                                    </#list> 
801                                </span> 
802                            </p> 
803                        </#if> 
804 
805                        <#if ObjectField_nombrePieces.getData()?hasContent> 
806                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
807                                <span class="tw:font-bold tw:shrink-0">Nombre de pièces :</span> 
808                                <span>${ObjectField_nombrePieces.getData()}</span> 
809                            </p> 
810                        </#if> 
811 
812                        <#if ObjectField_nombreFeuilles.getData()?hasContent> 
813                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
814                                <span class="tw:font-bold tw:shrink-0">Nombre de feuilles :</span> 
815                                <span>${ObjectField_nombreFeuilles.getData()}</span> 
816                            </p> 
817                        </#if> 
818 
819                        <#if ObjectField_nombreDeContenant.getData()?hasContent> 
820                            <div class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
821                                <span class="tw:font-bold tw:shrink-0">Nombre de contenants :</span> 
822                                <div class="tw:flex tw:gap-[0.625rem] separator"> 
823                                    <span>${ObjectField_nombreDeContenant.getData()}</span> 
824                                    <#if ObjectField_typeDeContenant.getData()?hasContent> 
825                                        <span class="tw:flex tw:gap-[0.625rem]">${ObjectField_typeDeContenant.getData()}</span> 
826                                    </#if> 
827                                </div> 
828                            </div> 
829                        </#if> 
830                    </div> 
831                </#if> 
832 
833 
834            <#if showExemplaires> 
835                <div id="exemplaires" class="js-summary-content" tabindex="-1"></div> 
836                <div class="summary-content-wrapper page-wrapper tw:lg:pl-[16.75rem] tw:pb-10"> 
837                    <h2 class="tw:text-prim tw:mb-5">${summary["ExemplairesImage"]?hasContent?then(summary["ExemplairesImage"], "Exemplaires")}</h2> 
838 
839                    <#if items?filter(i -> i.values.posterTypeDeMediation == "SANS")?hasContent> 
840 
841                        <h3 class="tw:mb-5">Exemplaires (physiques)</h3> 
842 
843                        <#list items?filter(i -> i.values.posterTypeDeMediation == "SANS") as item> 
844 
845                            <#assign dimensionsItemRel = objectRelationshipLocalService.getObjectRelationship(item.objectDefinitionId, "imageFixeItemDimension")> 
846                            <#assign dimensionItems = objectEntryLocalService.getOneToManyObjectEntries(item.getGroupId(), dimensionsItemRel.objectRelationshipId, item.getObjectEntryId(), true, null, -1, -1 ) /> 
847 
848                            <#assign institutionItemRel = objectRelationshipLocalService.getObjectRelationship(item.objectDefinitionId, "imageFixeItemInstitution") /> 
849                            <#assign institutionItems = objectEntryLocalService.getManyToManyObjectEntries(item.getGroupId(), institutionItemRel.objectRelationshipId, item.getObjectEntryId(), true, institutionItemRel.isReverse(), null, -1, -1 ) /> 
850                            <#assign institutionItemsFull = institutionItems?filter(l-> l.values.label?hasContent) /> 
851 
852                            <div class="tw:bg-white tw:p-10 tw:border-l-[0.25rem] tw:border-solid tw:border-prim tw:mb-5"> 
853                                <details class="tw:group"> 
854                                    <summary class="tw:flex tw:items-center tw:justify-between"> 
855                                        <div class="tw:flex tw:flex-col tw:gap-[0.625rem]"> 
856                                            <#if institutionItemsFull?hasContent> 
857                                                <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice"> 
858                                                    <span class="tw:font-bold tw:shrink-0">Institution :</span> 
859                                                    ${institutionItemsFull?map(l->l.values.label)?join(", ")} 
860                                                </p> 
861                                            </#if> 
862                                            <#if item.values.currentLocationBarcode?hasContent> 
863                                                <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice"> 
864                                                    <span class="tw:font-bold tw:shrink-0">Cote contenant :</span> 
865                                                    ${item.values.currentLocationBarcode} 
866                                                </p> 
867                                            </#if> 
868                                            <#if item.values.posterShelfmark?hasContent> 
869                                                <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice"> 
870                                                    <span class="tw:font-bold tw:shrink-0">Cote document :</span> 
871                                                    ${item.values.posterShelfmark} 
872                                                </p> 
873                                            </#if> 
874                                        </div> 
875                                        <span class="tw:group-open:hidden icon-plus"></span> 
876                                        <span class="tw:group-open:block tw:hidden icon-minus"></span> 
877 
878                                    </summary> 
879                                    <div class="tw:mt-[0.625rem]"> 
880 
881                                        <#if dimensionItems?hasContent> 
882                                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
883                                                <span class="tw:font-bold tw:shrink-0">Format :</span> 
884                                                <span> 
885                                                    <#list dimensionItems as dimension> 
886                                                        <#assign sorte = (dimension.values.r_imageFixeManifestationDimensionSorte_c_thesaurusId != 0)?then(garance.getThesaurusByID(dimension.values.r_imageFixeManifestationDimensionSorte_c_thesaurusId), '')> 
887                                                        <#assign value = dimension.values.dimensionValue?hasContent?then(dimension.values.dimensionValue, '')> 
888                                                        <#assign unite = (dimension.values.r_imageFixeManifestationDimensionUnits_c_thesaurusId != 0)?then(garance.getThesaurusByID(dimension.values.r_imageFixeManifestationDimensionUnits_c_thesaurusId), '')> 
889                                                        ${[sorte, value, unite]?filter(v->v?hasContent)?join(" ")}<#if !dimension?isLast>,&nbsp;</#if> 
890                                                    </#list> 
891                                                    <#if (dimensionItems?first).values.r_imageFixeManifestationDimensionPart_c_thesaurusId != 0>, ${garance.getThesaurusByID((dimensionItems?first).values.r_imageFixeManifestationDimensionPart_c_thesaurusId)}</#if> 
892                                                </span> 
893                                            </p> 
894                                        </#if> 
895 
896                                        <#assign consulationsItemRel = objectRelationshipLocalService.getObjectRelationship(item.objectDefinitionId, "imageFixeItemConsultations")> 
897                                        <#assign consulationsItems = objectEntryLocalService.getOneToManyObjectEntries(item.getGroupId(), consulationsItemRel.objectRelationshipId, item.getObjectEntryId(), true, null, -1, -1 ) /> 
898 
899                                        <#if consulationsItems?hasContent> 
900                                            <#list consulationsItems as consultation> 
901                                                <#if consultation.values.accesConditions?hasContent> 
902                                                    <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
903                                                        <span class="tw:font-bold tw:shrink-0">Conditions d'accès :</span> 
904                                                        <span>${garance.getPicklistItemName(consultation.values.accesConditions, "picklistAccesConditions")}</span> 
905                                                    </p> 
906                                                </#if> 
907                                                <#if consultation.values.lieuDeConsultation?hasContent> 
908                                                    <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
909                                                        <span class="tw:font-bold tw:shrink-0">Lieu de consultation :</span> 
910                                                        <span>${garance.getPicklistItemName(consultation.values.lieuDeConsultation, "picklistLieuDeConsultation")}</span> 
911                                                    </p> 
912                                                </#if> 
913                                            </#list> 
914                                        </#if> 
915 
916                                        <#assign notesItemRel = objectRelationshipLocalService.getObjectRelationship(item.objectDefinitionId, "imageFixeItemNoteTechnique")> 
917                                        <#assign notesItems = objectEntryLocalService.getOneToManyObjectEntries(item.getGroupId(), notesItemRel.objectRelationshipId, item.getObjectEntryId(), true, null, -1, -1 ) /> 
918 
919                                        <#if notesItems?hasContent> 
920                                            <ul class="tw:mb-[0.625rem]"> 
921                                                <#list notesItems as noteItem> 
922                                                    <#if noteItem.values.typeOfNote?hasContent && noteItem.values.typeOfNote == "COPY" && noteItem.values.note?hasContent> 
923                                                        <li> 
924                                                            ${[(noteItem.values.typeOfNote?hasContent)?then(garance.getPicklistItemName(noteItem.values.typeOfNote, "picklistImageFixeItemAfficheTechniqueNoteTypeOfNote"), ""), noteItem.values.note]?filter(v->v?hasContent)?join(" - ")} 
925                                                        </li> 
926                                                    </#if> 
927                                                </#list> 
928                                            </ul> 
929                                        </#if> 
930                                        <#assign itemRelatedObjectTypesRel = objectRelationshipLocalService.getObjectRelationship(item.objectDefinitionId, "typeDeRelationFondArchive")> 
931                                        <#assign itemRelatedObjectTypes = objectEntryLocalService.getOneToManyObjectEntries(item.getGroupId(), itemRelatedObjectTypesRel.objectRelationshipId, item.getObjectEntryId(), true, null, -1, -1 ) /> 
932                                        <#assign relatedObjectsItemFull = garance.getRelatedObjects(itemRelatedObjectTypes, item, true)> 
933 
934                                        <#if relatedObjectsItemFull?hasContent && relatedObjectsItemFull.archivecatalogue?? && relatedObjectsItemFull.archivecatalogue.work??> 
935                                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
936                                                <p id="archive-tlt" 
937                                                   class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Appartenance à 
938                                                    un fonds d'archives :</p> 
939                                                <ul aria-labelledby="archive-tlt"> 
940                                                    <#list relatedObjectsItemFull.archivecatalogue as level, archiveParts> 
941                                                        <#list archiveParts as archivePart> 
942                                                            <#assign archiveDataset = ""> 
943                                                            <#if archivePart.object.values.dataset?hasContent> 
944                                                                <#assign archiveDataset = garance.getPicklistItemName(archivePart.object.values.dataset, "picklistDataset")> 
945                                                            </#if> 
946                                                            <li> 
947                                                                <a class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]" 
948                                                                   href="/l/${archivePart.object.objectEntryId}${searchUrl}">${archivePart.associationType}<#if archivePart.object.values.cote?hasContent> ${archivePart.object.values.cote}</#if><#if archivePart.object.values.titleComplete?hasContent> [${archivePart.object.values.titleComplete}]</#if><#if archiveDataset?hasContent> (${archiveDataset})</#if></a> 
949                                                            </li> 
950                                                        </#list> 
951                                                    </#list> 
952                                                </ul> 
953                                            </div> 
954                                        </#if> 
955 
956                                    </div> 
957                                </details> 
958                            </div> 
959                        </#list> 
960                    </#if> 
961 
962                    <#if items?filter(i -> i.values.posterTypeDeMediation == "ELECTRO")?hasContent> 
963 
964                        <h3 class="tw:mb-5">Exemplaires (numériques)</h3> 
965 
966                        <#list items?filter(i -> i.values.posterTypeDeMediation == "ELECTRO") as item> 
967 
968                            <#assign institutionItemRel = objectRelationshipLocalService.getObjectRelationship(item.objectDefinitionId, "imageFixeItemInstitution")> 
969                            <#assign institutionItems = objectEntryLocalService.getManyToManyObjectEntries(item.getGroupId(), institutionItemRel.objectRelationshipId, item.getObjectEntryId(), true, institutionItemRel.isReverse(), null, -1, -1 ) /> 
970                            <#assign institutionItemsFull = institutionItems?filter(l-> l.values.label?hasContent)> 
971 
972                            <#assign dimensionsItemRel = objectRelationshipLocalService.getObjectRelationship(item.objectDefinitionId, "imageFixeItemDimension")> 
973                            <#assign dimensionItems = objectEntryLocalService.getOneToManyObjectEntries(item.getGroupId(), dimensionsItemRel.objectRelationshipId, item.getObjectEntryId(), true, null, -1, -1 ) /> 
974 
975                            <div class="tw:bg-white tw:p-10 tw:border-l-[0.25rem] tw:border-solid tw:border-prim tw:mb-5"> 
976                                <details class="tw:group"> 
977                                    <summary class="tw:flex tw:items-center tw:justify-between tw:mb-[0.625rem]"> 
978                                        <#if institutionItemsFull?hasContent> 
979                                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice"> 
980                                                <span class="tw:font-bold tw:shrink-0">Institution :</span> 
981                                                ${institutionItemsFull?map(l->l.values.label)?join(", ")} 
982                                            </p> 
983                                        </#if> 
984                                        <#if item.values.posterShelfmark?hasContent> 
985                                            <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice"> 
986                                                <span class="tw:font-bold tw:shrink-0">Cote document :</span> 
987                                                ${item.values.posterShelfmark} 
988                                            </p> 
989                                        </#if> 
990                                        <span class="tw:group-open:hidden icon-plus"></span> 
991                                        <span class="tw:group-open:block tw:hidden icon-minus"></span> 
992                                    </summary> 
993                                    <div> 
994                                        <#assign consulationsItemRel = objectRelationshipLocalService.getObjectRelationship(item.objectDefinitionId, "imageFixeItemConsultations")> 
995                                        <#assign consulationsItems = objectEntryLocalService.getOneToManyObjectEntries(item.getGroupId(), consulationsItemRel.objectRelationshipId, item.getObjectEntryId(), true, null, -1, -1 ) /> 
996 
997                                        <#if consulationsItems?hasContent> 
998                                            <#list consulationsItems as consultation> 
999                                                <#if consultation.values.lieuDeConsultation?hasContent> 
1000                                                    <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1001                                                        <span class="tw:font-bold tw:shrink-0">Lieu de consultation :</span> 
1002                                                        <span>${garance.getPicklistItemName(consultation.values.lieuDeConsultation, "picklistLieuDeConsultation")}</span> 
1003                                                    </p> 
1004                                                </#if> 
1005                                                <#if consultation.values.accesConditions?hasContent> 
1006                                                    <p class="tw:flex tw:max-md:flex-col tw:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1007                                                        <span class="tw:font-bold tw:shrink-0">Conditions d'accès :</span> 
1008                                                        <span>${garance.getPicklistItemName(consultation.values.accesConditions, "picklistAccesConditions")}</span> 
1009                                                    </p> 
1010                                                </#if> 
1011                                            </#list> 
1012                                        </#if> 
1013 
1014                                        <#assign itemRelatedObjectTypesRel = objectRelationshipLocalService.getObjectRelationship(item.objectDefinitionId, "typeDeRelationFondArchive")> 
1015                                        <#assign itemRelatedObjectTypes = objectEntryLocalService.getOneToManyObjectEntries(item.getGroupId(), itemRelatedObjectTypesRel.objectRelationshipId, item.getObjectEntryId(), true, null, -1, -1 ) /> 
1016                                        <#assign relatedObjectsItemFull = garance.getRelatedObjects(itemRelatedObjectTypes, item, true)> 
1017 
1018                                        <#if relatedObjectsItemFull?hasContent && relatedObjectsItemFull.archivecatalogue?? && relatedObjectsItemFull.archivecatalogue.work??> 
1019                                            <div class="tw:flex tw:max-md:flex-col tw:max-lg:flex-wrap tw:items-start tw:gap-[0.625rem] tw:text-notice tw:mb-[0.625rem]"> 
1020                                                <p id="archive-tlt" 
1021                                                   class="tw:leading-[1.375rem] tw:font-bold tw:shrink-0">Appartenance à 
1022                                                    un 
1023                                                    fonds d'archives :</p> 
1024                                                <ul aria-labelledby="archive-tlt"> 
1025                                                    <#list relatedObjectsItemFull.archivecatalogue as level, archiveParts> 
1026                                                        <#list archiveParts as archivePart> 
1027                                                            <#assign archiveDataset = ""> 
1028                                                            <#if archivePart.object.values.dataset?hasContent> 
1029                                                                <#assign archiveDataset = garance.getPicklistItemName(archivePart.object.values.dataset, "picklistDataset")> 
1030                                                            </#if> 
1031                                                            <li> 
1032                                                                <a class="tw:font-bold tw:transition-all tw:bg-linear-[currentcolor,currentcolor] tw:bg-no-repeat tw:bg-bottom-left tw:bg-size-[100%_0.0625rem] tw:hover:bg-size-[0_0.0625rem]" 
1033                                                                   href="/l/${archivePart.object.objectEntryId}${searchUrl}">${archivePart.associationType}<#if archivePart.object.values.cote?hasContent> ${archivePart.object.values.cote}</#if><#if archivePart.object.values.titleComplete?hasContent> [${archivePart.object.values.titleComplete}]</#if><#if archiveDataset?hasContent> (${archiveDataset})</#if></a> 
1034                                                            </li> 
1035                                                        </#list> 
1036                                                    </#list> 
1037                                                </ul> 
1038                                            </div> 
1039                                        </#if> 
1040                                    </div> 
1041                                </details> 
1042                            </div> 
1043                        </#list> 
1044                    </#if> 
1045                </div> 
1046 
1047            </#if> 
1048        </div> 
1049 
1050        <#if showMedia> 
1051            <#assign medias = []> 
1052            <#if reproductionsVideos?hasContent> 
1053                <#assign medias = medias + [{ 
1054                "type": "video", 
1055                "title": "Vidéos", 
1056                "reproductions": reproductionsVideos 
1057                }]> 
1058            </#if> 
1059            <#if reproductionsImages?hasContent> 
1060                <#assign medias = medias + [{ 
1061                "type": "image", 
1062                "title": "Images", 
1063                "reproductions": reproductionsImages 
1064                }]> 
1065            </#if> 
1066            <div id="ressources" class="js-summary-content" tabindex="-1"></div> 
1067            <div class="page-wrapper tw:py-10"> 
1068                <h2 id="ressources-tl" 
1069                    class="tw:text-prim tw:mb-5">${summary["RessourcesMediaImage"]?hasContent?then(summary["RessourcesMediaImage"], "Ressources média")}</h2> 
1070                <@garance.displayMedia data=medias /> 
1071            </div> 
1072        </#if> 
1073 
1074        <#if showCollection> 
1075            <div id="collections" class="js-summary-content" tabindex="-1"></div> 
1076            <div class="page-wrapper tw:py-10"> 
1077                <h2 id="collections-tl" 
1078                    class="tw:text-prim tw:mb-5">${summary["CollectionsLieesImage"]?hasContent?then(summary["CollectionsLieesImage"], "Collections liées")}</h2> 
1079                <@garance.displayCollection relatedObjectsFull /> 
1080            </div> 
1081        </#if> 
1082    </div> 
1083</div>