Pubblicato il 30.07.2015
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> parts[4] [in template "10131#10164#1317515" at line 47, column 39] ---- Tip: It's the final [] step that caused this error, not those before it. ---- 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 doc_name = parts[4] [in template "10131#10164#1317515" at line 47, column 21] ----
1<div class="corso">
2 <div class="titolo">
3 <h1>${Head.data}</h1>
4 <h2>${Subtitle.data}</h2>
5 </div>
6 <hr/>
7 <div class="attivita">
8 <div class="columns">
9 <h3>Descrizione</h3>
10 <p>${Content.data}</p>
11 </div>
12 </div>
13 <hr/>
14 <div class="container" style="display: flex;">
15 <div class="eight columns alpha">
16 <h3>Destinatari</h3>
17 <p>${Destinatari.data}</p>
18 </div>
19 <div class="four columns omega" style="text-align: right;">
20 <h3>Data di scadenza</h3>
21 <p>${DataDiScadenza.data}</p>
22 </div>
23 </div>
24 <hr/>
25 <div class="attivita">
26 <div class="columns">
27 <h3>Contatti dell‘ufficio di riferimento</h3>
28 <p><strong>Tel.:</strong> ${Telefono.data}<br>
29 <strong>E-mail:</strong> ${Email.data}</p>
30 </div>
31 </div>
32 <#--ALLEGATI-->
33 <#if FileGroup??>
34 <hr/>
35 <div class="container">
36 <#if FileGroup.getSiblings()?has_content>
37 <#list FileGroup.getSiblings() as group>
38 <#if group.data != "" && group.File.getSiblings()?has_content>
39 <div class="esperienze">
40 <span>${group.data}</span>
41 <ul>
42 <#list group.File.getSiblings() as f>
43 <#assign url=f.getData() />
44 <#assign parts=stringUtil.split(url, "/") />
45 <#assign group_id=getterUtil.getLong(parts[2]) />
46 <#assign folder_id=getterUtil.getLong(parts[3]) />
47 <#assign doc_name=parts[4] />
48 <#assign doc_type=stringUtil.extractLast(doc_name, ".") />
49
50 <li>
51 <a href="${url}">
52 <#assign iconurl="${themeDisplay.getPathThemeImages()}/file_system/small/" + doc_type + ".png" />
53 <img class="icon" src="${iconurl}" alt=""/>
54 <strong>${f.FileTitle.data}</strong><br/>
55 <span>${doc_name}<span><br/>
56 <strong>Descrizione:</strong> ${f.FileDescription.data}</a>
57 </li>
58
59 </#list>
60 </ul>
61 </div>
62 </#if>
63 </#list>
64 </#if>
65 </div>
66 </#if>
67 <#-- ISCRIZIONE NOTIFICHE BANDO -->
68 <div class="container">
69 <div class="attivita">
70 <p>Clicca sul pulsante sottostante se desideri ricevere una e-mail di notifica ogni volta che il bando viene aggiornato:</p>
71 </div>
72 <div class="four columns omega barra">
73 <#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") />
74 <#assign userId = themeDisplay.getUserId() />
75 <#assign user = userLocalService.getUserById(userId) />
76 <#assign emailAddress=user.emailAddress />
77 <#assign bandoId=.vars['reserved-article-id'].data />
78 <div class="status">
79 <#--# <span><a href="/iscrizione-notifiche-bando?email=${emailAddress}&id_user=${userId}&id_bando=${bandoId}&id_group=${groupId}" class="highlightit">ISCRIVITI</a></span-->
80 <span><a href="/iscrizione-notifiche-bando?id_bando=${bandoId}&id_group=${groupId}" class="highlightit">RICEVI LE NOTIFICHE</a></span>
81 </div>
82 </div>
83 </div>
84</div>