Ocorreu um erro ao processar o modelo.
Error on line 85, column 21 in 10155#10195#31154
utilLocator.findUtil("inr-hook", "pt.segsocial.inr.service.DistritosConcelhosService") is undefined.
It cannot be assigned to distritosConcelhosUtil
1<#assign journalArticleId = .vars['reserved-article-id'].data> 
2<#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.portlet.journal.service.JournalArticleResourceLocalServiceUtil"]> 
3<#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.portlet.asset.service.AssetCategoryLocalServiceUtil"]> 
4<#assign assetEntryLocalServiceUtil = staticUtil["com.liferay.portlet.asset.service.AssetEntryLocalServiceUtil"]> 
5 
6<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
7<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.portlet.journal.model.JournalArticle",articleResourcePK) > 
8<#assign categoryName = "N/A" /> 
9<#assign currentURL = "" /> 
10 
11<#list categoryList as category> 
12	<#assign categoryName = category.getTitleCurrentValue() /> 
13	<#assign categoryEntries = assetEntryLocalServiceUtil.getAssetCategoryAssetEntries(category.getCategoryId()) /> 
14	<#if categoryEntries?? && categoryEntries?has_content> 
15		<#assign ddmStructureLocalService = staticUtil["com.liferay.portlet.dynamicdatamapping.service.DDMStructureLocalServiceUtil"]> 
16		<#assign ddmStructureClass = staticUtil["com.liferay.portal.kernel.util.ClassResolverUtil"].resolveByPortalClassLoader("com.liferay.portlet.dynamicdatamapping.model.DDMStructure") /> 
17		<#list categoryEntries as categoryEntry> 
18		    <#if (categoryEntry.getClassName() == "com.liferay.portlet.journal.model.JournalArticle")> 
19		        <#if categoryEntry.getAssetRenderer()??> 
20        			<#assign assetRenderer = categoryEntry.getAssetRenderer() /> 
21    		        <#assign categoryArticle = assetRenderer.getArticle() /> 
22    		        <#assign structureId = categoryArticle.getStructureId() /> 
23    		        <#assign q = staticUtil["com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil"].forClass(ddmStructureClass) /> 
24    		        <#assign VOID = q.add(staticUtil["com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil"].eq("structureKey", structureId)) /> 
25    		        <#assign structures = ddmStructureLocalService.dynamicQuery(q) /> 
26    		        <#if structures?? && structures?has_content> 
27    		            <#list structures as structure> 
28    		                <#if structure.getName()?contains("ISO")> 
29    		                	<#assign document = saxReaderUtil.read(categoryArticle.getContent()) /> 
30    					        <#assign rootElement = document.getRootElement() /> 
31    					        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Preco']") /> 
32    					        <#if xPathSelector.selectSingleNode(rootElement)??> 
33    					            <#assign preco = xPathSelector.selectSingleNode(rootElement).getStringValue()?string /> 
34    					        </#if> 
35    					        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Data_Inicio']") /> 
36    					        <#if xPathSelector.selectSingleNode(rootElement)??> 
37    					        	<#setting locale="pt_PT" /> 
38    								<#setting date_format="dd/MM/yyyy" /> 
39    					        	<#assign dataInicio = xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
40    				        	</#if> 
41    		                </#if> 
42    		            </#list> 
43    		        </#if> 
44                </#if> 
45		    </#if> 
46		</#list> 
47	</#if> 
48</#list> 
49 
50<#assign localizacoesList = [] /> 
51 
52<#if Entidade_e_Localização.getSiblings()?has_content> 
53    <#assign isEntidadeRendered = false /> 
54	<#list Entidade_e_Localização.getSiblings() as cur_Entidade_e_Localização> 
55	    <#assign curValue = "${cur_Entidade_e_Localização.getData()}" /> 
56	    <#assign valores = curValue?split("|") /> 
57		<#if valores?has_content> 
58		    <#assign index = 0 /> 
59    		<#list valores as cur_valor> 
60    		    <#if index == 0 && !isEntidadeRendered> 
61    		        <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")> 
62                    <#assign classNameLocalService = serviceLocator.findService("com.liferay.portal.service.ClassNameLocalService")> 
63                    <#assign journalArticleClass = staticUtil["com.liferay.portal.kernel.util.ClassResolverUtil"].resolveByPortalClassLoader("com.liferay.portlet.journal.model.JournalArticle") /> 
64                    <#assign journalArticleQuery = staticUtil["com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil"].forClass(journalArticleClass) /> 
65                	<#assign VOID = journalArticleQuery.add(staticUtil["com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil"].eq("articleId", cur_valor)) /> 
66                	<#list staticUtil["com.liferay.portlet.journal.service.JournalArticleLocalServiceUtil"].dynamicQuery(journalArticleQuery) as articleObj> 
67                	    <#if journalArticleLocalService.isLatestVersion(groupId, articleObj.getArticleId(), articleObj.getVersion())> 
68                	    	<#assign articleObjName = articleObj.getTitleCurrentValue() /> 
69                	    	<#assign document = saxReaderUtil.read(articleObj.getContent()) /> 
70					        <#assign rootElement = document.getRootElement() /> 
71					        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Tipo_de_Entidade']") /> 
72					        <#assign tipoEntidade = xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
73					        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Nome']") /> 
74					        <#assign articleObjName = xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
75                		    <#assign serviceContext = staticUtil["com.liferay.portal.service.ServiceContextThreadLocal"].getServiceContext()> 
76                            <#assign themeDisplay = serviceContext.getThemeDisplay() /> 
77                            <#assign currentURL = portletURLFactory.create(serviceContext.getRequest(), "56", themeDisplay.getPlid() ,"RENDER_PHASE") /> 
78                            <#assign VOID = currentURL.setParameter("struts_action", "/journal_content/view", true) /> 
79                            <#assign VOID = currentURL.setParameter("groupId", articleObj.getGroupId()?string, true) /> 
80                            <#assign VOID = currentURL.setParameter("articleId", articleObj.getArticleId(), true) /> 
81                		    <#assign isEntidadeRendered = true /> 
82                		</#if> 
83                	</#list> 
84                <#else> 
85                    <#assign distritosConcelhosUtil = utilLocator.findUtil("inr-hook", "pt.segsocial.inr.service.DistritosConcelhosService") /> 
86                    <#if index == 2> 
87                        <#assign distritoValue = cur_valor /> 
88                        <#assign distritoDesc = distritosConcelhosUtil.getDescricaoDistrito(cur_valor) /> 
89                    <#elseif index == 3> 
90                        <#assign concelhoDesc = distritosConcelhosUtil.getDescricaoConcelho(distritoValue, cur_valor) /> 
91                        <#assign localizacoesList = localizacoesList + [ { "distrito" : distritoDesc, "concelho" : concelhoDesc } ] /> 
92                    </#if> 
93    		    </#if> 
94    		    <#assign index = index + 1 /> 
95    		</#list> 
96    	</#if> 
97	</#list> 
98</#if> 
99<style>.portlet-journal-content .journal-content-article { width: 100%; } </style> 
100<div class="row single_page_product"> 
101	<div class="col-md-12"> 
102		<h1 class="product_title">${htmlUtil.escape(Nome.getData())}</h1> 
103	</div> 
104	<div class="col-md-4"> 
105		<div class="col-md-12 product"> 
106			<#if Foto??> 
107				<img src="${Foto.getData()}" class="img-responsive products_image" alt="${htmlUtil.escape(Descrição_da_foto.getData())}"> 
108				<hr> 
109			</#if> 
110			<div class="row product_details"> 
111                <div class="col-xs-8 col-md-8"> 
112                    <#if locale.language == "pt"> 
113                	<p class="price_details">Preço</p> 
114                    <#else> 
115                	<p class="price_details">Price</p> 
116             
117                    </#if>  
118                </div> 
119                <div class="col-xs-4 col-md-4"> 
120	                <#assign valor = "${Preço_com_IVA_incluído.getData()}" /> 
121	                <#setting locale="pt_PT"> 
122					<#setting number_format="currency"> 
123                    <p class="price">${valor?number}</p> 
124                    <#setting number_format="computer"> 
125                </div> 
126                <#if categoryName?? && categoryName?has_content && categoryName != "N/A"> 
127                	<#if preco?? && preco?has_content> 
128		                <div class="col-xs-8 col-md-8"> 
129		                    <#if locale.language == "pt"> 
130		                    <p class="ref_price_details">Preço Referência</p> 
131                            <#else> 
132		                    <p class="ref_price_details">Reference Price</p> 
133                     
134                            </#if>  
135		                </div> 
136			            <div class="col-xs-4 col-md-4"> 
137				            <#setting number_format="currency"> 
138		                    <p class="ref_price">${preco?eval}</p> 
139				            <#setting number_format="computer"> 
140		                </div> 
141					</#if> 
142		        	<#if dataInicio?? && dataInicio?has_content> 
143			        	<div class="col-md-12"> 
144		        			<p class="date_details">${dataInicio?eval?number_to_date}</p> 
145		        		</div> 
146		        	</#if> 
147	            </#if> 
148				<div class="col-xs-6 col-md-6"> 
149			    <#if locale.language == "pt"> 
150                    <p class="iso_details">Classificação ISO</p> 
151                <#else> 
152                    <p class="iso_details">ISO Classification</p> 
153         
154                </#if>  
155                </div> 
156                <div class="col-xs-6 col-md-6"> 
157                    <p class="cat_details">${categoryName}</p> 
158                </div> 
159    		    <div class="col-xs-4 col-md-4"> 
160			    <#if locale.language == "pt"> 
161                    <p class="entity_details">Entidade</p> 
162                <#else> 
163                    <p class="entity_details">Entity</p> 
164         
165                </#if>                      
166                </div> 
167                <div class="col-xs-8 col-md-8"> 
168                    <p class="agent_details"><a href="${currentURL}">${htmlUtil.escape(articleObjName)} <br> ${htmlUtil.escape(tipoEntidade)}</a></p> 
169                </div> 
170			</div> 
171			<hr> 
172    		<div class="row update_details"> 
173                <div class="col-xs-8 col-md-8"> 
174                 
175			    <#if locale.language == "pt"> 
176                    <p class="last_update_label">Última atualização</p> 
177                <#else> 
178                    <p class="last_update_label">Last Update</p> 
179         
180                </#if> 
181                </div> 
182                <div class="col-xs-4 col-md-4"> 
183                    <#setting locale="pt_PT" /> 
184                	<#assign modifiedDate = .vars['reserved-article-modified-date'].data/> 
185					<#assign modifiedDate = modifiedDate?datetime("EEE, d MMM yyyy HH:mm:ss Z") /> 
186                    <p class="date_details">${modifiedDate?string["dd/MM/yyyy"]}</p> 
187                </div> 
188            </div> 
189		</div> 
190	</div> 
191	<div class="col-md-8 product_text_details"> 
192	    <#if locale.language == "pt"> 
193		<h2 class="text_details_title">Descrição</h4> 
194        <#else> 
195		<h2 class="text_details_title">Description</h4> 
196 
197        </#if> 
198		${htmlUtil.escape(Descrição.getData())} 
199		<#if locale.language == "pt"> 
200		<h2 class="text_details_title mt_20">Especificação Técnica</h4> 
201        <#else> 
202		<h2 class="text_details_title mt_20">Technical Specification</h4> 
203 
204        </#if> 
205		${htmlUtil.escape(Especificação_Técnica.getData())} 
206		<#if locale.language == "pt"> 
207		<h2 class="text_details_title mt_20">Localização</h4> 
208        <#else> 
209		<h2 class="text_details_title mt_20">Location</h4> 
210 
211        </#if> 
212		<#list localizacoesList as localizacao> 
213		<#if locale.language == "pt"> 
214			<p class="no_margin"><span>Distrito: </span>${htmlUtil.escape(localizacao.distrito)}</p> 
215			<p class="no_margin"><span>Concelho: </span>${htmlUtil.escape(localizacao.concelho)}</p> 
216		<#else> 
217			<p class="no_margin"><span>District: </span>${htmlUtil.escape(localizacao.distrito)}</p> 
218			<p class="no_margin"><span>Town: </span>${htmlUtil.escape(localizacao.concelho)}</p> 
219        </#if> 
220 
221			<br> 
222		</#list>			 
223	</div> 
224</div> 
225 
226<script type="text/javascript"> 
227	document.title = $(".product_title").text() + " - Instituto Nacional para a Reabilitação"; 
228	 
229	$(document).ready(function() { 
230		if ($(".single_page_product").parents(".portlet-workflow-tasks").size() > 0) { 
231			$(".single_page_product").css("margin-left", "0px"); 
232			$(".single_page_product").find(".row").css("margin-left", "0px"); 
233
234	}); 
235</script>