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>