IFAD Asset Request Portlet

Publicador de contenidos

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> cofinancier_item.cofinancier_dom_amount  [in template "10154#10192#PROJECT" at line 172, column 70]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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: #assign cofinancierAmount = cofinanci...  [in template "10154#10192#PROJECT" at line 172, column 41]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
3<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
4<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") /> 
5<#assign classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") /> 
6 
7<#assign globalGroup = groupLocalService.getFriendlyURLGroup(companyId, "/global")> 
8<#assign destMacroClassId = classNameLocalService.getClassNameId("com.liferay.asset.kernel.model.AssetEntry")> 
9<#include "_TEMPLATE_CONTEXT_/${companyId}/${globalGroup.groupId}/${destMacroClassId}/ASSET_ENTRY_MACROS" /> 
10 
11<#assign countries_vocabulary = assetVocabularyLocalService.getGroupVocabulary(company.getGroupId(), "Countries")> 
12<#assign projects_vocabulary = assetVocabularyLocalService.getGroupVocabulary(company.getGroupId(), "Project")> 
13 
14<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(articleGroupId), .vars['reserved-article-id'].data)> 
15<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey)> 
16 
17<div class="container project-container generic-container"> 
18    <div class="row project-structure"> 
19 
20        <div class="col-xl-10 col-lg-12 offset-xl-1"> 
21            <div class="row"> 
22                <div class="col-lg-6 col-md-12 pub-header"> 
23                    <#if project_title.getData()?has_content> 
24                        <h1>${project_title.getData()}</h1> 
25                    <#elseif article.getTitle(locale)?has_content> 
26                        <h1>${article.getTitle(locale)}</h1> 
27                    <#else> 
28                        <h1>${abstract_title.getData()}</h1> 
29                    </#if> 
30 
31                    <div class="main-content">${main_content.getData()}</div> 
32                </div> 
33 
34                <div class="col-lg-5 col-md-12 offset-lg-1"> 
35                    <div class="shadow mb-3 pb-3 bg-white rounded project-shadowbox"> 
36                        <#if mapStream.getData()?has_content> 
37                            <img class="img-fluid w-100 project-map-image" src="${mapStream.getData()}"/> 
38                        </#if> 
39                        <div class="m-3 project-row"> 
40 
41                            <#if status.getData()?has_content> 
42                                <dd class="project-status mt-3"> 
43                                    <#if status.getData() == "B" || status.getData() == "C" || status.getData() == 
44                                    "D" || status.getData() == "I" || status.getData() == 
45                                    "J" || status.getData() == "K"> 
46                                        <span><@liferay.language key="status" />: <@liferay.language key="custom-msg-planned" /></span> 
47                                    <#elseif status.getData() == "G" || status.getData() == 
48                                    "H" || status.getData() =="U" || status.getData() =="Z"> 
49                                        <span><@liferay.language key="status" />: 
50                                            <@liferay.language key="custom-msg-ongoing" /></span> 
51                                    <#elseif status.getData() == "M" || status.getData() == "N"> 
52                                        <span><@liferay.language key="status" />: <@liferay.language key="custom-msg-closed" /></span> 
53                                    <#elseif status.getData() == "E"> 
54                                        <span><@liferay.language key="status" />: <@liferay.language key="approved" /></span> 
55                                    <#elseif status.getData() == "F"> 
56                                        <span><@liferay.language key="status" />: <@liferay.language key="custom-msg-signed" /></span> 
57                                    <#else> 
58                                        <span><@liferay.language key="status" />: <@liferay.language key="custom-msg-not-planned" /></span> 
59                                    </#if> 
60                                </dd> 
61                            </#if> 
62 
63                            <#if type.getData() == "INVPR"> 
64                                <#list asset.getCategories() as category> 
65                                    <#if category.getVocabularyId() == countries_vocabulary.getVocabularyId()> 
66                                        <#--<div class="project-row">--> 
67                                        <dt class="project-row-title"><@liferay.language key="country" /></dt> 
68                                        <dd class="project-row-text"> 
69                                            <a href="${getCountryUrl(category, locale)}">${category.getDescription(locale)}</a> 
70                                        </dd> 
71                                        <#--#break--> 
72                                    </#if> 
73                                </#list> 
74                            </#if> 
75 
76                            <#if status_date?? && status_date.getData()?has_content && status_date.getData() != "null"> 
77                                <#assign formatted_status_date_obj = 
78                                dateUtil.parseDate("yyyy-MM-dd",  status_date.getData(), locale)> 
79 
80                                <#assign formatted_status_date = 
81                                dateUtil.getDate(formatted_status_date_obj, "dd MMMM yyyy", locale)> 
82 
83                                <dt class="project-row-title"><@liferay.language key="approval-date" /></dt> 
84                                <dd class="project-row-text">${formatted_status_date}</dd> 
85                            </#if> 
86 
87                            <#if type.getData() == "GRANT" && beneficiary.getData()?has_content> 
88                                <dt class="project-row-title"><@liferay.language key="recipient" /></dt> 
89                                <dd class="project-row-text">${beneficiary.getData()}</dd> 
90                            </#if> 
91 
92                            <#-- Don't display duration for "planned" projects--> 
93                            <#if !(status.getData() == "B" || status.getData() == "C" || status.getData() == 
94                            "D" || status.getData() == "I" || status.getData() == "J" || status.getData() == 
95                            "K")> 
96                                <#if duration.getData()?has_content> 
97                                    <dt class="project-row-title"><@liferay.language key="duration" /></dt> 
98                                    <dd class="project-row-text">${duration.getData()}</dd> 
99                                </#if> 
100                            </#if> 
101 
102                            <#if sector.getData()?has_content && sector.getData() != " "> 
103                                <dt class="project-row-title"><@liferay.language key="sector" /></dt> 
104                                <dd class="project-row-text"><@liferay.language key="sector.${sector.getData()?lower_case}" /></dd> 
105                            </#if> 
106 
107                            <#if current_amount.getData()?has_content> 
108                                <#assign totalProjectCost = current_amount.getData()?replace(",",".")?number?double> 
109 
110                                <dt class="project-row-title"> 
111                                    <#if type.getData() == "GRANT"> 
112                                        <@liferay.language key="total-cost" /> 
113                                    <#elseif type.getData() == "INVPR"> 
114                                        <@liferay.language key="total-project-cost" /> 
115                                    </#if> 
116                                </dt> 
117                                <dd class="project-row-text"> 
118                                    <#if totalProjectCost < 2.0> 
119                                        ${languageUtil.format(locale, "million-usd", ifadNumberFormatter.format(locale, totalProjectCost))} 
120                                    <#else> 
121                                        ${languageUtil.format(locale, "millions-usd", ifadNumberFormatter.format(locale, totalProjectCost))} 
122                                    </#if> 
123                                </dd> 
124                            </#if> 
125 
126                            <#if current_ifad_amount?? && current_ifad_amount.getData()?has_content> 
127                                <#assign ifadFinancing = current_ifad_amount.getData()?replace(",",".")?number?double> 
128 
129                                <dt class="project-row-title"> 
130                                    <#if type.getData() == "GRANT"> 
131                                        <@liferay.language key="ifad-grant-amount" /> 
132                                    <#elseif type.getData() == "INVPR"> 
133                                        <@liferay.language key="ifad-financing" /> 
134                                    </#if> 
135                                </dt> 
136                                <dd class="project-row-text"> 
137                                    <#if ifadFinancing < 2.0> 
138                                        ${languageUtil.format(locale, "million-usd", ifadNumberFormatter.format(locale, ifadFinancing))} 
139                                    <#else> 
140                                        ${languageUtil.format(locale, "millions-usd", ifadNumberFormatter.format(locale, ifadFinancing))} 
141                                    </#if> 
142                                </dd> 
143                            </#if> 
144 
145                            <#if type.getData() == "INVPR"> 
146                                <#if cofinancier_int?? && 
147                                cofinancier_int.getData()?has_content && 
148                                cofinancier_int.getSiblings()?has_content && 
149                                cofinancier_int.getSiblings()[0].getData()?has_content > 
150 
151                                    <dt class="project-row-title"><@liferay.language key="co-financiers-int" /></dt> 
152                                    <#list cofinancier_int.getSiblings() as cofinancier_item> 
153                                        <#assign cofinancierAmount = cofinancier_item.cofinancier_int_amount.data?replace(",", ".")?number?double> 
154 
155                                        <dd class="project-row-text"> 
156                                            <#if cofinancierAmount < 2.0> 
157                                                ${cofinancier_item.getData()} ${languageUtil.format(locale, "million-usd", ifadNumberFormatter.format(locale, cofinancierAmount))} 
158                                            <#else> 
159                                                ${cofinancier_item.getData()} ${languageUtil.format(locale, "millions-usd", ifadNumberFormatter.format(locale, cofinancierAmount))} 
160                                            </#if> 
161                                        </dd> 
162                                    </#list> 
163                                </#if> 
164 
165                                <#if cofinancier_dom?? && 
166                                cofinancier_dom.getData()?has_content && 
167                                cofinancier_dom.getSiblings()?has_content && 
168                                cofinancier_dom.getSiblings()[0].getData()?has_content> 
169 
170                                    <dt class="project-row-title"><@liferay.language key="co-financiers-dom" /></dt> 
171                                    <#list cofinancier_dom.getSiblings() as cofinancier_item> 
172                                        <#assign cofinancierAmount = cofinancier_item.cofinancier_dom_amount.data?replace(",", ".")?number?double> 
173 
174                                        <dd class="project-row-text"> 
175                                            <#if cofinancierAmount < 2.0> 
176                                                ${cofinancier_item.getData()} ${languageUtil.format(locale, "million-usd", ifadNumberFormatter.format(locale, cofinancierAmount))} 
177                                            <#else> 
178                                                ${cofinancier_item.getData()} ${languageUtil.format(locale, "millions-usd", ifadNumberFormatter.format(locale, cofinancierAmount))} 
179                                            </#if> 
180                                        </dd> 
181                                    </#list> 
182                                </#if> 
183 
184                                <#if financing_gap?? && financing_gap.getData()?has_content && 
185                                financing_gap.getData() != "null"> 
186                                    <dt class="project-row-title"><@liferay.language key="financing-gap" /></dt> 
187 
188                                    <#assign financingGap = financing_gap.getData()?replace(",",".")?number?double> 
189 
190                                    <dd class="project-row-text"> 
191                                        <#if financingGap < 2.0> 
192                                            ${languageUtil.format(locale, "million-usd", ifadNumberFormatter.format(locale, financingGap))} 
193                                        <#else> 
194                                            ${languageUtil.format(locale, "millions-usd", ifadNumberFormatter.format(locale, financingGap))} 
195                                        </#if> 
196                                    </dd> 
197                                </#if> 
198 
199                                <#if lending_terms?? && lending_terms.getData()?has_content> 
200                                    <dt class="project-row-title"><@liferay.language key="financing-terms" /></dt> 
201                                    <dd class="project-row-text"> 
202                                        <#if lending_terms.getData() == "null"> 
203                                            <@liferay.language key="not-available" /> 
204                                        <#else> 
205                                            <@liferay.language key="lending-term.${lending_terms.getData()?lower_case}" /> 
206                                        </#if> 
207                                    </dd> 
208                                </#if> 
209                            </#if> 
210 
211                            <#list asset.getCategories() as category> 
212                                <#if category.getVocabularyId() == projects_vocabulary.getVocabularyId()> 
213                                    <dt class="project-row-title"> 
214                                        <#if type.getData() == "GRANT"> 
215                                            <@liferay.language key="grant-id" /> 
216                                        <#elseif type.getData() == "INVPR"> 
217                                            <@liferay.language key="project-id" /> 
218                                        </#if> 
219                                    </dt> 
220                                    <dd class="project-row-text">${category.name}</dd> 
221                                <#--#break--> 
222                                </#if> 
223                            </#list> 
224 
225                            <#if type.getData() == "INVPR" && contact.getData()?has_content && contact.getData() != "null"> 
226                                <dt class="project-row-title"><@liferay.language key="project-contact" /></dt> 
227                                <dd class="project-row-text"> 
228                                    <#if contact_email.getData()?has_content> 
229                                        <a href="mailto:${contact_email.getData()}">${contact.getData()}</a> 
230                                    <#else> 
231                                        ${contact.getData()} 
232                                    </#if> 
233                                </dd> 
234                            </#if> 
235                        </div> 
236                    </div> 
237                </div> 
238            </div> 
239        </div> 
240    </div> 
241</div> 

Informes del Presidente

Informes sobre el diseño de los proyectos

Documentos de supervisión y apoyo a la ejecución

Evaluación del impacto ambiental y social

Auditoría y Estados Financieros

Informe del examen interino (mitad de período)

Marco de acción para el reasentamiento

Resúmenes de informes

Estudios específicos

Proyectos enumerados

Auditoría y Estados Financieros

Informe de finalización del proyecto

Publicador de contenidos

Contenido relacionado