IfadAssetRequestWeb

Agrégateur de contenus

Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> cofinancier_item.cofinancier_int_amount  [in template "10154#10192#PROJECT" at line 153, 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 153, 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> 

Rapports de conception du projet

Rapports de conception du projet

Étude de l'impact environnemental et social

Cadre de gestion environnementale et sociale

Rapport sur l'examen à mi-parcours

Rapport sur l'examen à mi-parcours

Cadre d’action de réinstallation

Condensé de rapport d'achèvement de projet

Études spéciales

Liste de projets

Rapport d'achèvement de projet

Co-financeurs

À propos du projet

À propos du projet

Biodiversité des cultures: le Bhoutan ouvre la voie

décembre 2020 - RÉCIT
Le Bhoutan, pays niché dans les hauteurs de l’Himalaya, a toujours été isolé et a dû s’adapter aux accidents de sa topographie. La sécurité alimentaire y est donc une exigence primordiale.

Un petit pas... Renforcer les capacités des micro-entreprises et des PME en Asie du Sud

juillet 2020 - RÉCIT

Tout le monde s'accorde à reconnaître que les microentreprises et les PME jouent un rôle central dans l'économie des pays en développement. Pourtant, ce qui est quelque peu paradoxal, peu de services sont proposés à ces entreprises.

Lutter contre les effets des changements climatiques au Bhoutan

février 2020 - RÉCIT
L’agriculture est la pierre angulaire de l’économie de ce petit pays enclavé, employant plus de 70% de la population. Ces dernières années, le Bhoutan a dans l’ensemble énormément amélioré le niveau de vie de sa population, mais les taux de pauvreté restent élevés dans l’est du pays.

IFAD partnership in Bhutan reaping benefits for farmers

novembre 2019 - RÉCIT
Most of the population of Bhutan depend on farming to make a living. However, as the climate crisis bites, this Himalayan nation is being hit by erratic rain, hailstorms and flash floods. This in turn is effecting farmers’ production.