Serviços Online
Títulos de Atividade
Serviços Online
Ocorreu um erro ao processar o template.
The following has evaluated to null or missing: ==> xPathSelector.selectSingleNode(rootElement) [in template "20116#20152#33435" at line 132, column 58] ---- Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign QuandoTenhoDeRequerer = xPath... [in template "20116#20152#33435" at line 132, column 25] ----
1<style>
2 .btn-primary.btn-service_request{
3 min-width: 100px;
4 height: 45px;
5 padding: 0 15px;
6 border-radius:25px;
7 margin-top: 25px;
8 }
9 .btn-service_request-outter{
10 text-align: center;
11 }
12 @media (min-width: 992px) {
13 .btn-service_request-outter{
14 text-align: left;
15 }
16 .btn-primary.btn-service_request{
17 min-width: 100px;
18 margin-top: 0;
19 }
20 .row-service_heading{
21 display: -webkit-box;
22 display: -webkit-flex;
23 display: -ms-flexbox;
24 display: flex;
25 }
26 }
27</style>
28
29<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
30<#assign httpServletRequest = serviceContext.getRequest()>
31<#assign familyRedirect = "/servicos">
32
33<#if !httpServletRequest.getParameter('articleId')??>
34
35 <div class="row" style="margin-top:20px;">
36 <div class="col-md-10 col-md-offset-1" style="padding-top:20px;">
37
38 <#if entries?has_content>
39 <#list entries as curEntry>
40 <#assign renderer = curEntry.getAssetRenderer() />
41 <#assign className = renderer.getClassName() />
42
43 <#if className == "com.liferay.journal.model.JournalArticle">
44 <#assign journalArticle = renderer.getArticle() />
45 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
46 <#assign rootElement = document.getRootElement() />
47
48 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']") />
49 <#assign titulo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
50
51 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resumo']") />
52 <#assign resumo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
53
54 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Icon']") />
55 <#assign icon = xPathSelector.selectSingleNode(rootElement).getStringValue() />
56
57 <div class="row" style="padding-bottom:15px;display: -webkit-box;display: -webkit-flex;display: -ms-flexbox;display: flex;">
58 <div class="col-md-1">
59 <#if (icon?trim?length > 0) >
60 <img style="width: 80px; height: 80px;" src="${icon}" alt="${titulo}"/>
61 <#else>
62 <div style="width: 80px; height: 80px;"></div>
63 </#if>
64 </div>
65 <div class="col-md-11" style="display:flex; align-items:center;">
66 <div>
67 <a href="${familyRedirect}?articleId=${curEntry.getEntryId()}"><h4 style="margin:0;">${titulo}</h4></a>
68 <p style="margin-top:10px;">${resumo}</p>
69 </div>
70 </div>
71 </div>
72
73 </#if>
74 </#list>
75 </#if>
76
77 </div>
78 </div>
79
80<#else>
81 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
82 <#assign validArticleId = httpServletRequest.getParameter('articleId')?matches("\\d+")>
83 <#assign validEntryId = false>
84
85 <#if validArticleId>
86 <#assign articleId = httpServletRequest.getParameter('articleId')?number>
87 <#if assetEntryLocalService.fetchAssetEntry(articleId)??>
88 <#assign validEntryId = true>
89 <#assign entry = assetEntryLocalService.getEntry(articleId) />
90 </#if>
91 </#if>
92
93 <#if validArticleId && validEntryId>
94
95 <div class="row">
96
97 <#assign renderer = entry.getAssetRenderer() />
98 <#assign className = renderer.getClassName() />
99
100 <#if className == "com.liferay.journal.model.JournalArticle">
101 <#assign journalArticle = renderer.getArticle() />
102 <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) />
103 <#assign rootElement = document.getRootElement() />
104
105 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']") />
106 <#assign titulo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
107
108 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Icon']") />
109 <#assign icon = xPathSelector.selectSingleNode(rootElement).getStringValue() />
110
111 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resumo']") />
112 <#assign subtitulo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
113
114 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='btnText']") />
115 <#if xPathSelector.selectSingleNode(rootElement)?has_content >
116 <#assign btnText = xPathSelector.selectSingleNode(rootElement).getStringValue() />
117 <#else>
118 <#assign btnText =''>
119 </#if>
120
121 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='linkServico']") />
122 <#assign linkServico = xPathSelector.selectSingleNode(rootElement).getStringValue() />
123
124 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='QuandoTenhoDeRequererPergunta']") />
125 <#if xPathSelector.selectSingleNode(rootElement)?has_content >
126 <#assign QuandoTenhoDeRequererPergunta = xPathSelector.selectSingleNode(rootElement).getStringValue() />
127 <#else>
128 <#assign QuandoTenhoDeRequererPergunta =''>
129 </#if>
130
131 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='QuandoTenhoDeRequerer']") />
132 <#assign QuandoTenhoDeRequerer = xPathSelector.selectSingleNode(rootElement).getStringValue() />
133
134 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='QuemPodeRequererPergunta']") />
135 <#if xPathSelector.selectSingleNode(rootElement)?has_content >
136 <#assign QuemPodeRequererPergunta = xPathSelector.selectSingleNode(rootElement).getStringValue() />
137 <#else>
138 <#assign QuemPodeRequererPergunta =''>
139 </#if>
140
141 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='QuemPodeRequerer']") />
142 <#assign QuemPodeRequerer = xPathSelector.selectSingleNode(rootElement).getStringValue() />
143
144 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='OndePossoRequererPergunta']") />
145 <#if xPathSelector.selectSingleNode(rootElement)?has_content >
146 <#assign OndePossoRequererPergunta = xPathSelector.selectSingleNode(rootElement).getStringValue() />
147 <#else>
148 <#assign OndePossoRequererPergunta =''>
149 </#if>
150
151 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='OndePossoRequerer']") />
152 <#assign OndePossoRequerer = xPathSelector.selectSingleNode(rootElement).getStringValue() />
153
154 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='documentacaoPergunta']") />
155 <#if xPathSelector.selectSingleNode(rootElement)?has_content >
156 <#assign documentacaoPergunta = xPathSelector.selectSingleNode(rootElement).getStringValue() />
157 <#else>
158 <#assign documentacaoPergunta =''>
159 </#if>
160
161 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='documentacao']") />
162 <#assign documentacao = xPathSelector.selectSingleNode(rootElement).getStringValue() />
163
164 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='QualOCustoPergunta']") />
165 <#if xPathSelector.selectSingleNode(rootElement)?has_content >
166 <#assign QualOCustoPergunta = xPathSelector.selectSingleNode(rootElement).getStringValue() />
167 <#else>
168 <#assign QualOCustoPergunta =''>
169 </#if>
170
171 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='QualOCusto']") />
172 <#assign QualOCusto = xPathSelector.selectSingleNode(rootElement).getStringValue() />
173
174 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='legislacaoPergunta']") />
175 <#if xPathSelector.selectSingleNode(rootElement)?has_content >
176 <#assign legislacaoPergunta = xPathSelector.selectSingleNode(rootElement).getStringValue() />
177 <#else>
178 <#assign legislacaoPergunta =''>
179 </#if>
180
181 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='legislacao']") />
182 <#assign legislacao = xPathSelector.selectSingleNode(rootElement).getStringValue() />
183
184 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='relatedServices']") />
185 <#if xPathSelector.selectSingleNode(rootElement)?has_content >
186 <#assign relatedServices = xPathSelector.selectSingleNode(rootElement).getStringValue() />
187 <#else>
188 <#assign relatedServices =''>
189 </#if>
190
191 <div class="col-md-10 col-md-offset-1">
192 <div style="padding-top:20px; padding-bottom:20px;">
193 <div class="row row-service_heading">
194 <div class="col-xs-12 col-md-1">
195 <#if (icon?trim?length > 0) >
196 <img style="width: 80px; height: 80px;" src="${icon}" alt="${titulo}"/>
197 <#else>
198 <div style="width: 80px; height: 80px;"></div>
199 </#if>
200 </div>
201 <div class="col-xs-12 col-md-11" style="display:flex; align-items:center;">
202 <div>
203 <h2 style="margin:0;">${titulo}</h2>
204 <h4 style="margin-top:10px">${subtitulo}</h4>
205 </div>
206 </div>
207 </div>
208 <div class="row">
209 <div class="col-xs-12 col-md-1">
210 </div>
211 <div class="col-xs-12 col-md-11 btn-service_request-outter">
212 <#if (btnText?trim?length > 0) >
213 <a href="${linkServico}"><button class="btn-primary btn-service_request">${btnText}</button></a>
214 <#else>
215 <a href="${linkServico}"><button class="btn-primary btn-service_request"><@liferay.language key="portal.content.template.servico.executar"/></button></a>
216 </#if>
217 </div>
218 </div>
219 </div>
220 <div aria-multiselectable="true" class="row" style="margin-bottom:20px;">
221 <div class="card" style="border: none; padding: 5px;">
222 <div class="card-header">
223 <p class="mb-0" style="padding-left: 20px; font-weight:bold;">
224 <a id="titleOne" class="serviceQuestion" data-toggle="collapse" data-parent="#accordion" href="#itemOne" aria-expanded="true" aria-controls="itemOne">
225 <i id="itemOneIcon" style="color:blue;" class="fa fa-arrow-circle-down" aria-hidden="true"></i>
226 ${(QuandoTenhoDeRequererPergunta?trim?length > 0)?then(QuandoTenhoDeRequererPergunta,'Quando tenho de requerer?')}
227 </a>
228 </p>
229 </div>
230 <div id="itemOne" class="collapse" role="tabpanel" aria-labelledby="headingOne" style="background-color:white;">
231 <div class="card-block">
232 ${QuandoTenhoDeRequerer}
233 </div>
234 </div>
235 </div>
236 <div class="card" style="border: none; padding: 5px;">
237 <div class="card-header">
238 <p class="mb-0" style="padding-left: 20px; font-weight:bold;">
239 <a id="titleTwo" class="serviceQuestion" data-toggle="collapse" data-parent="#accordion" href="#itemTwo" aria-expanded="true" aria-controls="itemTwo">
240 <i id="itemTwoIcon" style="color:blue;" class="fa fa-arrow-circle-down" aria-hidden="true"></i>
241 ${(QuemPodeRequererPergunta?trim?length > 0)?then(QuemPodeRequererPergunta,'Quem pode requerer?')}
242 </a>
243 </p>
244 </div>
245 <div id="itemTwo" class="collapse" role="tabpanel" aria-labelledby="headingOne" style="background-color:white;">
246 <div class="card-block">
247 ${QuemPodeRequerer}
248 </div>
249 </div>
250 </div>
251 <div class="card" style="border: none; padding: 5px;">
252 <div class="card-header">
253 <p class="mb-0" style="padding-left: 20px; font-weight:bold;">
254 <a id="titleThree" class="serviceQuestion" data-toggle="collapse" data-parent="#accordion" href="#itemThree" aria-expanded="true" aria-controls="itemThree">
255 <i id="itemThreeIcon"style="color:blue;" class="fa fa-arrow-circle-down" aria-hidden="true"></i>
256 ${(OndePossoRequererPergunta?trim?length > 0)?then(OndePossoRequererPergunta,'Onde posso requerer?')}
257 </a>
258 </p>
259 </div>
260 <div id="itemThree" class="collapse" role="tabpanel" aria-labelledby="headingOne" style="background-color:white;">
261 <div class="card-block">
262 ${OndePossoRequerer}
263 </div>
264 </div>
265 </div>
266 <div class="card" style="border: none; padding: 5px;">
267 <div class="card-header">
268 <p class="mb-0" style="padding-left: 20px; font-weight:bold;">
269 <a id="titleFour" class="serviceQuestion" data-toggle="collapse" data-parent="#accordion" href="#itemFour" aria-expanded="true" aria-controls="itemFour">
270 <i id="itemFourIcon" style="color:blue;" class="fa fa-arrow-circle-down" aria-hidden="true"></i>
271 ${(documentacaoPergunta?trim?length > 0)?then(documentacaoPergunta,'Que documentos são necessários?')}
272 </a>
273 </p>
274 </div>
275 <div id="itemFour" class="collapse" role="tabpanel" aria-labelledby="headingOne" style="background-color:white;">
276 <div class="card-block">
277 ${documentacao}
278 </div>
279 </div>
280 </div>
281 <div class="card" style="border: none; padding: 5px;">
282 <div class="card-header">
283 <p class="mb-0" style="padding-left: 20px; font-weight:bold;">
284 <a id="titleFive" class="serviceQuestion" data-toggle="collapse" data-parent="#accordion" href="#itemFive" aria-expanded="true" aria-controls="itemFive">
285 <i id="itemFiveIcon" style="color:blue;" class="fa fa-arrow-circle-down" aria-hidden="true"></i>
286 ${(QualOCustoPergunta?trim?length > 0)?then(QualOCustoPergunta,'Qual o custo?')}
287 </a>
288 </p>
289 </div>
290 <div id="itemFive" class="collapse" role="tabpanel" aria-labelledby="headingOne" style="background-color:white;">
291 <div class="card-block">
292 ${QualOCusto}
293 </div>
294 </div>
295 </div>
296 <div class="card" style="border: none; padding: 5px;">
297 <div class="card-header">
298 <p class="mb-0" style="padding-left: 20px; font-weight:bold;">
299 <a id="titleSix" class="serviceQuestion" data-toggle="collapse" data-parent="#accordion" href="#itemSix" aria-expanded="true" aria-controls="itemSix">
300 <i id="itemSixIcon" style="color:blue;" class="fa fa-arrow-circle-down" aria-hidden="true"></i>
301 ${(legislacaoPergunta?trim?length > 0)?then(legislacaoPergunta,'Qual a legislação aplicável?')}
302 </a>
303 </p>
304 </div>
305 <div id="itemSix" class="collapse" role="tabpanel" aria-labelledby="headingOne" style="background-color:white;">
306 <div class="card-block">
307 ${legislacao}
308 </div>
309 </div>
310 </div>
311 </div>
312 </div>
313
314 </#if>
315
316 </div>
317 <div class="row" style="padding-top:30px;">
318
319 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
320 <#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
321 <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(entry.getEntryId()) />
322
323 <#list currentArticleRelatedLinks as related_entry>
324 <#assign relatedAssetEntryId = related_entry.getEntryId2() />
325 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
326 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
327 <#assign relatedArticle = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) />
328 <#assign relatedArticleId = relatedArticle.getArticleId() />
329
330 <#assign document = saxReaderUtil.read(relatedArticle.getContent()) />
331 <#assign rootElement = document.getRootElement() />
332
333 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Titulo']") />
334 <#assign titulo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
335
336 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Resumo']") />
337 <#assign resumo = xPathSelector.selectSingleNode(rootElement).getStringValue() />
338
339 <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Icon']") />
340 <#assign icon = xPathSelector.selectSingleNode(rootElement).getStringValue() />
341
342 <div class="col-md-10 col-md-offset-1" style="padding-top:30px;">
343 <h4 style="margin:0; padding-bottom:20px;">${(relatedServices?trim?length > 0)?then(relatedServices,'Serviços Relacionados')}</h4>
344 <div class="row" style="padding-bottom:15px;display: -webkit-box;display: -webkit-flex;display: -ms-flexbox;display: flex;">
345 <div class="col-md-1">
346 <#if (icon?trim?length > 0) >
347 <img style="width: 80px; height: 80px;" src="${icon}" alt="${titulo}"/>
348 <#else>
349 <div style="width: 80px; height: 80px;"></div>
350 </#if>
351 </div>
352 <div class="col-md-11" style="display:flex; align-items:center;">
353 <div>
354 <a href="${familyRedirect}?articleId=${relatedAssetEntry.getEntryId()}"><h4 style="margin:0;">${titulo}</h4></a>
355 <p style="margin-top:10px;">${resumo}</p>
356 </div>
357 </div>
358 </div>
359 </div>
360 </#list>
361
362 </div>
363
364 <#else>
365 <script>
366 window.location = window.location.href.split("?")[0];
367 </script>
368 </#if>
369</#if>
370
371<script>
372$('.serviceQuestion').click(function(e) {
373 var elementId = $(this).attr("id");
374 var changeElementId = $("#" + elementId + " .fa")[0].id;
375
376 $("#" + changeElementId).toggleClass('fa-arrow-circle-down');
377 $("#" + changeElementId).toggleClass('fa-arrow-circle-up');
378});
379</script>