An error occurred while processing the template.
Expression institution_url is undefined on line 211, column 79 in 10153#10191#PROJECT-6.2.0.1.
1<style>
2@media (min-width: 992px) {
3 .image-right {
4 float: right;
5 width: 33%;
6 padding-left: 10px;
7 }
8
9 .image-left {
10 float: left;
11 width: 33%;
12 padding-right: 10px;
13 }
14}
15
16.image-left p, .image-right p {
17 font-size: 12px !important;
18}
19
20</style>
21
22<#-- Custom parameters -->
23<#-- Sonicon server -->
24<#--
25<#assign assetPublisherPartnersId = "Ekdp6jialWEW" />
26<#assign assetPublisherBeneficiariesId = "Ekdp6jialWEW" />
27
28<#assign relatedPartnersPath = "/web/chagas-coalition/partner/-/asset_publisher/${assetPublisherPartnersId}/content/" />
29<#assign relatedBeneficiariesPath = "/web/chagas-coalition/partner/-/asset_publisher/${assetPublisherBeneficiariesId}/content/" />
30-->
31
32<#-- UAT server -->
33<#--
34<#assign assetPublisherPartnersId = "lvpOG38ir4WJ" />
35<#assign assetPublisherBeneficiariesId = "lvpOG38ir4WJ" />
36-->
37
38<#-- PROD server -->
39<#assign assetPublisherPartnersId = "DQZ7w7hVgEk3" />
40<#assign assetPublisherBeneficiariesId = "DQZ7w7hVgEk3" />
41
42<#assign langcode = locale?substring(0,2) />
43<#assign relatedPartnersPath = "/${langcode}/member/-/asset_publisher/${assetPublisherPartnersId}/content/" />
44<#assign relatedBeneficiariesPath = "/${langcode}/member/-/asset_publisher/${assetPublisherBeneficiariesId}/content/" />
45
46<#-- NOTE: name of structure fields are hardcoded -->
47<#assign peopleStructureName = "[Chagas] People - 6.2.0.1" />
48<#assign supervisorTemplateName = "PEOPLE_SUPERVISOR - 6.2.0.1" />
49<#assign studentTemplateName = "PEOPLE_STUDENT - 6.2.0.1" />
50<#assign institutionStructureName = "[Chagas] Institution - 6.2.0.1" />
51<#assign partnerTemplateName = "INSTITUTION_PARTNER - 6.2.0.1" />
52<#assign beneficiaryTemplateName = "INSTITUTION_BENEFICIARY - 6.2.0.1" />
53<#assign vocabularyAreaOfResearchName = "Area of Activity" />
54<#assign vocabularyResearchProgrammeName = "Type of Project" />
55
56<#assign current_complete_url = request["attributes"]?if_exists['CURRENT_COMPLETE_URL']?if_exists />
57<#assign current_complete_url_encoded = httpUtil.encodeURL(current_complete_url) />
58
59
60<#-- Classes -->
61<#assign JournalArticleLocalServiceUtil = staticUtil["com.liferay.portlet.journal.service.JournalArticleLocalServiceUtil"] />
62<#assign AssetLinkLocalServiceUtil = staticUtil["com.liferay.portlet.asset.service.AssetLinkLocalServiceUtil"] />
63<#assign AssetEntryLocalServiceUtil = staticUtil["com.liferay.portlet.asset.service.AssetEntryLocalServiceUtil"] />
64<#assign DDMStructureLocalServiceUtil = staticUtil["com.liferay.portlet.dynamicdatamapping.service.DDMStructureLocalServiceUtil"] />
65<#assign DDMTemplateLocalServiceUtil = staticUtil["com.liferay.portlet.dynamicdatamapping.service.DDMTemplateLocalServiceUtil"] />
66<#assign AssetVocabularyLocalServiceUtil = staticUtil["com.liferay.portlet.asset.service.AssetVocabularyLocalServiceUtil"] />
67
68
69<#-- Structure values -->
70
71<#assign project_name = name.getData() />
72
73<#-- Date values disabled
74<#assign project_date_ini = getterUtil.getLong(date_ini.getData())>
75<#if (project_date_ini > 0)>
76 <#assign date_iniDateObj = dateUtil.projectDate(project_date_ini)>
77</#if>
78<#assign project_date_end = getterUtil.getLong(date_end.getData())>
79<#if (project_date_end > 0)>
80 <#assign date_endDateObj = dateUtil.projectDate(project_date_end)>
81</#if>
82-->
83
84<#assign project_photo = image.getData() />
85<#assign project_caption = '${image.getChild("caption").getData()}' />
86<#assign project_text = text.getData() />
87
88
89<#-- obtain entryId -->
90<#assign articleId = .vars['reserved-article-id'].data />
91<#assign article = JournalArticleLocalServiceUtil.getLatestArticle(groupId, articleId) />
92<#assign resourcePrimKey = article.getResourcePrimKey() />
93
94<#assign assetEntry = AssetEntryLocalServiceUtil.getEntry("com.liferay.portlet.journal.model.JournalArticle", resourcePrimKey) />
95<#assign contentId = assetEntry.getEntryId() />
96
97
98<#-- Related Asset content -->
99<#-- Related Assets IDs -->
100<#assign relatedAssetIds = [] />
101<#list AssetLinkLocalServiceUtil.getDirectLinks(contentId) as currentAssetLink >
102 <#assign relatedAssetIds = relatedAssetIds + [currentAssetLink.getEntryId2()] />
103</#list>
104
105<#-- Related Assets by Structure/Template -->
106<#assign relatedPartners = [] />
107<#assign relatedBeneficiaries = [] />
108
109<#if relatedAssetIds?has_content >
110 <#list relatedAssetIds as currentRelatedAssetId >
111
112 <#-- AssetEntry information -->
113 <#assign classPK = AssetEntryLocalServiceUtil.getAssetEntry(currentRelatedAssetId).getClassPK() />
114 <#assign classTypeId = AssetEntryLocalServiceUtil.getAssetEntry(currentRelatedAssetId).getClassTypeId() />
115
116 <#-- JournalArticle information -->
117 <#assign article = JournalArticleLocalServiceUtil.getLatestArticle(classPK) />
118
119 <#-- Structure information -->
120 <#assign structureId = classTypeId />
121 <#assign structureName = DDMStructureLocalServiceUtil.getDDMStructure(structureId).getName(locale.getDefault()) />
122
123 <#-- Template information -->
124 <#assign templateId = article.getTemplateId() />
125 <#assign templateName = "" />
126
127 <#-- Templates by structure -->
128 <#assign structureTemplates = DDMTemplateLocalServiceUtil.getTemplates(structureId) />
129 <#list structureTemplates as structureTemplate >
130 <#if structureTemplate.getTemplateKey() == templateId >
131 <#assign templateName = structureTemplate.getName(locale.getDefault()) />
132 </#if>
133 </#list>
134
135 <#-- Structure split -->
136 <#if "${structureName}" == "${institutionStructureName}" >
137
138 <#-- Template validation -->
139 <#if templateName == partnerTemplateName >
140 <#assign relatedPartners = relatedPartners + [article] />
141 <#elseif templateName == beneficiaryTemplateName >
142 <#assign relatedBeneficiaries = relatedBeneficiaries + [article] />
143 </#if>
144
145 </#if>
146
147 </#list>
148</#if>
149
150
151
152<#-- Category separation by Vocabulary -->
153<#assign assetEntry = AssetEntryLocalServiceUtil.getAssetEntry(contentId) />
154<#assign vocabularyAreaOfResearchId = AssetVocabularyLocalServiceUtil.getGroupVocabulary(groupId, vocabularyAreaOfResearchName).getVocabularyId() />
155<#assign vocabularyResearchProgrammeId = AssetVocabularyLocalServiceUtil.getGroupVocabulary(groupId, vocabularyResearchProgrammeName).getVocabularyId() />
156<#assign areaOfResearchCategory = "" />
157<#assign researchProgrammeCategory = "" />
158
159<#list assetEntry.getCategories() as cat>
160 <#assign currentVocabularyId = cat.getVocabularyId() />
161 <#assign currentCategoryName = cat.getName() />
162 <#if currentVocabularyId == vocabularyAreaOfResearchId >
163 <#if areaOfResearchCategory == "" >
164 <#assign areaOfResearchCategory = '${currentCategoryName}' />
165 <#else>
166 <#assign areaOfResearchCategory = '${areaOfResearchCategory}' + ', ${currentCategoryName}' />
167 </#if>
168 <#elseif currentVocabularyId == vocabularyResearchProgrammeId >
169 <#if researchProgrammeCategory == "" >
170 <#assign researchProgrammeCategory = '${currentCategoryName}' />
171 <#else>
172 <#assign researchProgrammeCategory = '${researchProgrammeCategory}' + ', ${currentCategoryName}' />
173 </#if>
174 </#if>
175</#list>
176
177
178<div class="block-content-small-padding">
179 <div class="block-content-inner">
180 <div class="row">
181 <div class="col-sm-12">
182 <h1 class="property-detail-title no-margin pd-bottom-10">${project_name}</h1>
183
184 <#-- Institutions list -->
185 <#if relatedPartners?has_content || relatedBeneficiaries?has_content >
186
187 <#assign isUnique = true />
188
189 <h4 class="property-detail-subtitle pd-bottom-30 caps bold">
190
191 <#assign institution_all_name = "" />
192 <#list relatedBeneficiaries as currentRelatedBeneficiary >
193 <#assign docXml = saxReaderUtil.read(currentRelatedBeneficiary.getContent()) />
194 <#assign institution_name = docXml.valueOf("//dynamic-element[@name='name']/dynamic-content[@language-id='${locale}']/text()") />
195 <#if institution_name = "">
196 <#assign institution_name = docXml.valueOf("//dynamic-element[@name='name']/dynamic-content/text()") />
197 </#if>
198 <#assign institution_location = docXml.valueOf("//dynamic-element[@name='location']/dynamic-content[@language-id='${locale}']/text()") />
199 <#if institution_location = "">
200 <#assign institution_location = docXml.valueOf("//dynamic-element[@name='location']/dynamic-content/text()") />
201 </#if>
202 <#assign institution_url = relatedBeneficiariesPath + currentRelatedBeneficiary.getUrlTitle() />
203
204 <#if isUnique >
205 <#assign isUnique = false />
206 <#assign institution_all_name = institution_name />
207 <#else>
208 <#assign institution_all_name = institution_all_name + ", " + institution_name />
209 </#if>
210 </#list>
211 <a class="color-grey" href="${institution_url}" >
212 ${institution_all_name}<#if location.getData() != "">. <@liferay.language key="location"/>: ${location.getData()}</#if>
213 </a>
214 </h4>
215 </#if>
216
217 <div class="col-sm-6 col-md-8 no-padding">
218 <div class="property-detail-overview no-border">
219 <div class="property-detail-overview-inner clearfix">
220
221 <div class="property-detail-overview-item col-sm-6 col-md-6 bg-red color-white initialism">
222 ${vocabularyAreaOfResearchName}:
223 <span>${areaOfResearchCategory}</span>
224 </div>
225
226 <div class="property-detail-overview-item col-sm-6 col-md-6 bg-red color-white initialism">
227 ${vocabularyResearchProgrammeName}:
228 <span>${researchProgrammeCategory}</span>
229 </div>
230
231 </div>
232 </div>
233 </div>
234
235 <div class="col-sm-6 col-md-4 right">
236 <div class="agent-row-content">
237 <ul class="social social-share">
238 Share it:    
239 <li><a title="Facebook" target="_blank" href="http://www.facebook.com/sharer.php?u=${current_complete_url_encoded}&t=${project_name}"><img src="/isg-chagas-coalition-theme/images/share-icons/ico_facebook.png"></a></li>
240 <li><a title="Twitter" target="_blank" href="http://twitter.com/share?url=${current_complete_url_encoded}&text=${project_name}"><img src="/isg-chagas-coalition-theme/images/share-icons/ico_twitter.png"></a></li>
241 <li><a title="LinkedIn" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&url=${current_complete_url_encoded}&title=${project_name}"><img src="/isg-chagas-coalition-theme/images/share-icons/ico_linkedin.png"></a></li>
242 </ul>
243 </div>
244 </div>
245
246 </div>
247 </div>
248
249 <div class="row">
250 <div class="col-sm-12">
251 <#if project_photo?has_content && project_photo != "null" >
252 <div class="property-box-picture-target bg-black">
253 <img src="${project_photo}" alt="">
254 <#if project_caption?has_content >
255 <p class="property-row-body caption-text">${project_caption}</p>
256 </#if>
257 </div>
258 </#if>
259 </div>
260 </div>
261
262 <#-- Responsive control -->
263 <#assign content_class = "col-sm-12">
264 <#if text_image.getSiblings()?has_content && text_image.getSiblings()?first.getData() != "" && text_image.getSiblings()?first.getData() != "null" >
265 <#assign content_class = "col-sm-8">
266 </#if>
267
268 <div class="row">
269 <div class="col-sm-12">
270 <div class="row">
271 <div class="${content_class}">
272 <div class="block-content block-content-small-padding">
273 <div class="block-content-inner">
274 <div class="text-content">
275 ${text.getData()}
276 </div>
277 </div>
278 </div>
279 </div>
280
281 <#if text_image.getSiblings()?has_content && text_image.getSiblings()?first.getData() != "" && text_image.getSiblings()?first.getData() != "null" >
282 <div class="col-sm-4">
283 <#list text_image.getSiblings() as cur_text_image>
284 <#assign text_image_item = '${cur_text_image.getData()}' />
285 <#assign text_image_caption = '${cur_text_image.getChild("text_image_caption").getData()}' />
286
287 <div class="row">
288 <div class="col-sm-12">
289 <div class="block-content block-content-small-padding pd-bottom-0">
290 <div class="block-content-inner">
291 <div class="property-box-picture-target bg-black">
292 <img src="${text_image_item}" alt="">
293 <#if text_image_caption?has_content >
294 <p class="property-row-body caption-text">${text_image_caption}</p>
295 </#if>
296 </div>
297 </div>
298 </div>
299 </div>
300 </div>
301 </#list>
302 </div>
303 </#if>
304 </div>
305 </div>
306 </div>
307 <div class="row">
308 <div class="header-standard col-sm-12">
309 <div class="block-content-inner">
310 <div class="agents-list clearfix">
311 <div class="row">
312 <#assign count = 0 >
313 <#list relatedBeneficiaries as currentRelatedBeneficiary >
314 <#assign docXml = saxReaderUtil.read(currentRelatedBeneficiary.getContent()) />
315 <#assign institution_name = docXml.valueOf("//dynamic-element[@name='name']/dynamic-content[@language-id='${locale}']/text()") />
316 <#if institution_name = "">
317 <#assign institution_name = docXml.valueOf("//dynamic-element[@name='name']/dynamic-content/text()") />
318 </#if>
319 <#assign institution_location = docXml.valueOf("//dynamic-element[@name='location']/dynamic-content[@language-id='${locale}']/text()") />
320 <#if institution_location = "">
321 <#assign institution_location = docXml.valueOf("//dynamic-element[@name='location']/dynamic-content/text()") />
322 </#if>
323 <#assign institution_url = relatedBeneficiariesPath + currentRelatedBeneficiary.getUrlTitle() />
324
325 <#assign institution_photo = docXml.valueOf("//dynamic-element[@name='photo']/dynamic-content[@language-id='${locale}']/text()") />
326 <#if institution_photo = "">
327 <#assign institution_photo = docXml.valueOf("//dynamic-element[@name='photo']/dynamic-content/text()") />
328 </#if>
329 <#assign institution_latitude = docXml.valueOf("//dynamic-element[@name='latitude']/dynamic-content[@language-id='${locale}']/text()") />
330 <#if institution_latitude = "">
331 <#assign institution_latitude = docXml.valueOf("//dynamic-element[@name='latitude']/dynamic-content/text()") />
332 </#if>
333 <#assign institution_longitude = docXml.valueOf("//dynamic-element[@name='longitude']/dynamic-content[@language-id='${locale}']/text()") />
334 <#if institution_longitude = "">
335 <#assign institution_longitude = docXml.valueOf("//dynamic-element[@name='longitude']/dynamic-content/text()") />
336 </#if>
337
338 <#assign itHasProfile = ("${institution_latitude}" != "0.0" || "${institution_longitude}" != "0.0") >
339 <#if count == 5>
340 <#assign count = 1 >
341 </div>
342 <div class="row">
343 </#if>
344
345 <div class="col-sm-3">
346 <div class="agent-box">
347 <div class="row">
348 <div class="agent-box-picture col-sm-12">
349 <#if institution_photo != "" && institution_photo != "null" >
350 <div class="agent-box-picture-inner">
351 <#if itHasProfile >
352 <a href="${institution_url}" class="agent-box-picture-target">
353 <img src="${institution_photo}" alt="">
354 </a>
355 <#else>
356 <img src="${institution_photo}" alt="">
357 </#if>
358 </div>
359 </#if>
360 </div>
361 <div class="agent-box-content col-sm-12 pd-bottom-1 bg-lightgrey">
362 <#if itHasProfile >
363 <h3 class="agent-box-title"><a href="${institution_url}">${institution_name}</a></h3>
364 <h4 class="agent-box-subtitle caps"><a href="${institution_url}">${institution_location}</a></h4>
365 <#else>
366 <h3 class="agent-box-title">${institution_name}</h3>
367 <h4 class="agent-box-subtitle caps">${institution_location}</h4>
368 </#if>
369 </div>
370 </div>
371 </div>
372 </div>
373 </#list>
374 </div>
375 </div>
376 </div>
377 </div>
378 </div>
379 <#-- Partners -->
380 <#if relatedPartners?has_content >
381 <div class="row">
382 <div class="header-standard col-sm-12">
383 <h1 class="caps">Partners</h1>
384 <div class="block-content-inner">
385 <div class="agents-list clearfix">
386 <div class="row">
387 <#assign count = 0 >
388 <#list relatedPartners as currentRelatedPartner >
389 <#assign count = count+1 >
390 <#-- related information -->
391 <#assign docXml = saxReaderUtil.read(currentRelatedPartner.getContent()) />
392 <#assign institution_name = docXml.valueOf("//dynamic-element[@name='name']/dynamic-content[@language-id='${locale}']/text()") />
393 <#if institution_name = "">
394 <#assign institution_name = docXml.valueOf("//dynamic-element[@name='name']/dynamic-content/text()") />
395 </#if>
396 <#assign institution_location = docXml.valueOf("//dynamic-element[@name='location']/dynamic-content[@language-id='${locale}']/text()") />
397 <#if institution_location = "">
398 <#assign institution_location = docXml.valueOf("//dynamic-element[@name='location']/dynamic-content/text()") />
399 </#if>
400 <#assign institution_photo = docXml.valueOf("//dynamic-element[@name='photo']/dynamic-content[@language-id='${locale}']/text()") />
401 <#if institution_photo = "">
402 <#assign institution_photo = docXml.valueOf("//dynamic-element[@name='photo']/dynamic-content/text()") />
403 </#if>
404 <#assign institution_latitude = docXml.valueOf("//dynamic-element[@name='latitude']/dynamic-content[@language-id='${locale}']/text()") />
405 <#if institution_latitude = "">
406 <#assign institution_latitude = docXml.valueOf("//dynamic-element[@name='latitude']/dynamic-content/text()") />
407 </#if>
408 <#assign institution_longitude = docXml.valueOf("//dynamic-element[@name='longitude']/dynamic-content[@language-id='${locale}']/text()") />
409 <#if institution_longitude = "">
410 <#assign institution_longitude = docXml.valueOf("//dynamic-element[@name='longitude']/dynamic-content/text()") />
411 </#if>
412
413 <#assign itHasProfile = ("${institution_latitude}" != "0.0" || "${institution_longitude}" != "0.0") >
414
415 <#assign institution_url = relatedPartnersPath + currentRelatedPartner.getUrlTitle() />
416
417 <#if count == 5>
418 <#assign count = 1 >
419 </div>
420 <div class="row">
421 </#if>
422
423 <div class="col-sm-3">
424 <div class="agent-box">
425 <div class="row">
426 <div class="agent-box-picture col-sm-12">
427 <#if institution_photo != "" && institution_photo != "null" >
428 <div class="agent-box-picture-inner">
429 <#if itHasProfile >
430 <a href="${institution_url}" class="agent-box-picture-target">
431 <img src="${institution_photo}" alt="">
432 </a>
433 <#else>
434 <img src="${institution_photo}" alt="">
435 </#if>
436 </div>
437 </#if>
438 </div>
439 <div class="agent-box-content col-sm-12 pd-bottom-1 bg-lightgrey">
440 <#if itHasProfile >
441 <h3 class="agent-box-title"><a href="${institution_url}">${institution_name}</a></h3>
442 <h4 class="agent-box-subtitle caps"><a href="${institution_url}">${institution_location}</a></h4>
443 <#else>
444 <h3 class="agent-box-title">${institution_name}</h3>
445 <h4 class="agent-box-subtitle caps">${institution_location}</h4>
446 </#if>
447 </div>
448 </div>
449 </div>
450 </div>
451 </#list>
452 </div>
453 </div>
454 </div>
455 </div>
456 </div>
457 </#if>
458 </div>
459</div>