Comunicazione ai fornitori - Evoluzione Sistema Socio Sanitario Lombardo - L.R. 23/2015
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> parts[2] [in template "192914#192948#141954" at line 262, column 22] ---- 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 groupId = parts[2]?number [in template "192914#192948#141954" in function "getDlFileEntry" at line 262, column 5] - Reached through: #assign file = getDlFileEntry(node.ge... [in template "192914#192948#141954" at line 169, column 21] ----
1<#assign groupService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")>
2<#-- Get themeDisplay -->
3<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() />
4<#assign themeDisplay = serviceContext.getThemeDisplay() />
5
6<#-- Data format -->
7<#setting time_zone = languageUtil.get(locale, "template-timezone") />
8<#assign originalLocale = locale />
9<#setting locale = localeUtil.getDefault() />
10<#assign displayDate = .vars['reserved-article-modified-date'].data />
11<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z") />
12<#setting locale = originalLocale />
13<#assign displayDateDay = displayDate?string("dd") />
14<#assign displayDateMonth = displayDate?string("MM") />
15<#assign displayDateYear = displayDate?string("YYYY") />
16
17<#-- Get info File -->
18<#assign dLFileLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
19<#assign textFormatter = staticUtil["com.liferay.portal.kernel.util.TextFormatter"]>
20
21<#-- Get Category -->
22<#assign vocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
23<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
24<#assign categoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")>
25<#assign catpropertyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") />
26<#assign vocabularyDoc = vocabularyService.getGroupVocabulary(groupId, "Tipo Documento") />
27<#if vocabularyService.fetchGroupVocabulary(groupId, "Tipo Produttore")?? >
28<#assign vocabularyTipoProduttore = vocabularyService.getGroupVocabulary(groupId, "Tipo Produttore") />
29</#if>
30<#assign vocabularyHoncode = vocabularyService.getGroupVocabulary(groupId, "Honcode") />
31<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
32 <#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() />
33<#assign categoryList=categoryService.getCategories("com.liferay.journal.model.JournalArticle",currentArticleResourcePrimKey) >
34
35<#-- Get Tag -->
36<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
37<#assign assetTagLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetTagLocalService")>
38
39<#assign arcaLocalService = serviceLocator.findService("it.arca.service.service.ArcaLocalService") />
40<#assign classeColore = arcaLocalService.getSelettoreCss(.vars['reserved-article-id'].data,'0') />
41<#assign arcaSezioniBackgroundcolorCss = 'arca-sezioni-backgroundcolor-' + classeColore />
42<#assign arcaSezioniColorCss = 'arca-sezioni-color-' + classeColore />
43<#assign arcaSezioniBorderColorCss = 'arca-sezioni-bordercolor-' + classeColore />
44<#assign arcaSezioniHrcolor = 'arca-sezioni-hrcolor-' + classeColore />
45
46<div class="detail row">
47 <div class="col-md-10 col-md-offset-1">
48 <div class="row">
49 <div class="col-md-6 col-md-offset-3">
50 <#if titolo?has_content && titolo.getData() !=''>
51 <h1 class="hr text-center ${arcaSezioniColorCss} ${arcaSezioniHrcolor}">
52 ${titolo.getData()}
53 </h1>
54 </#if>
55 <h2 class="type text-center">
56 <#list categoryList as categoryList>
57 <#if categoryList.vocabularyId == vocabularyDoc.vocabularyId>
58 <span class="category">${categoryList.getName()}</span>
59 </#if>
60 </#list>
61 </h2>
62 <h2 class="type text-center dettaglio-tipo-produttore">
63 <#if vocabularyTipoProduttore?? >
64 <#list categoryList as categoryList>
65 <#if categoryList.vocabularyId == vocabularyTipoProduttore.vocabularyId>
66 <span class="category">${categoryList.getName()}</span>
67 </#if>
68 </#list>
69 </#if>
70 </h2>
71 </div>
72 </div>
73
74 <#if
75 (numeroProtocolloDocumento?? && numeroProtocolloDocumento.getData() != '') ||
76 (descrizione?? && descrizione.getData() != '')>
77 <div class="well dettaglio-asset-documento">
78 <#if numeroProtocolloDocumento?? && numeroProtocolloDocumento.getData() !=''>
79 <p class="dettaglio-numero-protocollo"><strong>Numero Protocollo: </strong>
80 ${numeroProtocolloDocumento.getData()}
81 </p>
82 </#if>
83
84 <#if descrizione?? && descrizione.getData() !='' >
85 <#if getterUtil.getBoolean(descrizione.flAccordionDescrizione.getData() == "true") >
86 <#assign descrLength = descrizione.getData()?length />
87
88
89 <div class="eus-read-more module">
90 <div role="heading" class="collapse" id="${themeDisplay.getPortletDisplay().getId()}_collapseExample" aria-expanded="false">
91 <div id="${themeDisplay.getPortletDisplay().getId()}_id-arca-shadow" class="arca-shadow"></div>
92 <p>${descrizione.getData()}</p>
93 </div>
94 <a role="button" class="${arcaSezioniColorCss} collapsed ${themeDisplay.getPortletDisplay().getId()}_lastLink lastLink" data-toggle="collapse" href="#${themeDisplay.getPortletDisplay().getId()}_collapseExample" aria-expanded="false" aria-controls="${themeDisplay.getPortletDisplay().getId()}_collapseExample"></a>
95 </div>
96
97
98 <#else>
99 <div class="eus-read-more">
100 <p>${descrizione.getData()}</p>
101 </div>
102 </#if>
103 </#if>
104
105 </div>
106 </#if>
107
108 <#if (codiceDocumento?? && codiceDocumento.getData() !='') ||
109 (dataDocumento?? && dataDocumento.getData() !='') ||
110 (revisioneDocumento?? && revisioneDocumento.getData() != '') ||
111 (descrizione?? && descrizione.getData() != '') >
112 <div class="well dettaglio-asset-documento-aziendale">
113 <#if codiceDocumento?? && codiceDocumento.getData() !=''>
114 <p class="dettaglio-codice-documento"><strong>Codice: </strong>
115 ${codiceDocumento.getData()}
116 </p>
117 </#if>
118 <#if dataDocumento?? && dataDocumento.getData() !=''>
119 <#assign dataDocumento_DateObj = dateUtil.parseDate("yyyy-MM-dd", dataDocumento.getData(), locale)>
120
121
122 <p class="dettaglio-data-documento"><strong>Data: </strong>
123 ${dateUtil.getDate(dataDocumento_DateObj, "dd/MM/yyyy", locale)}
124 </p>
125 </#if>
126
127 <#if revisioneDocumento?? && revisioneDocumento.getData() !=''>
128 <p class="dettaglio-revisione-documento"><strong>Revisione: </strong>
129 ${revisioneDocumento.getData()}
130 </p>
131 </#if>
132
133
134 <#if descrizione?? && descrizione.getData() !=''>
135 <#if getterUtil.getBoolean(descrizione.flAccordionDescrizione.getData() == "true") >
136 <#assign descrLength = descrizione.getData()?length />
137
138
139 <div class="eus-read-more module">
140 <div role="heading" class="collapse" id="${themeDisplay.getPortletDisplay().getId()}_collapseExample" aria-expanded="false">
141 <div id="${themeDisplay.getPortletDisplay().getId()}_id-arca-shadow" class="arca-shadow"></div>
142 <p>${descrizione.getData()}</p>
143 </div>
144 <a role="button" class="${arcaSezioniColorCss} collapsed ${themeDisplay.getPortletDisplay().getId()}_lastLink lastLink" data-toggle="collapse" href="#${themeDisplay.getPortletDisplay().getId()}_collapseExample" aria-expanded="false" aria-controls="${themeDisplay.getPortletDisplay().getId()}_collapseExample"></a>
145 </div>
146
147
148 <#else>
149 <div class="eus-read-more">
150 <p>${descrizione.getData()}</p>
151 </div>
152 </#if>
153 </#if>
154
155
156 </div>
157 </#if>
158
159 <#if tagList??>
160 <div class="tags">
161 <#list tagList as tagList>
162 <span class="tag">${tagList.getName()}</span>
163 </#list>
164 </div>
165 </#if>
166 <ul class="download">
167 <#if documentoAllegato.getData() !=''>
168 <#list documentoAllegato.getSiblings() as node>
169 <#assign file=getDlFileEntry(node.getData()) />
170 <li>
171 <a href="${node.getData()}">${file.getTitle()}</a>
172 <span> - ${file.getExtension()} ${textFormatter.formatStorageSize(file.size, locale)}</span>
173 </li>
174 </#list>
175 </#if>
176 </ul>
177 <div class="honcode">
178 <div class="row">
179 <div class="col-md-7">
180 <#list categoryList as categoryList>
181 <#if categoryList.vocabularyId == vocabularyHoncode.vocabularyId>
182 Responsabile della pubblicazione: ${categoryList.getName()}
183 </#if>
184 </#list>
185 </div>
186 <div class="col-md-5 text-right">
187 Ultimo aggiornamento: ${displayDateDay}/${displayDateMonth}/${displayDateYear}
188 </div>
189 </div>
190 <#if Separatorefvnw.noteHONcode.getData() !=''>
191 <div class="row note">
192 <div class="col-md-12">
193 <p><strong>NOTE: </strong>${Separatorefvnw.noteHONcode.getData()}</p>
194 </div>
195 </div>
196 </#if>
197 </div>
198
199 </div>
200</div>
201
202<script>
203 AUI().use('aui-base', function(A) {
204 if(A.one('.text .accordion')){
205
206 var allps = A.one('.text .accordion').all('p');
207 var pHeight = 0;
208
209 if(allps){
210
211 allps.each(function(p){
212 pHeight = pHeight + p.height();
213 });
214
215 if(pHeight > 170){
216 A.one(".text .icon-angle-down").show();
217 }else{
218 A.one(".text .icon-angle-down").hide();
219 }
220 }
221
222 A.one(".text .icon-angle-down").on('click', function(event) {
223 A.one(".accordion").setStyle('height', 'auto');
224 A.one(".text .icon-angle-down").hide();
225 A.one(".text .icon-angle-up").show();
226 A.one(".text .gradient").hide();
227 });
228 A.one(".text .icon-angle-up").on('click', function(event) {
229 A.one(".accordion").setStyle('height', '190px');
230 A.one(".text .icon-angle-down").show();
231 A.one(".text .icon-angle-up").hide();
232 A.one(".text .gradient").show();
233 });
234 }
235 });
236</script>
237<script>
238$(document).ready(function() {
239
240 var idCollapseExample = '#${themeDisplay.getPortletDisplay().getId()}_collapseExample';
241 var idArcaShadow = '#${themeDisplay.getPortletDisplay().getId()}_id-arca-shadow';
242 var lastLink = '.${themeDisplay.getPortletDisplay().getId()}_lastLink';
243
244 if ($(idCollapseExample) && $(idCollapseExample)[0] && $(idCollapseExample)[0].scrollHeight && $(idCollapseExample).innerHeight() )
245 {
246 if ($(idCollapseExample)[0].scrollHeight > $(idCollapseExample).innerHeight()) {
247 //$('#id-arca-shadow').show();
248 //$('#lastLink').show();
249 }
250 else
251 {
252 $(idArcaShadow).hide();
253 $(lastLink).hide();
254 $(idCollapseExample).removeClass("collapse");
255 }
256 }
257 })
258</script>
259
260<#function getDlFileEntry url>
261 <#assign parts=url?string?split("/") />
262 <#assign groupId=parts[2]?number />
263 <#assign uuid=parts[5]?string?split("?")[0] />
264 <#assign dlFileEntry=dLFileLocalService.fetchDLFileEntryByUuidAndGroupId(uuid, groupId)! />
265 <#return dlFileEntry />
266</#function>