Se ha producido un error al procesar la plantilla.
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: &nbsp &nbsp 
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>