1<#assign cncCategoriesService = serviceLocator.findService("fr.cnc.categories.api.CncCategoriesService") />
2<#assign cncRenduArticles = serviceLocator.findService("fr.cnc.rendu.articles.api.CncRenduArticlesService") />
3<#assign cncArticleRechercheService = serviceLocator.findService("fr.cnc.recherche.api.CncArticleRechercheService") />
4<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
5<#assign httpServletRequest = serviceContext.getRequest()/>
6<#assign themeDisplay = serviceContext.getThemeDisplay() />
7<#assign cncUrlService = serviceLocator.findService("fr.cnc.url.api.CncUrlService") />
8<#assign ArticleJournalUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
9<#assign ArticleJournalId = .vars['reserved-article-id'].data>
10<#assign ArticleJournalTitle = .vars['reserved-article-title'].data>
11<#assign categoriesListDispositif = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Dispositif") />
12
13<#-- recupere le premier element de la liste -->
14<#if categoriesListDispositif?size !=0>
15 <#assign categoryDispo = categoriesListDispositif[0]>
16 <#assign rechercheResultats = cncArticleRechercheService.rechercheDernierResultatsCommission(themeDisplay, "RESULTATS-COMMISSION", categoryDispo.getName()) />
17 <#assign rechercheCommissions = cncArticleRechercheService.rechercheAgendaCommissionTriees(themeDisplay, "AGENDA-COMMISSION", categoryDispo.getName()) />
18 <#assign rechercheCompositionCommissions = cncArticleRechercheService.rechercheCompositionCommission(themeDisplay, "COMPOSITION-COMMISSION", categoryDispo.getName()) />
19 <#assign rechercheDecisionsNomination = cncArticleRechercheService.recherchePublications(themeDisplay, "PUBLICATION", categoryDispo.getName(), "Décisions de nomination") />
20</#if>
21<#assign categoriesListDomaine = cncCategoriesService.getDomaines(groupId, ArticleJournalId) />
22<#assign categoriesListSecteur = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Secteur") />
23<#assign categoriesListPhaseprojet = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Phase du projet") />
24<#assign categoriesListTypeAide = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Type de dispositif") />
25<#assign categoriesListTypeSoutien = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Type de soutien") />
26<#assign categoriesListDemandeur = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Demandeur") />
27
28<#if categoriesListDomaine?size != 0>
29
30 <#-- recupere le premier element de la liste -->
31 <#assign categoriesSousDomainesList = cncCategoriesService.recupererCategoriesArticleParVocabulaire(groupId, ArticleJournalId , "Sous-domaine") />
32
33 <#assign cncArticleRechercheService = serviceLocator.findService("fr.cnc.recherche.api.CncArticleRechercheService") />
34 <#assign articlesLies = cncArticleRechercheService.recupererRenduDerniersArticlesMemeSujet(themeDisplay, ArticleJournalId, "ARTICLE-EDITORIAL", categoriesListDomaine, categoriesSousDomainesList, "ARTICLE-EDITORIAL-LIE", 3) />
35</#if>
36
37<#-- test si on vient d'une page de liste de contenu -->
38<#assign siPagePrecedenteCorrespondPageListeContenu = cncUrlService.siPagePrecedenteCorrespondPageListeContenu(httpServletRequest) />
39
40<#if siPagePrecedenteCorrespondPageListeContenu>
41 <div class="back">
42 <div class="container">
43 <div class="row">
44 <div class="col">
45 <div class="link-icon">
46 <a href="javascript:boutonRetour.goBack();" >
47 <i class="icon icon-back"></i>
48 <@liferay.language key="pages.liste.bouton.retour.a.la.liste" />
49 </a>
50 </div>
51 </div>
52 </div>
53 </div>
54 </div>
55</#if>
56
57<section class="single dispositif">
58 <div class="container">
59 <article>
60 <section class="article-content">
61 <div class="row position-relative">
62 <nav id="sticky-article-nav" class="sticky-nav col-xl-3 d-none d-xl-block position-absolute top-0 start-0">
63 <ul class="list-unstyled" role="tablist">
64 <#--stickyMenu chargé en javacript via la méthode sticky.initH2() -->
65 </ul>
66 </nav>
67 <div class="col-12 col-xl-8">
68 <div class="article-content-scroll">
69 <div class="article-head">
70 <div class="article-title" style="margin: 0px 0px 30px">
71 <h1 style="margin: 0">
72 <#if ArticleJournalTitle?has_content>
73 ${ArticleJournalTitle}
74 </#if>
75 </h1>
76 <#if DateMiseAJour?has_content>
77 <#assign DateMiseAJour_Data = getterUtil.getString(DateMiseAJour.getData())>
78 <#if DateMiseAJour_Data?has_content>
79 <#assign DateMiseAJour_DateObj = dateUtil.parseDate("yyyy-MM-dd", DateMiseAJour_Data, locale)>
80 <#assign dateMajDispositif = dateUtil.getDate(DateMiseAJour_DateObj, "dd/MM/yyyy", locale)>
81 <div><@liferay.language key="article.dispositif.maj" /> ${dateMajDispositif}</div>
82 </#if>
83 </#if>
84 <#if categoriesListDispositif?size != 0>
85
86 <#-- recupere le premier element de la liste -->
87 <#assign categoryDispo = categoriesListDispositif[0]>
88
89 <#-- calcul url -->
90 <#assign UrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif = cncUrlService.calculUrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif(themeDisplay, categoryDispo.getCategoryId()) />
91
92 </#if>
93 <#assign Templates_Path = templatesPath />
94 <#include "${Templates_Path}/BLOC-SHARETHIS">
95 </div>
96 </div>
97 <#if Resume?has_content>
98 <div class="intro">${Resume.getData()}</div>
99 </#if>
100 <ul class="list-unstyled simple">
101 <#assign originalLocale = locale>
102 <#setting locale = localeUtil.getDefault()>
103 <li>
104 <strong><@liferay.language key="article.dispositif.domaine" /></strong> :
105 <#if categoriesListSecteur?has_content>
106 <#assign urlControlleurMoteurAide = cncUrlService.calculUrlPageParKeyUrlRelative(themeDisplay, "cnc.friendly.url.recherche.aides") />
107 <#assign urlForSecteur = urlControlleurMoteurAide + "?secteur="/>
108 <#list categoriesListSecteur as categoryListSecteur>
109 <a href="${urlForSecteur}${categoryListSecteur.getName()}" >${categoryListSecteur.getTitle(locale)}</a><#if !categoryListSecteur?is_last> - </#if>
110 </#list>
111 </#if>
112 </li>
113 <li>
114 <strong><@liferay.language key="article.dispositif.phase.projet" /></strong> :
115 <#list categoriesListPhaseprojet as categoryListPhaseprojet>
116 ${categoryListPhaseprojet.getTitle(locale)}<#if !categoryListPhaseprojet?is_last>, </#if>
117 </#list>
118 </li>
119 <li>
120 <strong><@liferay.language key="article.dispositif.type.soutien" /></strong> :
121 <#list categoriesListTypeSoutien as categoryListTypeSoutien>
122 ${categoryListTypeSoutien.getTitle(locale)}<#if !categoryListTypeSoutien?is_last>, </#if>
123 </#list>
124 </li>
125 <li>
126 <strong><@liferay.language key="article.dispositif.type.aide" /></strong> :
127 <#list categoriesListTypeAide as categoryListTypeAide>
128 ${categoryListTypeAide.getTitle(locale)}<#if !categoryListTypeAide?is_last>, </#if>
129 </#list>
130 </li>
131 <li>
132 <strong><@liferay.language key="article.dispositif.demandeur" /></strong> :
133 <#list categoriesListDemandeur as categoryListDemandeur>
134 ${categoryListDemandeur.getTitle(locale)}<#if !categoryListDemandeur?is_last>, </#if>
135 </#list>
136 </li>
137 <#if NonCumul?has_content>
138 <li>
139 <#if NonCumul?has_content>
140 ${NonCumul.getData()}
141 </#if>
142 </li>
143 </#if>
144 <#setting locale = originalLocale>
145 </ul>
146 <#if Alerte?has_content>
147 <div>${Alerte.getData()}</div>
148 </#if>
149 <!-- Si il y a des fichiers à télécharger on affiche -->
150 <#if FichiersAssocies?has_content && FichiersAssocies.getSiblings()?size gt 0 && FichiersAssocies.getSiblings()?first.getData()?has_content>
151 <div class="download-block">
152 <div class="title"><@liferay.language key="article.dispositif.telechargement" />
153 </div>
154 <#list FichiersAssocies.getSiblings() as cur_FichiersAssocies>
155 <#assign counter = 0 >
156 <#assign uuId = "" >
157 <#list cur_FichiersAssocies.getData()?split("/") as x>
158 <#if counter == 5>
159 <#if x?split("?t")?has_content >
160 <#assign uuId = x?split("?t")[0] >
161 </#if>
162 </#if>
163 <#assign counter = counter+1 >
164 </#list>
165 <#assign fileEntry = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryService")>
166 <#if uuId?has_content && fileEntry?has_content>
167 <#assign file = fileEntry.getFileEntryByUuidAndGroupId(uuId,groupId) >
168 </#if>
169 <#if file?has_content && uuId?has_content>
170 <div class="link-icon light">
171 <a href="${cur_FichiersAssocies.getData()}" class="round" target="_blank">
172 <i class="icon icon-download"></i>
173 <#assign fileName = "" />
174 <#if file.getFileName()?has_content>
175 <#assign fileName = file.getFileName()?split(".")[0] />
176 </#if>
177 ${fileName}
178 <span class="details">
179 <#assign fileExtension = file.getFileName()?split(".")[1] />
180 <#assign fileSize = 0 />
181 <#if file.getSize()?has_content>
182 <#assign fileSize = file.getSize()/1000 />
183 (<span class="extension">${fileExtension?upper_case}</span>
184 <span class="weight">${fileSize?int}ko</span>)
185 </#if>
186 </span>
187 </a>
188 </div>
189 </#if>
190 </#list>
191 </div>
192 </#if>
193 <hr>
194 </div>
195 </div>
196 </div>
197 </section>
198 </article>
199 </div>
200 <div class="container">
201 <article>
202 <div class="article-content">
203 <div class="row">
204 <div class="col-xl-3 d-none d-xl-block"></div>
205 <div class="col-12 col-xl-8">
206 <div class="article-content-scroll">
207 ${Contenu.getData()}
208 </div>
209 <#if InformationsProchainesCommissions?has_content && InformationsProchainesCommissions.getData()?has_content && !rechercheCommissions?has_content>
210 <hr>
211 <h2 id="prochaines-commissions"><@liferay.language key="article.dispositif.prochaines.commissions" /></h2>
212 ${InformationsProchainesCommissions.getData()}
213 <br>
214 <br>
215 <#elseif rechercheCommissions?has_content>
216 <hr>
217 <h2 id="prochaines-commissions"><@liferay.language key="article.dispositif.prochaines.commissions" /></h2>
218 <#if InformationsProchainesCommissions?has_content>
219 ${InformationsProchainesCommissions.getData()}
220 </#if>
221 <br>
222 <br>
223 <table class="table table-striped table-responsive">
224 <thead>
225 <tr>
226 <th scope="col"><@liferay.language key="article.dispositif.date.depot" /></th>
227 <th scope="col"><@liferay.language key="article.dispositif.date.commission" /></th>
228 </tr>
229 </thead>
230 <tbody id="tableau-dispositif-agenda-commission">
231 <#assign compteurRenduAgenda = 1 />
232 <#list rechercheCommissions as rechercheCommission>
233 <tr id="agenda-commission-${compteurRenduAgenda}">
234 <#assign compteurRenduAgenda ++ />
235 ${rechercheCommission}
236 </tr>
237 </#list>
238
239 <script>
240 jQuery(document).ready(function() {
241 cncGenererRenduHtmlCalendrierAgendaCommissionDispositif('#tableau-dispositif-agenda-commission tr');
242 });
243 </script>
244 </tbody>
245 </table>
246 <#if InformationsComplementairesProchainesCommissions?has_content && InformationsComplementairesProchainesCommissions.getData()?has_content>
247 <div class="focus">
248 <h3><@liferay.language key="article.dispositif.a.noter" /></h3>
249 <div class="text">
250 ${InformationsComplementairesProchainesCommissions.getData()}
251 </div>
252 </div>
253 </#if>
254 </#if>
255 <#if rechercheCompositionCommissions?has_content>
256
257 <#if categoriesListDispositif?size != 0>
258
259 <#-- recupere le premier element de la liste -->
260 <#assign categoryDispo = categoriesListDispositif[0]>
261
262 <#-- calcul url -->
263 <#assign UrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif = cncUrlService.calculUrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif(themeDisplay, categoryDispo.getCategoryId()) />
264
265
266 <hr>
267 <div>
268 <h2 id="composition-des-commissions" class="inline"><@liferay.language key="composition.commission.titre" /></h2>
269 <#if rechercheDecisionsNomination?has_content>
270 <a href="${UrlPagePublicationsTypeDecisionsNominationParIdCategorieDispositif}" title="" class="button button-outline float-right"><@liferay.language key="composition.commission.lien.decisions.nomination" /></a>
271 </#if>
272 </div>
273
274 </#if>
275
276 <#list rechercheCompositionCommissions as rechercheCompositionCommission>
277 ${rechercheCompositionCommission}
278 </#list>
279 </#if>
280
281 <#if rechercheResultats?has_content>
282 <#if categoriesListDispositif?size != 0>
283
284 <#-- recupere le premier element de la liste -->
285 <#assign categoryDispo = categoriesListDispositif[0]>
286
287 <#-- calcul url -->
288 <#assign urlListeResultats = cncUrlService.calculUrlResultatsCommisionDispositif(themeDisplay, categoryDispo.getName()) />
289
290 <hr>
291 <div class="clearfix">
292 <h2 id="resultats-des-commissions" class="inline"><@liferay.language key="article.dispositif.resultats.composition.titre" /></h2>
293 <#assign originalLocale = locale>
294 <#setting locale = localeUtil.getDefault()>
295 <#if locale.toString()!="en_US">
296 <a href="${urlListeResultats}" title="" class="button button-outline float-right"><@liferay.language key="article.dispositif.resultats.commission.voir" /></a>
297 </#if>
298 </div>
299
300 </#if>
301 <br />
302 ${rechercheResultats}
303 </#if>
304
305 <#if Contacts?has_content && Contacts.getSiblings()?size gt 0 && Contacts.getSiblings()?first.getData()?has_content>
306 <hr>
307 <h2 id="contacts"><@liferay.language key="article.dispositif.contacts" /></h2>
308 <#if InformationsContacts?has_content>
309 <p>${InformationsContacts.getData()}</p>
310 </#if>
311 <#if DirectionEtService?has_content>
312 <div class="focus">
313 <div class="text">
314 <p>
315 ${DirectionEtService.getData()}
316 </p>
317 </div>
318 </div>
319 </#if>
320 <div class="row">
321 <#assign renduConcacts = cncRenduArticles.recupererRenduContactsContrib(themeDisplay, Contacts.getSiblings(), "CONTACT", 0) />
322 <#if renduConcacts?has_content>
323 <#list renduConcacts as renduConcact>
324 ${renduConcact}
325 </#list>
326 </#if>
327 </div>
328 </#if>
329 <#if articlesLies?has_content>
330 <hr>
331 <h2 id="articles-lies"><@liferay.language key="article.dispositif.articles.lies" /></h2>
332 <div class="list-articles">
333 <div class="row">
334 <#list articlesLies as cur_Articleslies>
335 <div class="col-12 col-lg-4">
336 <article>
337 ${cur_Articleslies}
338 </article>
339 </div>
340 </#list>
341 </div>
342 </div>
343 </#if>
344 </div>
345 </div>
346 </div>
347 </article>
348 </div>
349 <div class="ankle"></div>
350 <#if DispositifsSimilaires?has_content && DispositifsSimilaires.getSiblings()?size gt 0 && DispositifsSimilaires.getSiblings()?first.getData()?has_content>
351 <#assign counter = 0>
352 <div>
353 <hr style="margin: 0px">
354 <div class="cnc-likes">
355 <div class="container">
356 <div class="row position-relative">
357 <div class="article-content-scroll mx-auto">
358 <div class="col-12">
359 <div class="section-title"><@liferay.language key="article.dispositif.articles.aides.similaires" /></div>
360 </div>
361 <#assign renduAides = cncRenduArticles.recupererRenduArticlesContrib(themeDisplay, DispositifsSimilaires.getSiblings(), "DISPOSITIF-AIDE-SIMILAIRE", 3) />
362 <#if renduAides?has_content>
363 <#list renduAides as renduAide>
364 <div class="col-12">
365 <div class="cnc-like-item">
366 ${renduAide}
367 </div>
368 </div>
369 </#list>
370 </#if>
371 </div>
372 </div>
373 </div>
374 </div>
375 </div>
376 </#if>
377</section>
378<#if InformationComplementaires?has_content && InformationComplementaires.getSiblings()?size gt 0 && InformationComplementaires.getSiblings()?first.getData()?has_content>
379<section class="footer-text">
380 <div class="container">
381 <div class="row">
382 <div class="col-12">
383 <div class="article-content-scroll">
384 ${InformationComplementaires.getData()}
385 </div>
386 </div>
387 </div>
388 </div>
389</section>
390</#if>