Une erreur s'est produite lors du traitement du gabarit.
Java method "com.sun.proxy.$Proxy65.getCategory(long)" threw an exception when invoked on com.sun.proxy.$Proxy65 object "com.liferay.asset.categories.internal.service.AssetEntryAssetCategoryRelAssetCategoryLocalServiceWrapper@388a5cba"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign districtCategory = AssetCateg... [in template "10155#10193#STRUCTURE-ACCUEIL" at line 79, column 5] ----
1<#-- local services -->
2<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
4<#assign AssetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
5<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
6
7
8<#--
9Web content templates are used to lay out the fields defined in a web
10content structure.
11
12Please use the left panel to quickly add commonly used variables.
13Autocomplete is also available and can be invoked by typing "${".
14-->
15
16<#function getCategoriesOfVocabulary assetEntry vocabularyName>
17 <#assign categories = assetEntry.getCategories() />
18 <#assign categorylist = [] />
19 <#list categories as category>
20 <#assign vocabulary = AssetVocabularyLocalService.getVocabulary(category.vocabularyId)/>
21 <#if vocabulary.name == vocabularyName>
22 <#-- <#assign categorylist = categorylist + [ category.getDescription(locale) ] /> -->
23 <#assign categorylist = categorylist + [ category ] />
24 </#if>
25 </#list>
26 <#return categorylist />
27</#function>
28
29<#function getPhone phone>
30 <#return phone?replace(" ","") />
31</#function>
32
33
34
35<#if locale="de_DE">
36 <#assign placeLibreLabel="Freie Plätze">
37 <#assign ouiLabel="Ja">
38 <#assign nonLabel="Nein">
39 <#assign regionLabel="Region:">
40 <#assign districtLabel="Bezirke:">
41 <#assign communeLabel="Gemeinde:">
42 <#assign directionLabel="Pädagogische Leitung">
43 <#assign informationsLabel="Informationen">
44 <#assign telLabel="Tel.">
45<#else>
46 <#assign placeLibreLabel="Places libres">
47 <#assign ouiLabel="Oui">
48 <#assign nonLabel="Non">
49 <#assign regionLabel="Région :">
50 <#assign districtLabel="District :">
51 <#assign communeLabel="Commune :">
52 <#assign directionLabel="Responsable pédagogique">
53 <#assign informationsLabel="Informations">
54 <#assign telLabel="Tél.">
55</#if>
56
57<#assign articleId = .vars['reserved-article-id'].data />
58<#assign journalArticle = JournalArticleLocalService.getLatestArticle(groupId, articleId) />
59<#assign resourcePK = journalArticle.getResourcePrimKey() />
60<#assign assetEntry = AssetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', resourcePK) />
61 <#-- <strong>assetEntry</strong> ${assetEntry}<br />-->
62<#-- get category ids of vocabulary -->
63<#assign accueilRestreint = getCategoriesOfVocabulary(assetEntry, "Structure accueil - restreint") />
64<#assign accueilElargi = getCategoriesOfVocabulary(assetEntry, "Structure accueil - élargi") />
65<#assign rdc = getCategoriesOfVocabulary(assetEntry, "Régions-Districts-Communes") />
66
67<#assign type="">
68
69<#list accueilElargi as cur_ae>
70 <#assign type=type+cur_ae.getTitle(locale)+" "+cur_ae.getDescription(locale)+"<br />">
71</#list>
72
73<#list accueilRestreint as cur_ar>
74 <#assign type=type+cur_ar.getTitle(locale)+" "+cur_ar.getDescription(locale)+"<br />">
75</#list>
76
77<#list rdc as cur_com>
78 <#assign commune=cur_com.getName()>
79 <#assign districtCategory = AssetCategoryLocalService.getCategory(cur_com.getParentCategoryId())>
80 <#assign district=districtCategory.getName()>
81 <#assign regionCategory = AssetCategoryLocalService.getCategory(districtCategory.getParentCategoryId())>
82 <#assign region=regionCategory.getName()>
83</#list>
84
85<#assign dispo = Disponibilité.getData()>
86<#assign color = "red">
87
88<#assign dispoLabel = nonLabel>
89<#if dispo?contains("1")>
90 <#assign dispoLabel = ouiLabel>
91 <#assign color = "green">
92</#if>
93
94<style>
95 #map-canvas {
96 width: 100%;
97 height: 25em;
98 }
99 /*
100 .page {
101 width: 540px;
102 }
103 */
104 .doctable td {
105 padding: 2px;
106 }
107 .text {
108 font-size: 10pt;
109 color: #6b6b6b;
110 text-decoration: none;
111 }
112 .doctitle {
113 font-size: 12pt;
114 color: #cc2e22;
115 font-weight: bold;
116 }
117 .phone {
118 font-size: 10pt;
119 color: #3b3b3b;
120 text-decoration: underline;
121 }
122</style>
123
124<script src="https://maps.googleapis.com/maps/api/js"></script>
125<script>
126 function initialize() {
127 var lLat = parseFloat(document.getElementById("lat").value);
128 var lLng = parseFloat(document.getElementById("lng").value);
129 var lZoom = parseInt(document.getElementById("zoom").value);
130 var lTitle = document.getElementById("title").value;
131
132
133 var mapCanvas = document.getElementById('map-canvas');
134 var myLatlng = new google.maps.LatLng(lLat, lLng);
135 var mapOptions = {
136 center: myLatlng,
137 zoom: lZoom,
138 mapTypeId: google.maps.MapTypeId.ROADMAP
139 }
140
141 var map = new google.maps.Map(mapCanvas, mapOptions)
142 var marker = new google.maps.Marker({
143 position: myLatlng,
144 map: map,
145 title: lTitle
146 });
147 }
148 //google.maps.event.addDomListener(window, 'load', initialize);
149</script>
150
151<input type="hidden" id="lat" value="${Latitude.getData()}">
152<input type="hidden" id="lng" value="${Longitude.getData()}">
153<input type="hidden" id="zoom" value="${Zoom.getData()}">
154<input type="hidden" id="title" value="${NomEtablissement.getData()}">
155
156<div class="page">
157<!--
158 <div id="map-canvas" width="540px"></div>
159-->
160 <div id="map-canvas"></div>
161 <div style="padding:8px">
162 <table border=0 cellpadding="0" cellspacing="0" width ="100%" class="doctable">
163 <tbody>
164 <tr>
165 <td class="doctitle">
166 ${NomEtablissement.getData()}
167 </td>
168 <td rowspan="2" valign="top" width="120" align="center" stype="font-size:8pt;">
169 <#--
170 <div style="padding:3px; background-color:${color}; color:white;">
171 ${placeLibreLabel}
172 </div>
173 <div style="padding:3px; background-color:${color}; color:white;">
174 <string>${dispoLabel}</strong>
175 </div>
176 -->
177 </td>
178 </tr>
179 <tr>
180 <td class="text">
181 ${type}
182 </td>
183 </tr>
184 <tr>
185 <td class="text">
186 ${regionLabel}
187 </td>
188 <td class="text">
189 ${region}
190 </td>
191 </tr>
192 <tr>
193 <td class="text">
194 ${districtLabel}
195 </td>
196 <td class="text">
197 ${district}
198 </td>
199 </tr>
200 <tr>
201 <td class="text">
202 ${communeLabel}
203 </td>
204 <td class="text">
205 ${commune}
206 </td>
207 </tr>
208 </tbody>
209 </table>
210 </div>
211 <div style="padding:8px">
212 <table border=0 cellpadding="0" cellspacing="0" width ="100%" class="doctable" style="border:solid 1px #999999">
213 <tbody>
214 <tr>
215 <td class="text" style="border:solid 1px #999999; background-color:#eeeeee; font-weight:bold;">
216 ${directionLabel}
217 </td>
218 <td class="text" style="border:solid 1px #999999; background-color:#eeeeee; font-weight:bold;" width="200">
219 ${informationsLabel}
220 </td>
221 </tr>
222 <#if Nom.getSiblings()?has_content>
223 <#list Nom.getSiblings() as cur_Nom>
224 <tr>
225 <td class="text" style="border:solid 1px #999999;">
226 ${cur_Nom.getData()}<br />
227 </td>
228 <td class="text" style="border:solid 1px #999999;" width="200">
229 <#if AdresseEtablissement.getData()!="">
230 ${AdresseEtablissement.getData()}
231 <br />
232 <#else>
233 <#if cur_Nom.Adresse.getData()!="">
234 ${cur_Nom.Adresse.getData()}
235 <br />
236 </#if>
237 </#if>
238 <#if LocaliteEtablissement.getData()!="">
239 ${LocaliteEtablissement.getData()}
240 <br />
241 </#if>
242 <#if cur_Nom.Telephone.getData()!="" || cur_Nom.Mobile.getData()!="" >
243 <table border="0" cellpadding="0" cellspacing="0" width="100%">
244 <tbody>
245 <tr>
246 <td class="text">${telLabel}</td>
247 <td width="10" class="text" align="right">
248 :
249 </td>
250 <td width="90" class="text" align="right">
251 <#if cur_Nom.Telephone.getData()!="">
252 <a class="phone" href="tel:${getPhone(cur_Nom.Telephone.getData())}">${cur_Nom.Telephone.getData()}</a>
253 <#else>
254 <a class="phone" href="tel:${getPhone(cur_Nom.Mobile.getData())}">${cur_Nom.Telephone.getData()}</a>
255 </#if>
256 </td>
257 </tr>
258 </tbody>
259 </table>
260 </#if>
261 </td>
262 </tr>
263 </#list>
264 </#if>
265 </tbody>
266 </table>
267 </div>
268</div>
269<script>
270initialize();
271</script>