Avviso per n. 3 incarichi di lavoro autonomo Segretariato Congiunto del Programma Interreg IPA Italia-Albania-Montenegro (South Adriatic) 2021-2027
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing: ==> expandoBridge.getAttribute("dlFolderID") [in template "33878" at line 197, column 28] ---- Tip: If the failing expression is known to 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: idFolder = expandoBridge.getAttribute... [in template "33878" in macro "printMediaGallery" at line 197, column 17] - Reached through: @printMediaGallery items=parentStruct... [in template "33201#33237#179397" at line 143, column 21] ----
1<#-- Chiave del template globale "Utils" -->
2<#assign pathNewsList = "elenco-bandi">
3<#include "${templatesPath}/33878" />
4
5<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
6<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
7<#assign vocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")>
8<#assign AssetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService")>
9<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
10<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticle.getResourcePrimKey()) />
11
12<!-- VERIFICATE -->
13<#assign title = .vars['reserved-article-title'].data />
14<#assign urlTitle = .vars['reserved-article-url-title'].data />
15<#assign date = .vars['reserved-article-display-date'].data>
16<#assign dateTimeFormat = "dd MMMM yyyy">
17<#assign articleURL = themeDisplay.getURLPortal() + themeDisplay.getScopeGroup().getPathFriendlyURL(false, themeDisplay) + themeDisplay.getScopeGroup().getFriendlyURL() + "/-/" + urlTitle />
18
19<!-- DA VERIFICARE -->
20<#setting locale = localeUtil.getDefault()>
21<#assign notizieLandingPage = "#">
22<#if themeDisplay.getThemeSetting("notizie-landing-page")?has_content>
23 <#assign notizieLandingPage = themeDisplay.getThemeSetting("notizie-landing-page")>
24</#if>
25
26<div class="container">
27 <div class="row notizia">
28 <div class="col-md-8">
29 <div class="row">
30 <div class="col">
31 <h2 class="h1">${title}</h2>
32 <#if parentStructure.Sottotitolo.getData()?has_content>
33 <h2>${parentStructure.Sottotitolo.getData()}</h2>
34 </#if>
35
36 <#assign fromDate_Data = getterUtil.getString(fromDate.getData())>
37 <#assign toDate_Data = getterUtil.getString(toDate.getData())>
38
39
40 <#if validator.isNotNull(fromDate_Data) || validator.isNotNull(toDate_Data) >
41 <h3>Quando partecipare</h3>
42 <div class="date-bando">
43 <#if validator.isNotNull(fromDate_Data)>
44 <#assign fromDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", fromDate_Data, locale)>
45 dal <strong>${fromDate_Data?datetime("yyyy-MM-dd")?string(dateTimeFormat)}
46 <#assign fromDate_hour = fromDate.fromHour.getData() >
47 <#assign fromDate_minute = fromDate.fromMinute.getData() >
48 <#if fromDate_hour?has_content && fromDate_minute?has_content && fromDate_hour !="0" && fromDate_minute!="0">
49 <#if fromDate_hour == "0">
50 <#assign fromDate_hour = fromDate_hour + 0>
51 </#if>
52 <#if fromDate_hour?length == 1>
53 <#assign fromDate_hour = 0 + fromDate_hour >
54 </#if>
55
56 <#if fromDate_minute == "0">
57 <#assign fromDate_minute = fromDate_minute + 0>
58 </#if>
59 <#if fromDate_minute?length == 1>
60 <#assign fromDate_minute = 0 + fromDate_minute >
61 </#if>
62 - ${fromDate_hour}:${fromDate_minute}
63 </#if></strong>
64 </#if>
65 <br />
66 <#if validator.isNotNull(toDate_Data)>
67 <#assign toDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", toDate_Data, locale)>
68 <#assign toDate_hour = toDate.toHour.getData() >
69 <#assign toDate_minute = toDate.toMinute.getData() >
70 al <strong>${toDate_Data?datetime("yyyy-MM-dd")?string(dateTimeFormat)}
71
72 <#if toDate_hour?has_content && toDate_minute?has_content && toDate_hour !="0" && toDate_minute!="0">
73 <#if toDate_hour == "0">
74 <#assign toDate_hour = toDate_hour + 0>
75 </#if>
76 <#if toDate_hour?length == 1>
77 <#assign toDate_hour = 0 + toDate_hour >
78 </#if>
79
80 <#if toDate_minute == "0">
81 <#assign toDate_minute = toDate_minute + 0>
82 </#if>
83 <#if toDate_minute?length == 1>
84 <#assign toDate_minute = 0 + toDate_minute >
85 </#if>
86 - ${toDate_hour}:${toDate_minute}
87 </#if></strong>
88 </#if>
89 </div>
90 </#if>
91 </div>
92 </div>
93 <#if parentStructure.TestoNotizia?has_content>
94 <div class="row">
95 <div class="col">
96 <#if
97 parentStructure.principalImage?? &&
98 parentStructure.principalImage.getData()?? &&
99 parentStructure.principalImage.getData()?has_content &&
100 parentStructure.principalImage.getData() != "" &&
101 parentStructure.showImage.getData()?has_content &&
102 parentStructure.showImage.getData() != "hide">
103
104 <#assign class = "full-width-img" />
105 <#if parentStructure.showImage.getData() == "float">
106 <#assign class = "float-img" />
107 </#if>
108 <img alt="${parentStructure.principalImage.getAttribute("alt")}" src="${parentStructure.principalImage.getData()}" class="${class}" />
109 </#if>
110 <div class="news-description">
111 ${parentStructure.TestoNotizia.getData()}
112 </div>
113 </div>
114 </div>
115 </#if>
116 </div>
117
118 <div class="col-md-4">
119 <div class="row">
120 <div class="d-none d-md-block">
121 <@printSocialBlock title=title url=articleURL />
122 </div>
123 </div>
124 <#if groupItemHasContent(parentStructure.newsAttachmentFieldSet.newsAttachment)>
125 <div class="row">
126 <div class="col-12 documents-news">
127 <div class="news-document-block">
128 <h3 class="d-none d-md-block">Documenti</h3>
129 <@printDocumentList
130 documentList=parentStructure.newsAttachmentFieldSet.newsAttachment
131 documentTitleChildrenName="newsAttachmentTitle"
132 documentDescriptionChildrenName="newsAttachmentDescription"
133 printIcons = true />
134 </div>
135 </div>
136 </div>
137 </#if>
138 </div>
139 </div>
140
141 <div class="row">
142 <div class="col-md-8">
143 <@printMediaGallery
144 items=parentStructure.sliderVideoContent
145 fieldImageName="sliderImageContent"
146 />
147 </div>
148 </div>
149
150
151 <div class="row">
152 <div class="col-8">
153 <#list currentArticleAssetEntry.getCategories() as category>
154 <#assign badgeClass = "grigio">
155 <#assign categoryVocabulary = vocabularyService.getVocabulary(category['vocabularyId']?number)['name']>
156 <#if categoryVocabulary=="Aree Tematiche">
157 <#assign badgeClass = AssetCategoryPropertyLocalService.getCategoryProperty(category['categoryId']?number, 'css_class')['value'] >
158 </#if>
159
160 <a class="link-badge" href="/${themeDisplay.getLocale()?substring(0, 2)}/web${themeDisplay.getScopeGroup()['friendlyURL']}/${pathNewsList}?p_r_p_categoryId=${category['categoryId']}">
161 <span class="badge badge-${badgeClass}">
162 ${category.getTitle(locale)}
163 </span>
164 </a>
165 </#list>
166 </div>
167 </div>
168
169 <div class="row">
170 <div class="col-12 data-news">
171 <p>Pubblicato il ${date?datetime("EEE, d MMM yyyy HH:mm:ss Z")?string(dateTimeFormat)}</p>
172 </div>
173 </div>
174</div>