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)> (Présumé)</#if><#if auteur.type?hasContent> (${auteur.type})</#if><#if !auteur?isLast> ; </#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)> (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)> (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>, </#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>, </#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>