Estrutura Organizacional

Um erro ocorreu enquanto processava o modelo.
Denied access to method or field getCookies of class io.undertow.servlet.spec.HttpServletRequestImpl

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if request?? && request.getCookies()??  [in template "20098#20124#1609341" at line 6, column 1]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
3 
4<#assign isFormEnabled = false /> 
5<#assign ddmFormInstanceRecordId = "" /> 
6<#if request?? && request.getCookies()??> 
7	<#assign cookies = request.getCookies() /> 
8<#else> 
9	<#assign cookies = [] /> 
10</#if> 
11<#list cookies as cookie> 
12	<#if cookie.getName() == "GUEST_LANGUAGE_ID"> 
13		<#assign GUEST_LANGUAGE_ID = cookie.getValue() /> 
14	</#if> 
15</#list> 
16 
17<div class="organograma"> 
18  <#if entries?has_content && (entries?size > 3)> 
19 
20    <#--  BANNER  --> 
21    <#assign sort_modified_date = entries?sort_by("modifiedDate")?reverse /> 
22    <div class="card template-card-horizontal no-print"> 
23      <div class="card-body"> 
24        <div class="row no-gutters h-100"> 
25          <div class="col-xs-5 col-lg-4 bg-green d-flex align-items-center"> 
26            <div class="content"> 
27              <h3>Organograma</h3> 
28              <h6 title="${sort_modified_date[0].getTitle(locale)}">Atualizado em ${sort_modified_date?first.getModifiedDate()?date}</h6> 
29            </div> 
30          </div> 
31          <div class="col-xs-2 col-lg-2 triangulo-bg"> 
32            <@triangulosAntt /> 
33          </div> 
34          <div class="col-xs-5 col-lg-6 align-self-center text-right"> 
35            <img  
36              src="${themeDisplay.getPathThemeImages()}/logo_antt_white.svg"  
37              alt="Logo Antt"  
38              title="Logo Antt"  
39              width="170" 
40              class="logo Branca" 
41            /> 
42          </div> 
43        </div> 
44      </div> 
45    </div> 
46     
47    <#--  NAVEGAÇÃO  --> 
48    <div class="d-none d-lg-flex row no-gutters align-items-center bg-primary navigation no-print"> 
49      <div class="col-md-10"> 
50        <ul class="nav nav-tabs" role="tablist"> 
51          <li class="nav-item"> 
52            <a 
53              aria-controls="simplificado" 
54              aria-expanded="true" 
55              class="nav-link" 
56              data-toggle="tab" 
57              href="#simplificado" 
58              id="simplificadoTab" 
59              role="tab" 
60
61              <i class="fas fa-sitemap"></i> 
62              <h5>Ver organograma simplificado</h5> 
63            </a> 
64          </li> 
65          <li class="nav-item"> 
66            <a 
67              aria-controls="completo" 
68              class="active nav-link" 
69              data-toggle="tab" 
70              href="#completo" 
71              id="completoTab" 
72              role="tab" 
73
74              <i class="fas fa-sitemap"></i> 
75              <h5>Ver organograma completo</h5> 
76            </a> 
77            <button class="btn nav-link" id="print" type="button"> 
78              <i class="fas fa-print"></i> 
79              <h5>Imprimir</h5> 
80            </button> 
81          </li> 
82        </ul> 
83      </div> 
84      <div class="col-md-2 text-right"> 
85        <button class="btn btn-monospaced active" type="button">PORT</button> 
86        <button class="btn btn-monospaced" href="/c/portal/update_language?p_l_id=54&amp;redirect=%2Fweb%2Fguest%2Festrutura-organizacional&amp;languageId=en_US" target="_self" class="lfr-icon-item taglib-icon focus" type="button">ENG</button> 
87      </div>       
88    </div> 
89 
90    <div class="tab-content"> 
91      <div 
92        aria-labelledby="simplificadoTab" 
93        class="organograma-simple fade tab-pane" 
94        id="simplificado" 
95        role="tabpanel" 
96
97        <#--  ORGANOGRAMA SIMPLIFICADO  --> 
98        <#--  RAIZ  --> 
99        <#assign assetRendererFirst = entries?first.getAssetRenderer() /> 
100        <#assign docXmlFirst = saxReaderUtil.read(assetRendererFirst.getArticle().getContent()) /> 
101        <#assign rootFirst = docXmlFirst.getRootElement() /> 
102        <#assign nivel_2_listXml = rootFirst.selectNodes("//dynamic-element[@name='nivel_2_sigla']") /> 
103        <#assign legendaList = [] /> 
104 
105        <img  
106          src="${themeDisplay.getPathThemeImages()}/logo_antt.svg"  
107          alt="Logo Antt"  
108          title="Logo Antt" 
109          width="118" 
110          class="logo absolute no-print" 
111        /> 
112 
113        <div class="row raiz  has_${entries?size-5}_child"> 
114          <div class="col-6 diretoria-colegiada"> 
115            <div class="row"> 
116              <div class="col-3 offset-3"> 
117                <div class="block nivel-1-item"> 
118                  <fieldset>${entries?first.getTitle(locale)}</fieldset> 
119                </div> 
120              </div> 
121            </div> 
122 
123            <#if nivel_2_listXml?has_content> 
124              <div class="row"> 
125                <#if (nivel_2_listXml?size > 3 )> 
126                  <#list nivel_2_listXml[0..2] as nivel_2Xml> 
127                    <#assign sigla = nivel_2Xml.elementText("dynamic-content") /> 
128                    <#assign nivel_3_listXml = nivel_2Xml.selectNodes("dynamic-element[@name='nivel_3_sigla']") /> 
129 
130                    <div class="col-3"> 
131                      <div class="block nivel-2-item"> 
132                        <fieldset>${sigla}</fieldset> 
133                      </div> 
134                      <#if nivel_3_listXml?has_content> 
135                        <ul> 
136                          <#list nivel_3_listXml as nivel_3Xml> 
137                            <#assign sigla_nivel_3 = nivel_3Xml.elementText("dynamic-content") /> 
138                            <#if sigla_nivel_3 != ""> 
139                              <li class="block nivel-3-item"> 
140                                <fieldset>${sigla_nivel_3}</fieldset> 
141                              </li> 
142                            </#if> 
143                          </#list> 
144                        </ul> 
145                      </#if> 
146                    </div> 
147                  </#list> 
148                  <div class="col-3"> 
149                    <#list nivel_2_listXml[3..] as nivel_2Xml> 
150                      <#assign sigla = nivel_2Xml.elementText("dynamic-content") /> 
151                      <#assign nivel_3_listXml = nivel_2Xml.selectNodes("dynamic-element[@name='nivel_3_sigla']") /> 
152 
153                      <div class="block nivel-2-item"> 
154                        <fieldset>${sigla}</fieldset> 
155                      </div> 
156                      <#if nivel_3_listXml?has_content> 
157                        <ul> 
158                          <#list nivel_3_listXml as nivel_3Xml> 
159                            <#assign sigla_nivel_3 = nivel_3Xml.elementText("dynamic-content") /> 
160                            <#if sigla_nivel_3 != ""> 
161                              <li class="block nivel-3-item"> 
162                                <fieldset>${sigla_nivel_3}</fieldset> 
163                              </li> 
164                            </#if> 
165                          </#list> 
166                        </ul> 
167                      </#if>                   
168                    </#list> 
169                  </div> 
170                <#else> 
171                  <#list nivel_2_listXml as nivel_2Xml> 
172                    <#assign sigla = nivel_2Xml.elementText("dynamic-content") /> 
173                    <#assign nivel_3_listXml = nivel_2Xml.selectNodes("dynamic-element[@name='nivel_3_sigla']") /> 
174                    <div class="col-3"> 
175                      <div class="block nivel-2-item"> 
176                        <fieldset>${sigla}</fieldset> 
177                      </div> 
178                      <#if nivel_3_listXml?has_content> 
179                        <ul> 
180                          <#list nivel_3_listXml as nivel_3Xml> 
181                            <#assign sigla_nivel_3 = nivel_3Xml.elementText("dynamic-content") /> 
182                            <#if sigla_nivel_3 != ""> 
183                              <li class="block nivel-3-item"> 
184                                <fieldset>${sigla_nivel_3}</fieldset> 
185                              </li> 
186                            </#if> 
187                          </#list> 
188                        </ul> 
189                      </#if> 
190                    </div> 
191                  </#list> 
192                </#if> 
193              </div> 
194 
195              <#list nivel_2_listXml as nivel_2Xml> 
196                <#assign legenda = { 
197                  "sigla": nivel_2Xml.elementText("dynamic-content"),  
198                  "nome": nivel_2Xml.valueOf("dynamic-element[@name='nivel_2_nome']/dynamic-content[@language-id='pt_BR']/text()") 
199                } /> 
200                <#assign legendaList = legendaList + [legenda] /> 
201              </#list> 
202            </#if> 
203          </div> 
204 
205          <#--  PRIMEIRA LINHA DIREITA: FILHAS DE DIRETORIA-GERAL  --> 
206          <div class="col-6 diretoria-geral"> 
207            <div class="row"> 
208              <div class="col-4 offset-dg offset-dg-${entries?size-5}"> 
209                <div class="block nivel-1-item"> 
210                  <fieldset>${entries[1].getTitle(locale)}</fieldset> 
211                </div> 
212              </div> 
213            </div> 
214            <#if (entries?size > 3)> 
215              <div class="row has_${entries?size-5}_child"> 
216                <#list entries[2..3] as curEntry> 
217                  <#assign assetRenderer = curEntry.getAssetRenderer() /> 
218                  <#assign docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent()) /> 
219                  <#assign sigla = docXml.valueOf("//dynamic-element[@name='sigla']/dynamic-content[@language-id='pt_BR']/text()") /> 
220                  <#assign nome = docXml.valueOf("//dynamic-element[@name='nome']/dynamic-content[@language-id='pt_BR']/text()") /> 
221                  <#assign root = docXml.getRootElement() /> 
222                  <#assign nivel_2_listXml = root.selectNodes("//dynamic-element[@name='nivel_2_sigla']") /> 
223                   
224                  <div class="col-3 ${curEntry?is_first?then('offset-3','')}"> 
225                    <div class="block nivel-2-item" title="${nome}"> 
226                      <fieldset>${sigla}</fieldset> 
227                    </div> 
228 
229                    <#if nivel_2_listXml?has_content && nivel_2_listXml[0].elementText("dynamic-content") != ""> 
230                      <ul> 
231                        <#list nivel_2_listXml as nivel_2Xml> 
232                          <#assign sigla_nivel_2 = nivel_2Xml.elementText("dynamic-content") /> 
233                          <#assign nivel_2_nome = nivel_2Xml.valueOf("dynamic-element[@name='nivel_2_nome']/dynamic-content[@language-id='pt_BR']/text()") /> 
234                         
235                          <#assign legenda = { 
236                            "sigla": sigla_nivel_2,  
237                            "nome": nivel_2_nome 
238                          } /> 
239                          <#assign legendaList = legendaList + [legenda] /> 
240 
241                          <li class="block nivel-3-item"> 
242                            <fieldset>${sigla_nivel_2}</fieldset> 
243                          </li> 
244                        </#list> 
245                      </ul> 
246                    </#if> 
247                  </div> 
248 
249                  <#assign legenda = { 
250                    "sigla": sigla,  
251                    "nome": nome 
252                  } /> 
253                  <#assign legendaList = legendaList + [legenda] /> 
254                </#list> 
255              </div> 
256            </#if> 
257          </div> 
258        </div> 
259 
260        <#--  SEGUNDA LINHA: FILHAS DE DIRETORIA-GERAL  --> 
261        <#if (entries?size > 3)> 
262          <div class="row nivel-2-generico has_${entries?size-5}_child"> 
263            <#list entries[4..] as curEntry> 
264              <#if curEntry?has_next> 
265                <#assign assetRenderer = curEntry.getAssetRenderer() /> 
266                <#assign docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent()) /> 
267                <#assign sigla = docXml.valueOf("//dynamic-element[@name='sigla']/dynamic-content[@language-id='pt_BR']/text()") /> 
268                <#assign nome = docXml.valueOf("//dynamic-element[@name='nome']/dynamic-content[@language-id='pt_BR']/text()") /> 
269                <#assign root = docXml.getRootElement() /> 
270                <#assign nivel_2_listXml = root.selectNodes("//dynamic-element[@name='nivel_2_sigla']") /> 
271 
272                <div class="col"> 
273                  <div class="block nivel-2-item"> 
274                    <fieldset>${sigla}</fieldset> 
275                  </div> 
276 
277                  <#if nivel_2_listXml?has_content && nivel_2_listXml[0].elementText("dynamic-content") != ""> 
278                    <ul> 
279                      <#list nivel_2_listXml as nivel_2Xml> 
280                        <#assign sigla_nivel_2 = nivel_2Xml.elementText("dynamic-content") /> 
281                        <#assign nome_nivel_2 = nivel_2Xml.valueOf("dynamic-element[@name='nivel_2_nome']/dynamic-content[@language-id='pt_BR']/text()") /> 
282 
283                        <li class="block nivel-3-item"> 
284                          <fieldset>${sigla_nivel_2}</fieldset> 
285                        </li> 
286 
287                        <#assign legenda = { 
288                          "sigla": sigla_nivel_2,  
289                          "nome": nome_nivel_2 
290                        } /> 
291                        <#assign legendaList = legendaList + [legenda] /> 
292                      </#list> 
293                    </ul> 
294                  </#if> 
295                </div> 
296 
297                <#assign legenda = { 
298                  "sigla": sigla,  
299                  "nome": nome 
300                } /> 
301                <#assign legendaList = legendaList + [legenda] />           
302              </#if> 
303            </#list> 
304          </div> 
305 
306          <#--  TERCEIRA E QUARTA LINHA: UNIDADES REGIONAIS --> 
307          <#assign assetRendererLast = entries?last.getAssetRenderer() /> 
308          <#assign docXmlLast = saxReaderUtil.read(assetRendererLast.getArticle().getContent()) /> 
309          <#assign rootLast = docXmlLast.getRootElement() /> 
310          <#assign lastList = rootLast.selectNodes("//dynamic-element[@name='sigla']") /> 
311 
312          <div class="row ur"> 
313            <div class="col offset-ur"> 
314              <div class="block nivel-2-item"> 
315                <fieldset>${entries?last.getTitle(locale)}</fieldset> 
316              </div>         
317            </div> 
318          </div> 
319 
320          <#if lastList?has_content> 
321            <div class="row ur"> 
322              <#list lastList as itemXml> 
323                <#assign item = itemXml.elementText("dynamic-content") /> 
324                <#assign nome = itemXml.valueOf("dynamic-element[@name='nome']/dynamic-content[@language-id='pt_BR']/text()") /> 
325 
326                <div class="col"> 
327                  <div class="block nivel-3-item"> 
328                    <fieldset>${item}</fieldset> 
329                  </div> 
330                </div> 
331 
332                <#assign legenda = { 
333                  "sigla": item,  
334                  "nome": nome 
335                } /> 
336                <#assign legendaList = legendaList + [legenda] /> 
337              </#list> 
338            </div> 
339          </#if> 
340        </#if> 
341 
342        <#--  LEGENDA  --> 
343        <div class="bg-primary text-right separator no-print"> 
344          <img  
345            src="${themeDisplay.getPathThemeImages()}/logo_antt.svg"  
346            alt="Logo Antt"  
347            title="Logo Antt" 
348            width="118" 
349            class="logo" 
350          /> 
351        </div> 
352 
353        <#if legendaList?has_content> 
354          <h5>Legenda</h5> 
355          <ul class="subtitle"> 
356            <#list legendaList?sort_by("sigla") as legenda> 
357              <li class="row"> 
358                <h6 class="col-2 m-0">${legenda.sigla}</h6> 
359                <small class="col-10">${legenda.nome}</small> 
360              </li> 
361            </#list> 
362          </ul> 
363        </#if> 
364      </div> 
365       
366      <#--  ORGANOGRAMA COMPLETO  --> 
367      <div 
368        aria-labelledby="completoTab" 
369        class="organograma-full active fade show tab-pane" 
370        id="completo" 
371        role="tabpanel" 
372
373        <#list entries as curEntry> 
374          <#assign asset = assetEntryLocalService.fetchEntry(curEntry.getEntryId()) /> 
375          <#assign webArticle = asset.getAssetRenderer().getArticle() /> 
376          ${journalArticleLocalService.getArticleContent(webArticle, webArticle.getDDMTemplateKey(), "VIEW", locale, model, themeDisplay)} 
377        </#list> 
378      </div> 
379    </div> 
380  <#else> 
381    <div class="bg-light text-center p-5"> 
382      <img  
383        src="/o/admin-theme/images/states/empty_state.gif"  
384        alt="Nenhum arquivo no momento"  
385        title="Vazio" 
386        class="mb-4" 
387
388      <p>Não há conteúdos o suficiente para montar o organograma.</p> 
389      <p>Só há ${entries?size} conteúdos na lista. Favor, selecione pelo menos 3 itens a serem exibidos.</p> 
390    </div> 
391  </#if> 
392 
393  <script> 
394    $(function () { 
395      $("[data-toggle='tooltip']").tooltip(); 
396    }); 
397  </script>   
398</div> 
399 
400<#macro triangulosAntt> 
401  <svg  
402    viewBox="0 0 293 168"  
403    fill="none"  
404    xmlns="http://www.w3.org/2000/svg" 
405
406    <path d="M195.75 168L98.8369 168L147.439 84.3643L195.75 168Z" /> 
407    <path d="M195.677 0L148.021 83.49C149.302 86.1127 150.931 86.477 151.586 86.3313L239.405 75.8404L195.677 0Z" /> 
408    <path d="M258.758 75.549L152.023 88.2255L194.659 162.026L258.758 75.549Z" /> 
409    <path d="M292.518 168H196.914C195.052 165.844 195.362 164.333 195.75 163.847L248.863 92.2324L292.518 168Z" /> 
410    <path d="M96.7676 6.77241e-06L193.681 1.52588e-05L145.079 83.6357L96.7676 6.77241e-06Z" /> 
411    <path d="M96.8404 168L144.497 84.51C143.216 81.8873 141.586 81.523 140.931 81.6687L53.1131 92.1596L96.8404 168Z" /> 
412    <path d="M33.7596 92.451L140.495 79.7745L97.859 5.97399L33.7596 92.451Z" /> 
413    <path d="M6.04392e-05 -1.70123e-06L95.6035 6.67047e-06C97.4661 2.15647 97.1557 3.66697 96.7676 4.15266L43.6546 75.7676L6.04392e-05 -1.70123e-06Z" /> 
414  </svg> 
415</#macro> 
416<style>@media print{ 
417  .page-title{ 
418    display: none; 
419
420}</style>