1st meeting of the CGPM
24 to 28 September 1889
Meeting report
Contact person
An error occurred while processing the template.
The following has evaluated to null or missing:
==> serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") [in template "20099#20135#34615812" at line 5, column 35]
----
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 assetLinksLocalService = serv... [in template "20099#20135#34615812" at line 5, column 1]
----
1<#assign namespace = randomNamespace />
2<#assign bipmCommonsService = serviceLocator.findService("org.bipm.portal.service.commons.asset.service.BipmAssetService")/>
3<#assign entityAssetsService = serviceLocator.findService("org.bipm.portal.service.entity.assets.service.BipmEntityAssetsService")/>
4<#assign sessionCommitteeService = serviceLocator.findService("org.bipm.portal.service.secretariat.service.SessionCommitteeLocalService")/>
5<#assign assetLinksLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService")/>
6<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
7<#function getFieldValueFromMap key valuesMap>
8 <#local result = ""/>
9 <#if valuesMap[key]??>
10 <#local valuesList = valuesMap[key]/>
11 <#if valuesList?has_content && valuesList[0]?? && valuesList[0].getValue()?? && valuesList[0].getValue().getString(locale)??>
12 <#local result = valuesList[0].getValue().getString(locale) />
13 </#if>
14 </#if>
15 <#return result>
16</#function>
17<#assign dateFormat = "MMMM yyyy" />
18<#assign showTitle = !bipmCommonsService.isGroupByConfigured(portletPreferences)/>
19<div class="bipm-resolutions">
20 <div class="row documents_filter" >
21 <div class="col-12 col-md-auto">
22 <p class="bipm-reports__label-filter"><@liferay.language key="documents.filter.search.filter" /> :</p>
23 </div>
24 <div class="col-12 col-sm-auto filter_field_container__session_num">
25 <div class="form-group">
26 <label class="bipm-reports__label"><@liferay.language key="meeting" /></label>
27 <select class="bipm-reports__select documents_filter_session_num" data-col-def-name="session_num" data-col-def-reverse="true">
28 <option value="">ALL</option>
29 </select>
30 </div>
31 </div>
32 </div>
33
34 <#if showTitle>
35 <p class="title-secondary"><@liferay.language key="label.resolutions" />/<@liferay.language key="label.recommendations" /></p>
36 </#if>
37
38 <div class="documents_list publications">
39 <#if entries?has_content>
40 <#assign sortedEntries = bipmCommonsService.sortEntriesByFields(entries,"year,number",locale,[true,false],portletPreferences)/>
41 <#list sortedEntries as entry>
42 <#assign
43 assetRenderer = entry.getAssetRenderer()
44 className = assetRenderer.getClassName()
45 urlView = assetPublisherHelper.getAssetViewURL(renderRequest,renderResponse,assetRenderer,entry,true)
46 />
47
48 <#assign
49 entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))
50 ddmFormValuesReader = assetRenderer.getDDMFormValuesReader()
51 ddmFormValues = ddmFormValuesReader.getDDMFormValues()
52 valuesMap = ddmFormValues.getDDMFormFieldValuesMap()
53 />
54
55 <#assign dataAttribute = ""/>
56
57 <#assign
58 sessionCommitteeId = getFieldValueFromMap("sessionCommitteeId",valuesMap)
59 title = getFieldValueFromMap("title",valuesMap)
60 year = getFieldValueFromMap("year",valuesMap)
61 text = getFieldValueFromMap("text",valuesMap)
62 number = getFieldValueFromMap("number",valuesMap)
63 session_num = getFieldValueFromMap("session_num",valuesMap)
64 doi = getFieldValueFromMap("doi",valuesMap)
65 type = getFieldValueFromMap("type",valuesMap)
66 bipmEntity = getFieldValueFromMap("bipmEntity",valuesMap)
67 typeVal = "Resolution"
68 entityPart = "cgpm"
69 entityRootPart = "cg"
70 />
71 <#if type != "">
72 <#assign typeValTab = type?eval/>
73 <#if typeValTab?? && (typeValTab?size>0)>
74 <#assign typeVal = typeValTab[0]/>
75 <#else>
76 <#assign typeVal = type/>
77 </#if>
78 </#if>
79
80 <#assign committeeNameCategories = entityAssetsService.getBipmPublicationCategories(themeDisplay,entry,"Committee Name")/>
81 <#assign committeeName = ""/>
82 <#if committeeNameCategories?has_content>
83 <#assign committeeName = committeeNameCategories[0]/>
84 <#assign
85 entityPart = committeeName?lower_case
86 entityRootPart = entityPart?substring(0,2)
87 />
88 </#if>
89 <#if sessionCommitteeId?has_content>
90 <#if sessionCommitteeService.fetchSessionCommittee(sessionCommitteeId?number)?has_content>
91 <#assign sessionCommittee = sessionCommitteeService.fetchSessionCommittee(sessionCommitteeId?number)/>
92
93 </#if>
94 </#if>
95
96 <#if sessionCommittee?has_content>
97 <#assign dataAttribute = dataAttribute + " data-session_num='" + sessionCommittee.nbr+ "'" />
98 <#assign resolutionUrl = sessionCommittee.getUrlTitle() + "/resolution-" + number />
99 <#else>
100 <#assign dataAttribute = dataAttribute + " data-session_num=''" />
101 <#assign resolutionUrl = "/committees/" + entityRootPart + "/" + entityPart + "/" + session_num + "-" + year + "/resolution-" + number/>
102 </#if>
103
104 <#assign currentArticleRelatedLinks = assetLinksLocalService.getDirectLinks(entry.entryId)/>
105
106
107 <div ${dataAttribute} class="publications__content">
108 <#if resolutionUrl?has_content>
109 <a href="${portalUtil.getHomeURL(request)?replace('/web/guest','')}${resolutionUrl}">
110 </#if>
111
112 <span class="publication-card_reference title-third">
113 <#assign dash = ""/>
114 <#if locale.toString()=='fr_FR'>
115 <#assign dash = " -"/>
116 </#if>
117 ${committeeName}${dash} ${languageUtil.get(locale, typeVal?lower_case)?cap_first} ${number} (${year})
118 </span>
119 <#if resolutionUrl?has_content>
120 </a>
121 </#if>
122
123 <p class="publications__body">${title}</p>
124 <#if doi?has_content>
125 <p class="publications__body doi">DOI : ${doi}</p>
126 </#if>
127 <#if currentArticleRelatedLinks?has_content>
128 <ul>
129 <#list currentArticleRelatedLinks as link>
130 <#assign
131 link2Id = link.entryId2
132 relatedDocument = assetEntryLocalService.getEntry(link2Id)
133 linkLabel = ""
134 linkUrl = ""
135 />
136
137 <#if relatedDocument?has_content>
138 <#assign
139 relatedEntryAssetRenderer = relatedDocument.getAssetRenderer()
140 relatedEntryClassName = relatedEntryAssetRenderer.getClassName()
141 />
142 <#if relatedEntryClassName == "com.liferay.document.library.kernel.model.DLFileEntry">
143 <#assign
144 linkLabel = "Download"
145 linkUrl = relatedEntryAssetRenderer.getURLDownload(themeDisplay)
146 />
147 </#if>
148 </#if>
149
150 <#if linkLabel?has_content>
151 <li>
152 <a href="${linkUrl}">${linkLabel}</a>
153 </li>
154 </#if>
155 </#list>
156 </ul>
157 </#if>
158 </div>
159 </#list>
160 </#if>
161 </div>
162 <div class="pagination documents_pagination" data-items-size="10">
163 </div>
164</div>
165
166<@liferay_aui.script use="aui-base,liferay-pagination,bipm-list-filter">
167 A.all('.bipm-resolutions').each(function(item){
168 var plugin = item.hasPlugin('bipm-list-filter');
169 if(plugin){
170 return;
171 }
172 var filter = item.plug(Liferay.ListFilter,
173 {
174 itemsNodesSelector:'.publications__content',
175 parentContainerSelector:'.documents_list',
176 filterSelectSelector:'.bipm-reports__select',
177 filterContainerSelector:'.documents_filter',
178 filterFieldPrefix:'.documents_filter_',
179 filterFieldNames:['session_num'],
180 filterFieldDefs:[{name:'session_num',reverse:true}],
181 paginationContainerSelector:'.documents_pagination',
182 namespace:'${namespace}'
183 });
184 });
185</@>
