Resultats de cerca - EduCaixa
177 resultats per ''narraci�� d���hist��ries''
Àrea de coneixement
Nivell educatiu
Competències
Categoria
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService") [in template "10154#10192#40444774" at line 3, column 25] ---- 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 UtilsService = serviceLocator... [in template "10154#10192#40444774" at line 3, column 1] ----
1<#-- get services -->
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/>
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/>
6<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
7<#assign language = themeDisplay.getLocale()/>
8<#assign groupId = themeDisplay.getScopeGroupId()/>
9<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") />
10<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
11<#assign httpServletRequest = serviceContext.getRequest() />
12<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") />
13
14<#-- get the content categories -->
15<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
16<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
17
18<#assign journalArticleId = .vars['reserved-article-id'].data/>
19<#assign userId =themeDisplay.getUserId()/>
20<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
21
22<#-- get the content URL -->
23<#assign jaUrlTitle = article.getUrlTitle() />
24<#assign card_url = "https://${request.serverName}/${locale.getLanguage()}/-/${jaUrlTitle}" />
25<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" />
26<#assign valoracionesDisplayAverage = 0/>
27<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
28 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
29 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
30</#if>
31
32<#assign itinerancesActive = UtilsService.getDateRelatedItinerancia(journalArticleId,themeDisplay) />
33
34<#-- Escape title text -->
35<#assign titleEscaped = "" />
36<#if title.getData()??>
37 <#assign titleEscaped = title.getData()?replace('<p>','','r')/>
38 <#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
39 <#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
40 <#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
41 <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
42 <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
43 <#assign titleEscaped = titleEscaped?replace('"','"','r')/>
44</#if>
45
46<#assign subtituloEscaped = "" />
47<#if subtitle.getData()??>
48 <#assign subtituloEscaped = subtitle.getData() />
49 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
50 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
51</#if>
52
53<#-- get image alt -->
54<#-- En PCC no viene ningun alt para las imagenes-->
55 <#assign altImage = titleEscaped />
56
57<#-- get image banner -->
58<#if thumbnail ?? && thumbnail.getData() ?? && thumbnail.getData() != "">
59 <#assign imageSrc = thumbnail.getData() />
60<#elseif bannerImage?? && bannerImage.getData()?? && bannerImage.getData() != "">
61 <#assign imageSrc = bannerImage.getData() />
62<#else>
63 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-actividades.png" />
64</#if>
65
66<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
67<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
68<#assign categories = thesaurusCategories + tagsCategories />
69
70<#-- Login -->
71<#assign is_signed_in = themeDisplay.isSignedIn()/>
72<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
73<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
74${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
75${loginURL.setWindowState("POP_UP")}
76
77<#assign isAlumno = false />
78<#if is_signed_in>
79 <#assign isAlumno = UtilsService.isAlumno(themeDisplay.getUserId()) />
80</#if>
81
82<#-- Centers -->
83<#assign plidCenter = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet") />
84<#assign centersURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
85${centersURL.setParameter("mvcRenderCommandName", "get_centers")}
86${centersURL.setWindowState("POP_UP")}
87${centersURL.setParameter("articleId", journalArticleId)}
88<#assign centersBookingURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
89${centersBookingURL.setParameter("mvcRenderCommandName", "get_centers")}
90${centersBookingURL.setWindowState("POP_UP")}
91${centersBookingURL.setParameter("articleId", journalArticleId)}
92${centersBookingURL.setParameter("isBooking", "true")}
93
94<#assign language = themeDisplay.getLocale()/>
95<#assign area_conocimiento = []>
96<#assign competencias = []>
97
98<#list asset.getCategories() as cur_category>
99 <#if cur_category.vocabularyId == 10515>
100 <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]>
101 <#elseif cur_category.vocabularyId == 401>
102 <#assign competencias = competencias + [cur_category.getTitle(language)]>
103 </#if>
104</#list>
105
106<#-- button plan -->
107<#assign CentersService = serviceLocator.findService("com.educaixa.planner.core.activitylist.service.CenterService")/>
108<#assign hasCentersToPlan = CentersService.hasCentersToPlan(journalArticleId, themeDisplay)/>
109<#-- -->
110
111<#if FBLCID ?? && FBLCID.getData() ?? && FBLCID.getData() != "">
112 <#assign fblcActivityId = FBLCID.getData()?replace(' ','','r') />
113</#if>
114
115<#-- Identificador symphony itinerante -->
116<#assign symphonyActivityId = propsUtil.get("symphony.fblcActivityId") />
117
118<#-- W-664 START -->
119<#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")/>
120
121<#assign titlesActivityTest = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente.list") />
122<#if titlesActivityTest?has_content>
123<#assign titlesActivityList = titlesActivityTest?split(",") />
124<#assign titleEscapedUC = titleEscaped?lower_case />
125</#if>
126<#list titlesActivityList as titleTest>
127 <#assign titleTestUC = titleTest?lower_case />
128 <#if titleEscapedUC==titleTestUC>
129 <#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente") />
130 </#if>
131</#list>
132<#-- W-664 END -->
133
134<div class="cards element row" id="1" style="">
135 <div class="col-lg-12">
136 <div class="element-img ">
137 <a href = "${card_url}" class="element-img actividades">
138 <img alt="${altImage}" src="${imageSrc}">
139 </a>
140 </div>
141 <div class="element-text">
142 <#-- <span class="element-type color-caixa-blue">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")}</span> -->
143 <span class="element-type color-caixa-blue">${activityType} </span>
144 <label id="added_label" data-fblcid="${fblcActivityId}" class="card-course__tag hide">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.TAG.ADDED")}</label>
145 <a href="${card_url}">
146 <#if title?has_content>
147 <h3 class="element-title">${titleEscaped}</h3>
148 </#if>
149 <#if subtitle?has_content>
150 <p class="element-body">${subtituloEscaped}</p>
151 </#if>
152 </a>
153 </div>
154 <div class="valoration-row">
155 <div class="links-wrapper">
156 <#if categories?has_content>
157 <div class="bloque hide-below-980">
158 <div class="tags">
159 <#list categories as category>
160 <#-- redirects to the results page with the tag-->
161 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
162 </#list>
163 </div>
164 </div>
165 </#if>
166 </div>
167 </div>
168 <div>
169 <p></p>
170 <div class="card-share flex">
171 <#if card_url != "">
172 <#if symphonyActivityId != fblcActivityId>
173 <#if itinerancesActive && hasCentersToPlan>
174 <#if is_signed_in>
175 <#if !isAlumno>
176 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${centersBookingURL}','','700', '800')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
177 </#if>
178 <#else>
179 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
180 </#if>
181 <#if !isAlumno>
182 <button id="plan_button" data-fblcid="${fblcActivityId}" onClick="addGTMAddActivityToPlani('${titleEscaped?js_string?html}','${fblcActivityId}','','${area_conocimiento?join(", ")}','${competencias?join(", ")}');event.stopPropagation();openPopup('${centersURL}','','700', '800')" class="card-button btn-primary btn-default ml-2">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.PLAN.BUTTON")}</button>
183 </#if>
184 </#if>
185 </#if>
186 </#if>
187 <div class="card-actions flex">
188 <div class="statistics">
189 <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line>
190 <path class="circle-bg" d="M18 2.0845
191 a 15.9155 15.9155 0 0 1 0 31.831
192 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
193 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
194 a 15.9155 15.9155 0 0 1 0 31.831
195 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
196 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
197 </svg>
198 </div>
199 <div class="share">
200 <button id="share"></button>
201 <div class="addthis_inline_share_toolbox tooltip"></div>
202 </div>
203 <div class="bookmark">
204 <#if is_signed_in>
205 <#if isUserBookmark>
206 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
207 <#else>
208 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
209 </#if>
210 <#else>
211 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
212 </#if>
213 </div>
214 </div>
215 </div>
216 </div>
217 </div>
218</div>
219
220<script>
221$( document ).ready(function() {
222 initAddThis();
223
224 var fblcActivityId = '${fblcActivityId}';
225
226 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
227
228
229 $(document).bind("DOMNodeRemoved", function(e)
230 {
231 var currentTarget = e.target;
232 if (currentTarget){
233 var idName = currentTarget.id;
234 if (idName == 'dialog'){
235 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
236 PlannerIcons.refreshIcons();
237 }
238 }
239
240 });
241});
242
243function hideLabelActivity(fblcActivityId){
244
245 var plan_button = document.getElementById("plan_button");
246
247
248 $("#added_label[data-fblcid='" + fblcActivityId + "']").addClass('hide');
249}
250
251function showLabelActivity(fblcActivityId){
252 $("#added_label[data-fblcid='" + fblcActivityId + "']").removeClass('hide');
253 $("#plan_button[data-fblcid='" + fblcActivityId + "']").addClass('card-button-dark');
254 $("#plan_button[data-fblcid='" + fblcActivityId + "']").text('${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.GO.PLANIFICADOR")}');
255 var url = getPlannerUrl();
256 $("#plan_button[data-fblcid='" + fblcActivityId + "']").attr('onclick','location.href=\''+url+'\'');
257 $("#book_button[data-fblcid='" + fblcActivityId + "']").hide();
258
259}
260
261function getPlannerUrl(){
262 if(!${is_signed_in?c}) {
263 url = Liferay.Util.PortletURL.createPortletURL(
264 '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}',
265 {
266 'p_p_id': 'com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet',
267 'activities': JSON.stringify(LocalStorage.getAllByPrefix(ACTIVITY_PREFIX))
268 }
269 );
270 }
271 else url = '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}';
272 return url;
273}
274
275</script>
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService") [in template "10154#10192#40444832" at line 3, column 25] ---- 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 UtilsService = serviceLocator... [in template "10154#10192#40444832" at line 3, column 1] ----
1<#-- get services -->
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/>
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/>
6<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
7<#assign language = themeDisplay.getLocale()/>
8<#assign groupId = themeDisplay.getScopeGroupId()/>
9<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") />
10<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
11<#assign httpServletRequest = serviceContext.getRequest() />
12<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") />
13
14<#-- get the content categories -->
15<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
16<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
17
18<#-- get the content URL -->
19<#assign jaUrlTitle = article.getUrlTitle() />
20<#assign card_url = "https://${request.serverName}/${locale.getLanguage()}/-/${jaUrlTitle}" />
21<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" />
22<#assign valoracionesDisplayAverage = 0/>
23<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
24 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
25 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
26</#if>
27
28<#assign journalArticleId = .vars['reserved-article-id'].data/>
29<#assign userId =themeDisplay.getUserId()/>
30<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
31
32<#-- Escape title text -->
33<#assign titleEscaped = "" />
34<#if title.getData()??>
35<#assign titleEscaped = title.getData()?replace('<p>','','r')/>
36<#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
37<#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
38<#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
39<#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
40<#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
41</#if>
42
43<#assign subtituloEscaped = "" />
44<#if subtitle.getData()??>
45 <#assign subtituloEscaped = subtitle.getData() />
46 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
47 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
48</#if>
49
50<#-- get image alt -->
51<#if imagenthumbnail?? && imagenthumbnail.getData()?? && imagenthumbnail.getData() != "">
52 <#assign altImage = imagenthumbnail.getAttribute("alt") />
53<#elseif bannerImage_?? && bannerImage_.getData()?? && bannerImage_.getData() != "">
54 <#assign altImage = bannerImage_.getAttribute("alt") />
55<#else>
56 <#assign altImage = titleEscaped />
57</#if>
58
59<#-- get image banner -->
60<#if imagenthumbnail ?? && imagenthumbnail.getData()?? && imagenthumbnail.getData() != "">
61 <#assign imageSrc = imagenthumbnail.getData() />
62<#elseif bannerImage_?? && bannerImage_.getData()?? && bannerImage_.getData() != "">
63 <#assign imageSrc = bannerImage_.getData() />
64<#else>
65 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-formacion.png" />
66</#if>
67
68<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
69<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
70<#assign categories = thesaurusCategories + tagsCategories />
71
72<#-- get text by Type field -->
73<#if tipo.getData()?? && tipo.getData() == "training">
74<#assign textByType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.formacion") />
75<#else>
76 <#assign textByType =LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.formacion.proyecto")/>
77</#if>
78
79
80<#-- Login -->
81<#assign is_signed_in = themeDisplay.isSignedIn()/>
82<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
83<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
84${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
85${loginURL.setWindowState("POP_UP")}
86
87<div class="cards element row" id="1" style="">
88 <div class="col-lg-12">
89 <div class="element-img">
90 <a href = "${card_url}" class="element-img form">
91 <img alt="${altImage}" src="${imageSrc}">
92 </a>
93 </div>
94 <div class="element-text">
95 <span class="element-type color-caixa-green">${textByType}</span>
96 <#-- <span class="element-type color-caixa-green">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.formacion")}</span> -->
97 <a href = "${card_url}">
98 <#if title?has_content>
99 <h3 class="element-title">${titleEscaped}</h3>
100 </#if>
101 <#if subtitle?has_content>
102 <p class="element-body">${subtituloEscaped}</p>
103 </#if>
104 </a>
105 </div>
106 <div class="valoration-row">
107 <div class="links-wrapper">
108 <#if categories?has_content>
109 <div class="bloque hide-below-980">
110 <div class="tags">
111 <#list categories as category>
112 <#-- redirects to the results page with the tag-->
113 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
114 </#list>
115 </div>
116 </div>
117 </#if>
118 </div>
119 </div>
120 <div>
121 <p></p>
122 <div class="card-share flex">
123 <#if card_url != "">
124 <a href = "${card_url}" class="card-button-green color-caixa-green background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.ver")}</a>
125 </#if>
126 <div class="card-actions flex">
127 <div class="statistics">
128 <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line>
129 <path class="circle-bg" d="M18 2.0845
130 a 15.9155 15.9155 0 0 1 0 31.831
131 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
132 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
133 a 15.9155 15.9155 0 0 1 0 31.831
134 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
135 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
136 </svg>
137 </div>
138 <div class="share">
139 <button id="share"></button>
140 <div class="addthis_inline_share_toolbox tooltip"></div>
141 </div>
142 <div class="bookmark">
143 <#if is_signed_in>
144 <#if isUserBookmark>
145 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
146 <#else>
147 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
148 </#if>
149 <#else>
150 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
151 </#if>
152 </div>
153 </div>
154 </div>
155 </div>
156 </div>
157</div>
158
159<script>
160$( document ).ready(function() {
161 initAddThis();
162});
163</script>
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService") [in template "10154#10192#40444774" at line 3, column 25] ---- 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 UtilsService = serviceLocator... [in template "10154#10192#40444774" at line 3, column 1] ----
1<#-- get services -->
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/>
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/>
6<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
7<#assign language = themeDisplay.getLocale()/>
8<#assign groupId = themeDisplay.getScopeGroupId()/>
9<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") />
10<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
11<#assign httpServletRequest = serviceContext.getRequest() />
12<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") />
13
14<#-- get the content categories -->
15<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
16<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
17
18<#assign journalArticleId = .vars['reserved-article-id'].data/>
19<#assign userId =themeDisplay.getUserId()/>
20<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
21
22<#-- get the content URL -->
23<#assign jaUrlTitle = article.getUrlTitle() />
24<#assign card_url = "https://${request.serverName}/${locale.getLanguage()}/-/${jaUrlTitle}" />
25<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" />
26<#assign valoracionesDisplayAverage = 0/>
27<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
28 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
29 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
30</#if>
31
32<#assign itinerancesActive = UtilsService.getDateRelatedItinerancia(journalArticleId,themeDisplay) />
33
34<#-- Escape title text -->
35<#assign titleEscaped = "" />
36<#if title.getData()??>
37 <#assign titleEscaped = title.getData()?replace('<p>','','r')/>
38 <#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
39 <#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
40 <#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
41 <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
42 <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
43 <#assign titleEscaped = titleEscaped?replace('"','"','r')/>
44</#if>
45
46<#assign subtituloEscaped = "" />
47<#if subtitle.getData()??>
48 <#assign subtituloEscaped = subtitle.getData() />
49 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
50 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
51</#if>
52
53<#-- get image alt -->
54<#-- En PCC no viene ningun alt para las imagenes-->
55 <#assign altImage = titleEscaped />
56
57<#-- get image banner -->
58<#if thumbnail ?? && thumbnail.getData() ?? && thumbnail.getData() != "">
59 <#assign imageSrc = thumbnail.getData() />
60<#elseif bannerImage?? && bannerImage.getData()?? && bannerImage.getData() != "">
61 <#assign imageSrc = bannerImage.getData() />
62<#else>
63 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-actividades.png" />
64</#if>
65
66<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
67<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
68<#assign categories = thesaurusCategories + tagsCategories />
69
70<#-- Login -->
71<#assign is_signed_in = themeDisplay.isSignedIn()/>
72<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
73<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
74${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
75${loginURL.setWindowState("POP_UP")}
76
77<#assign isAlumno = false />
78<#if is_signed_in>
79 <#assign isAlumno = UtilsService.isAlumno(themeDisplay.getUserId()) />
80</#if>
81
82<#-- Centers -->
83<#assign plidCenter = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet") />
84<#assign centersURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
85${centersURL.setParameter("mvcRenderCommandName", "get_centers")}
86${centersURL.setWindowState("POP_UP")}
87${centersURL.setParameter("articleId", journalArticleId)}
88<#assign centersBookingURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
89${centersBookingURL.setParameter("mvcRenderCommandName", "get_centers")}
90${centersBookingURL.setWindowState("POP_UP")}
91${centersBookingURL.setParameter("articleId", journalArticleId)}
92${centersBookingURL.setParameter("isBooking", "true")}
93
94<#assign language = themeDisplay.getLocale()/>
95<#assign area_conocimiento = []>
96<#assign competencias = []>
97
98<#list asset.getCategories() as cur_category>
99 <#if cur_category.vocabularyId == 10515>
100 <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]>
101 <#elseif cur_category.vocabularyId == 401>
102 <#assign competencias = competencias + [cur_category.getTitle(language)]>
103 </#if>
104</#list>
105
106<#-- button plan -->
107<#assign CentersService = serviceLocator.findService("com.educaixa.planner.core.activitylist.service.CenterService")/>
108<#assign hasCentersToPlan = CentersService.hasCentersToPlan(journalArticleId, themeDisplay)/>
109<#-- -->
110
111<#if FBLCID ?? && FBLCID.getData() ?? && FBLCID.getData() != "">
112 <#assign fblcActivityId = FBLCID.getData()?replace(' ','','r') />
113</#if>
114
115<#-- Identificador symphony itinerante -->
116<#assign symphonyActivityId = propsUtil.get("symphony.fblcActivityId") />
117
118<#-- W-664 START -->
119<#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")/>
120
121<#assign titlesActivityTest = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente.list") />
122<#if titlesActivityTest?has_content>
123<#assign titlesActivityList = titlesActivityTest?split(",") />
124<#assign titleEscapedUC = titleEscaped?lower_case />
125</#if>
126<#list titlesActivityList as titleTest>
127 <#assign titleTestUC = titleTest?lower_case />
128 <#if titleEscapedUC==titleTestUC>
129 <#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente") />
130 </#if>
131</#list>
132<#-- W-664 END -->
133
134<div class="cards element row" id="1" style="">
135 <div class="col-lg-12">
136 <div class="element-img ">
137 <a href = "${card_url}" class="element-img actividades">
138 <img alt="${altImage}" src="${imageSrc}">
139 </a>
140 </div>
141 <div class="element-text">
142 <#-- <span class="element-type color-caixa-blue">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")}</span> -->
143 <span class="element-type color-caixa-blue">${activityType} </span>
144 <label id="added_label" data-fblcid="${fblcActivityId}" class="card-course__tag hide">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.TAG.ADDED")}</label>
145 <a href="${card_url}">
146 <#if title?has_content>
147 <h3 class="element-title">${titleEscaped}</h3>
148 </#if>
149 <#if subtitle?has_content>
150 <p class="element-body">${subtituloEscaped}</p>
151 </#if>
152 </a>
153 </div>
154 <div class="valoration-row">
155 <div class="links-wrapper">
156 <#if categories?has_content>
157 <div class="bloque hide-below-980">
158 <div class="tags">
159 <#list categories as category>
160 <#-- redirects to the results page with the tag-->
161 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
162 </#list>
163 </div>
164 </div>
165 </#if>
166 </div>
167 </div>
168 <div>
169 <p></p>
170 <div class="card-share flex">
171 <#if card_url != "">
172 <#if symphonyActivityId != fblcActivityId>
173 <#if itinerancesActive && hasCentersToPlan>
174 <#if is_signed_in>
175 <#if !isAlumno>
176 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${centersBookingURL}','','700', '800')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
177 </#if>
178 <#else>
179 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
180 </#if>
181 <#if !isAlumno>
182 <button id="plan_button" data-fblcid="${fblcActivityId}" onClick="addGTMAddActivityToPlani('${titleEscaped?js_string?html}','${fblcActivityId}','','${area_conocimiento?join(", ")}','${competencias?join(", ")}');event.stopPropagation();openPopup('${centersURL}','','700', '800')" class="card-button btn-primary btn-default ml-2">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.PLAN.BUTTON")}</button>
183 </#if>
184 </#if>
185 </#if>
186 </#if>
187 <div class="card-actions flex">
188 <div class="statistics">
189 <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line>
190 <path class="circle-bg" d="M18 2.0845
191 a 15.9155 15.9155 0 0 1 0 31.831
192 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
193 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
194 a 15.9155 15.9155 0 0 1 0 31.831
195 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
196 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
197 </svg>
198 </div>
199 <div class="share">
200 <button id="share"></button>
201 <div class="addthis_inline_share_toolbox tooltip"></div>
202 </div>
203 <div class="bookmark">
204 <#if is_signed_in>
205 <#if isUserBookmark>
206 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
207 <#else>
208 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
209 </#if>
210 <#else>
211 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
212 </#if>
213 </div>
214 </div>
215 </div>
216 </div>
217 </div>
218</div>
219
220<script>
221$( document ).ready(function() {
222 initAddThis();
223
224 var fblcActivityId = '${fblcActivityId}';
225
226 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
227
228
229 $(document).bind("DOMNodeRemoved", function(e)
230 {
231 var currentTarget = e.target;
232 if (currentTarget){
233 var idName = currentTarget.id;
234 if (idName == 'dialog'){
235 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
236 PlannerIcons.refreshIcons();
237 }
238 }
239
240 });
241});
242
243function hideLabelActivity(fblcActivityId){
244
245 var plan_button = document.getElementById("plan_button");
246
247
248 $("#added_label[data-fblcid='" + fblcActivityId + "']").addClass('hide');
249}
250
251function showLabelActivity(fblcActivityId){
252 $("#added_label[data-fblcid='" + fblcActivityId + "']").removeClass('hide');
253 $("#plan_button[data-fblcid='" + fblcActivityId + "']").addClass('card-button-dark');
254 $("#plan_button[data-fblcid='" + fblcActivityId + "']").text('${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.GO.PLANIFICADOR")}');
255 var url = getPlannerUrl();
256 $("#plan_button[data-fblcid='" + fblcActivityId + "']").attr('onclick','location.href=\''+url+'\'');
257 $("#book_button[data-fblcid='" + fblcActivityId + "']").hide();
258
259}
260
261function getPlannerUrl(){
262 if(!${is_signed_in?c}) {
263 url = Liferay.Util.PortletURL.createPortletURL(
264 '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}',
265 {
266 'p_p_id': 'com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet',
267 'activities': JSON.stringify(LocalStorage.getAllByPrefix(ACTIVITY_PREFIX))
268 }
269 );
270 }
271 else url = '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}';
272 return url;
273}
274
275</script>
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService") [in template "10154#10192#40444774" at line 3, column 25] ---- 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 UtilsService = serviceLocator... [in template "10154#10192#40444774" at line 3, column 1] ----
1<#-- get services -->
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/>
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/>
6<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
7<#assign language = themeDisplay.getLocale()/>
8<#assign groupId = themeDisplay.getScopeGroupId()/>
9<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") />
10<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
11<#assign httpServletRequest = serviceContext.getRequest() />
12<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") />
13
14<#-- get the content categories -->
15<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
16<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
17
18<#assign journalArticleId = .vars['reserved-article-id'].data/>
19<#assign userId =themeDisplay.getUserId()/>
20<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
21
22<#-- get the content URL -->
23<#assign jaUrlTitle = article.getUrlTitle() />
24<#assign card_url = "https://${request.serverName}/${locale.getLanguage()}/-/${jaUrlTitle}" />
25<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" />
26<#assign valoracionesDisplayAverage = 0/>
27<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
28 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
29 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
30</#if>
31
32<#assign itinerancesActive = UtilsService.getDateRelatedItinerancia(journalArticleId,themeDisplay) />
33
34<#-- Escape title text -->
35<#assign titleEscaped = "" />
36<#if title.getData()??>
37 <#assign titleEscaped = title.getData()?replace('<p>','','r')/>
38 <#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
39 <#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
40 <#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
41 <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
42 <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
43 <#assign titleEscaped = titleEscaped?replace('"','"','r')/>
44</#if>
45
46<#assign subtituloEscaped = "" />
47<#if subtitle.getData()??>
48 <#assign subtituloEscaped = subtitle.getData() />
49 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
50 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
51</#if>
52
53<#-- get image alt -->
54<#-- En PCC no viene ningun alt para las imagenes-->
55 <#assign altImage = titleEscaped />
56
57<#-- get image banner -->
58<#if thumbnail ?? && thumbnail.getData() ?? && thumbnail.getData() != "">
59 <#assign imageSrc = thumbnail.getData() />
60<#elseif bannerImage?? && bannerImage.getData()?? && bannerImage.getData() != "">
61 <#assign imageSrc = bannerImage.getData() />
62<#else>
63 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-actividades.png" />
64</#if>
65
66<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
67<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
68<#assign categories = thesaurusCategories + tagsCategories />
69
70<#-- Login -->
71<#assign is_signed_in = themeDisplay.isSignedIn()/>
72<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
73<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
74${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
75${loginURL.setWindowState("POP_UP")}
76
77<#assign isAlumno = false />
78<#if is_signed_in>
79 <#assign isAlumno = UtilsService.isAlumno(themeDisplay.getUserId()) />
80</#if>
81
82<#-- Centers -->
83<#assign plidCenter = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet") />
84<#assign centersURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
85${centersURL.setParameter("mvcRenderCommandName", "get_centers")}
86${centersURL.setWindowState("POP_UP")}
87${centersURL.setParameter("articleId", journalArticleId)}
88<#assign centersBookingURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
89${centersBookingURL.setParameter("mvcRenderCommandName", "get_centers")}
90${centersBookingURL.setWindowState("POP_UP")}
91${centersBookingURL.setParameter("articleId", journalArticleId)}
92${centersBookingURL.setParameter("isBooking", "true")}
93
94<#assign language = themeDisplay.getLocale()/>
95<#assign area_conocimiento = []>
96<#assign competencias = []>
97
98<#list asset.getCategories() as cur_category>
99 <#if cur_category.vocabularyId == 10515>
100 <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]>
101 <#elseif cur_category.vocabularyId == 401>
102 <#assign competencias = competencias + [cur_category.getTitle(language)]>
103 </#if>
104</#list>
105
106<#-- button plan -->
107<#assign CentersService = serviceLocator.findService("com.educaixa.planner.core.activitylist.service.CenterService")/>
108<#assign hasCentersToPlan = CentersService.hasCentersToPlan(journalArticleId, themeDisplay)/>
109<#-- -->
110
111<#if FBLCID ?? && FBLCID.getData() ?? && FBLCID.getData() != "">
112 <#assign fblcActivityId = FBLCID.getData()?replace(' ','','r') />
113</#if>
114
115<#-- Identificador symphony itinerante -->
116<#assign symphonyActivityId = propsUtil.get("symphony.fblcActivityId") />
117
118<#-- W-664 START -->
119<#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")/>
120
121<#assign titlesActivityTest = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente.list") />
122<#if titlesActivityTest?has_content>
123<#assign titlesActivityList = titlesActivityTest?split(",") />
124<#assign titleEscapedUC = titleEscaped?lower_case />
125</#if>
126<#list titlesActivityList as titleTest>
127 <#assign titleTestUC = titleTest?lower_case />
128 <#if titleEscapedUC==titleTestUC>
129 <#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente") />
130 </#if>
131</#list>
132<#-- W-664 END -->
133
134<div class="cards element row" id="1" style="">
135 <div class="col-lg-12">
136 <div class="element-img ">
137 <a href = "${card_url}" class="element-img actividades">
138 <img alt="${altImage}" src="${imageSrc}">
139 </a>
140 </div>
141 <div class="element-text">
142 <#-- <span class="element-type color-caixa-blue">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")}</span> -->
143 <span class="element-type color-caixa-blue">${activityType} </span>
144 <label id="added_label" data-fblcid="${fblcActivityId}" class="card-course__tag hide">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.TAG.ADDED")}</label>
145 <a href="${card_url}">
146 <#if title?has_content>
147 <h3 class="element-title">${titleEscaped}</h3>
148 </#if>
149 <#if subtitle?has_content>
150 <p class="element-body">${subtituloEscaped}</p>
151 </#if>
152 </a>
153 </div>
154 <div class="valoration-row">
155 <div class="links-wrapper">
156 <#if categories?has_content>
157 <div class="bloque hide-below-980">
158 <div class="tags">
159 <#list categories as category>
160 <#-- redirects to the results page with the tag-->
161 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
162 </#list>
163 </div>
164 </div>
165 </#if>
166 </div>
167 </div>
168 <div>
169 <p></p>
170 <div class="card-share flex">
171 <#if card_url != "">
172 <#if symphonyActivityId != fblcActivityId>
173 <#if itinerancesActive && hasCentersToPlan>
174 <#if is_signed_in>
175 <#if !isAlumno>
176 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${centersBookingURL}','','700', '800')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
177 </#if>
178 <#else>
179 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
180 </#if>
181 <#if !isAlumno>
182 <button id="plan_button" data-fblcid="${fblcActivityId}" onClick="addGTMAddActivityToPlani('${titleEscaped?js_string?html}','${fblcActivityId}','','${area_conocimiento?join(", ")}','${competencias?join(", ")}');event.stopPropagation();openPopup('${centersURL}','','700', '800')" class="card-button btn-primary btn-default ml-2">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.PLAN.BUTTON")}</button>
183 </#if>
184 </#if>
185 </#if>
186 </#if>
187 <div class="card-actions flex">
188 <div class="statistics">
189 <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line>
190 <path class="circle-bg" d="M18 2.0845
191 a 15.9155 15.9155 0 0 1 0 31.831
192 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
193 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
194 a 15.9155 15.9155 0 0 1 0 31.831
195 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
196 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
197 </svg>
198 </div>
199 <div class="share">
200 <button id="share"></button>
201 <div class="addthis_inline_share_toolbox tooltip"></div>
202 </div>
203 <div class="bookmark">
204 <#if is_signed_in>
205 <#if isUserBookmark>
206 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
207 <#else>
208 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
209 </#if>
210 <#else>
211 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
212 </#if>
213 </div>
214 </div>
215 </div>
216 </div>
217 </div>
218</div>
219
220<script>
221$( document ).ready(function() {
222 initAddThis();
223
224 var fblcActivityId = '${fblcActivityId}';
225
226 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
227
228
229 $(document).bind("DOMNodeRemoved", function(e)
230 {
231 var currentTarget = e.target;
232 if (currentTarget){
233 var idName = currentTarget.id;
234 if (idName == 'dialog'){
235 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
236 PlannerIcons.refreshIcons();
237 }
238 }
239
240 });
241});
242
243function hideLabelActivity(fblcActivityId){
244
245 var plan_button = document.getElementById("plan_button");
246
247
248 $("#added_label[data-fblcid='" + fblcActivityId + "']").addClass('hide');
249}
250
251function showLabelActivity(fblcActivityId){
252 $("#added_label[data-fblcid='" + fblcActivityId + "']").removeClass('hide');
253 $("#plan_button[data-fblcid='" + fblcActivityId + "']").addClass('card-button-dark');
254 $("#plan_button[data-fblcid='" + fblcActivityId + "']").text('${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.GO.PLANIFICADOR")}');
255 var url = getPlannerUrl();
256 $("#plan_button[data-fblcid='" + fblcActivityId + "']").attr('onclick','location.href=\''+url+'\'');
257 $("#book_button[data-fblcid='" + fblcActivityId + "']").hide();
258
259}
260
261function getPlannerUrl(){
262 if(!${is_signed_in?c}) {
263 url = Liferay.Util.PortletURL.createPortletURL(
264 '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}',
265 {
266 'p_p_id': 'com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet',
267 'activities': JSON.stringify(LocalStorage.getAllByPrefix(ACTIVITY_PREFIX))
268 }
269 );
270 }
271 else url = '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}';
272 return url;
273}
274
275</script>
Uneix-te a EduCaixa i comença a descobrir l'univers de continguts educatius que tenim preparats per a tu.
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService") [in template "10154#10192#40444774" at line 3, column 25] ---- 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 UtilsService = serviceLocator... [in template "10154#10192#40444774" at line 3, column 1] ----
1<#-- get services -->
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/>
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/>
6<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
7<#assign language = themeDisplay.getLocale()/>
8<#assign groupId = themeDisplay.getScopeGroupId()/>
9<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") />
10<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
11<#assign httpServletRequest = serviceContext.getRequest() />
12<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") />
13
14<#-- get the content categories -->
15<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
16<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
17
18<#assign journalArticleId = .vars['reserved-article-id'].data/>
19<#assign userId =themeDisplay.getUserId()/>
20<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
21
22<#-- get the content URL -->
23<#assign jaUrlTitle = article.getUrlTitle() />
24<#assign card_url = "https://${request.serverName}/${locale.getLanguage()}/-/${jaUrlTitle}" />
25<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" />
26<#assign valoracionesDisplayAverage = 0/>
27<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
28 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
29 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
30</#if>
31
32<#assign itinerancesActive = UtilsService.getDateRelatedItinerancia(journalArticleId,themeDisplay) />
33
34<#-- Escape title text -->
35<#assign titleEscaped = "" />
36<#if title.getData()??>
37 <#assign titleEscaped = title.getData()?replace('<p>','','r')/>
38 <#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
39 <#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
40 <#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
41 <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
42 <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
43 <#assign titleEscaped = titleEscaped?replace('"','"','r')/>
44</#if>
45
46<#assign subtituloEscaped = "" />
47<#if subtitle.getData()??>
48 <#assign subtituloEscaped = subtitle.getData() />
49 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
50 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
51</#if>
52
53<#-- get image alt -->
54<#-- En PCC no viene ningun alt para las imagenes-->
55 <#assign altImage = titleEscaped />
56
57<#-- get image banner -->
58<#if thumbnail ?? && thumbnail.getData() ?? && thumbnail.getData() != "">
59 <#assign imageSrc = thumbnail.getData() />
60<#elseif bannerImage?? && bannerImage.getData()?? && bannerImage.getData() != "">
61 <#assign imageSrc = bannerImage.getData() />
62<#else>
63 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-actividades.png" />
64</#if>
65
66<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
67<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
68<#assign categories = thesaurusCategories + tagsCategories />
69
70<#-- Login -->
71<#assign is_signed_in = themeDisplay.isSignedIn()/>
72<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
73<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
74${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
75${loginURL.setWindowState("POP_UP")}
76
77<#assign isAlumno = false />
78<#if is_signed_in>
79 <#assign isAlumno = UtilsService.isAlumno(themeDisplay.getUserId()) />
80</#if>
81
82<#-- Centers -->
83<#assign plidCenter = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet") />
84<#assign centersURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
85${centersURL.setParameter("mvcRenderCommandName", "get_centers")}
86${centersURL.setWindowState("POP_UP")}
87${centersURL.setParameter("articleId", journalArticleId)}
88<#assign centersBookingURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
89${centersBookingURL.setParameter("mvcRenderCommandName", "get_centers")}
90${centersBookingURL.setWindowState("POP_UP")}
91${centersBookingURL.setParameter("articleId", journalArticleId)}
92${centersBookingURL.setParameter("isBooking", "true")}
93
94<#assign language = themeDisplay.getLocale()/>
95<#assign area_conocimiento = []>
96<#assign competencias = []>
97
98<#list asset.getCategories() as cur_category>
99 <#if cur_category.vocabularyId == 10515>
100 <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]>
101 <#elseif cur_category.vocabularyId == 401>
102 <#assign competencias = competencias + [cur_category.getTitle(language)]>
103 </#if>
104</#list>
105
106<#-- button plan -->
107<#assign CentersService = serviceLocator.findService("com.educaixa.planner.core.activitylist.service.CenterService")/>
108<#assign hasCentersToPlan = CentersService.hasCentersToPlan(journalArticleId, themeDisplay)/>
109<#-- -->
110
111<#if FBLCID ?? && FBLCID.getData() ?? && FBLCID.getData() != "">
112 <#assign fblcActivityId = FBLCID.getData()?replace(' ','','r') />
113</#if>
114
115<#-- Identificador symphony itinerante -->
116<#assign symphonyActivityId = propsUtil.get("symphony.fblcActivityId") />
117
118<#-- W-664 START -->
119<#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")/>
120
121<#assign titlesActivityTest = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente.list") />
122<#if titlesActivityTest?has_content>
123<#assign titlesActivityList = titlesActivityTest?split(",") />
124<#assign titleEscapedUC = titleEscaped?lower_case />
125</#if>
126<#list titlesActivityList as titleTest>
127 <#assign titleTestUC = titleTest?lower_case />
128 <#if titleEscapedUC==titleTestUC>
129 <#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente") />
130 </#if>
131</#list>
132<#-- W-664 END -->
133
134<div class="cards element row" id="1" style="">
135 <div class="col-lg-12">
136 <div class="element-img ">
137 <a href = "${card_url}" class="element-img actividades">
138 <img alt="${altImage}" src="${imageSrc}">
139 </a>
140 </div>
141 <div class="element-text">
142 <#-- <span class="element-type color-caixa-blue">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")}</span> -->
143 <span class="element-type color-caixa-blue">${activityType} </span>
144 <label id="added_label" data-fblcid="${fblcActivityId}" class="card-course__tag hide">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.TAG.ADDED")}</label>
145 <a href="${card_url}">
146 <#if title?has_content>
147 <h3 class="element-title">${titleEscaped}</h3>
148 </#if>
149 <#if subtitle?has_content>
150 <p class="element-body">${subtituloEscaped}</p>
151 </#if>
152 </a>
153 </div>
154 <div class="valoration-row">
155 <div class="links-wrapper">
156 <#if categories?has_content>
157 <div class="bloque hide-below-980">
158 <div class="tags">
159 <#list categories as category>
160 <#-- redirects to the results page with the tag-->
161 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
162 </#list>
163 </div>
164 </div>
165 </#if>
166 </div>
167 </div>
168 <div>
169 <p></p>
170 <div class="card-share flex">
171 <#if card_url != "">
172 <#if symphonyActivityId != fblcActivityId>
173 <#if itinerancesActive && hasCentersToPlan>
174 <#if is_signed_in>
175 <#if !isAlumno>
176 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${centersBookingURL}','','700', '800')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
177 </#if>
178 <#else>
179 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
180 </#if>
181 <#if !isAlumno>
182 <button id="plan_button" data-fblcid="${fblcActivityId}" onClick="addGTMAddActivityToPlani('${titleEscaped?js_string?html}','${fblcActivityId}','','${area_conocimiento?join(", ")}','${competencias?join(", ")}');event.stopPropagation();openPopup('${centersURL}','','700', '800')" class="card-button btn-primary btn-default ml-2">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.PLAN.BUTTON")}</button>
183 </#if>
184 </#if>
185 </#if>
186 </#if>
187 <div class="card-actions flex">
188 <div class="statistics">
189 <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line>
190 <path class="circle-bg" d="M18 2.0845
191 a 15.9155 15.9155 0 0 1 0 31.831
192 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
193 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
194 a 15.9155 15.9155 0 0 1 0 31.831
195 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
196 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
197 </svg>
198 </div>
199 <div class="share">
200 <button id="share"></button>
201 <div class="addthis_inline_share_toolbox tooltip"></div>
202 </div>
203 <div class="bookmark">
204 <#if is_signed_in>
205 <#if isUserBookmark>
206 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
207 <#else>
208 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
209 </#if>
210 <#else>
211 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
212 </#if>
213 </div>
214 </div>
215 </div>
216 </div>
217 </div>
218</div>
219
220<script>
221$( document ).ready(function() {
222 initAddThis();
223
224 var fblcActivityId = '${fblcActivityId}';
225
226 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
227
228
229 $(document).bind("DOMNodeRemoved", function(e)
230 {
231 var currentTarget = e.target;
232 if (currentTarget){
233 var idName = currentTarget.id;
234 if (idName == 'dialog'){
235 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
236 PlannerIcons.refreshIcons();
237 }
238 }
239
240 });
241});
242
243function hideLabelActivity(fblcActivityId){
244
245 var plan_button = document.getElementById("plan_button");
246
247
248 $("#added_label[data-fblcid='" + fblcActivityId + "']").addClass('hide');
249}
250
251function showLabelActivity(fblcActivityId){
252 $("#added_label[data-fblcid='" + fblcActivityId + "']").removeClass('hide');
253 $("#plan_button[data-fblcid='" + fblcActivityId + "']").addClass('card-button-dark');
254 $("#plan_button[data-fblcid='" + fblcActivityId + "']").text('${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.GO.PLANIFICADOR")}');
255 var url = getPlannerUrl();
256 $("#plan_button[data-fblcid='" + fblcActivityId + "']").attr('onclick','location.href=\''+url+'\'');
257 $("#book_button[data-fblcid='" + fblcActivityId + "']").hide();
258
259}
260
261function getPlannerUrl(){
262 if(!${is_signed_in?c}) {
263 url = Liferay.Util.PortletURL.createPortletURL(
264 '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}',
265 {
266 'p_p_id': 'com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet',
267 'activities': JSON.stringify(LocalStorage.getAllByPrefix(ACTIVITY_PREFIX))
268 }
269 );
270 }
271 else url = '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}';
272 return url;
273}
274
275</script>
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService") [in template "10154#10192#40444774" at line 3, column 25] ---- 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 UtilsService = serviceLocator... [in template "10154#10192#40444774" at line 3, column 1] ----
1<#-- get services -->
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/>
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/>
6<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
7<#assign language = themeDisplay.getLocale()/>
8<#assign groupId = themeDisplay.getScopeGroupId()/>
9<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") />
10<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
11<#assign httpServletRequest = serviceContext.getRequest() />
12<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") />
13
14<#-- get the content categories -->
15<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
16<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
17
18<#assign journalArticleId = .vars['reserved-article-id'].data/>
19<#assign userId =themeDisplay.getUserId()/>
20<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
21
22<#-- get the content URL -->
23<#assign jaUrlTitle = article.getUrlTitle() />
24<#assign card_url = "https://${request.serverName}/${locale.getLanguage()}/-/${jaUrlTitle}" />
25<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" />
26<#assign valoracionesDisplayAverage = 0/>
27<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
28 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
29 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
30</#if>
31
32<#assign itinerancesActive = UtilsService.getDateRelatedItinerancia(journalArticleId,themeDisplay) />
33
34<#-- Escape title text -->
35<#assign titleEscaped = "" />
36<#if title.getData()??>
37 <#assign titleEscaped = title.getData()?replace('<p>','','r')/>
38 <#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
39 <#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
40 <#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
41 <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
42 <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
43 <#assign titleEscaped = titleEscaped?replace('"','"','r')/>
44</#if>
45
46<#assign subtituloEscaped = "" />
47<#if subtitle.getData()??>
48 <#assign subtituloEscaped = subtitle.getData() />
49 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
50 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
51</#if>
52
53<#-- get image alt -->
54<#-- En PCC no viene ningun alt para las imagenes-->
55 <#assign altImage = titleEscaped />
56
57<#-- get image banner -->
58<#if thumbnail ?? && thumbnail.getData() ?? && thumbnail.getData() != "">
59 <#assign imageSrc = thumbnail.getData() />
60<#elseif bannerImage?? && bannerImage.getData()?? && bannerImage.getData() != "">
61 <#assign imageSrc = bannerImage.getData() />
62<#else>
63 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-actividades.png" />
64</#if>
65
66<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
67<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
68<#assign categories = thesaurusCategories + tagsCategories />
69
70<#-- Login -->
71<#assign is_signed_in = themeDisplay.isSignedIn()/>
72<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
73<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
74${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
75${loginURL.setWindowState("POP_UP")}
76
77<#assign isAlumno = false />
78<#if is_signed_in>
79 <#assign isAlumno = UtilsService.isAlumno(themeDisplay.getUserId()) />
80</#if>
81
82<#-- Centers -->
83<#assign plidCenter = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet") />
84<#assign centersURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
85${centersURL.setParameter("mvcRenderCommandName", "get_centers")}
86${centersURL.setWindowState("POP_UP")}
87${centersURL.setParameter("articleId", journalArticleId)}
88<#assign centersBookingURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
89${centersBookingURL.setParameter("mvcRenderCommandName", "get_centers")}
90${centersBookingURL.setWindowState("POP_UP")}
91${centersBookingURL.setParameter("articleId", journalArticleId)}
92${centersBookingURL.setParameter("isBooking", "true")}
93
94<#assign language = themeDisplay.getLocale()/>
95<#assign area_conocimiento = []>
96<#assign competencias = []>
97
98<#list asset.getCategories() as cur_category>
99 <#if cur_category.vocabularyId == 10515>
100 <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]>
101 <#elseif cur_category.vocabularyId == 401>
102 <#assign competencias = competencias + [cur_category.getTitle(language)]>
103 </#if>
104</#list>
105
106<#-- button plan -->
107<#assign CentersService = serviceLocator.findService("com.educaixa.planner.core.activitylist.service.CenterService")/>
108<#assign hasCentersToPlan = CentersService.hasCentersToPlan(journalArticleId, themeDisplay)/>
109<#-- -->
110
111<#if FBLCID ?? && FBLCID.getData() ?? && FBLCID.getData() != "">
112 <#assign fblcActivityId = FBLCID.getData()?replace(' ','','r') />
113</#if>
114
115<#-- Identificador symphony itinerante -->
116<#assign symphonyActivityId = propsUtil.get("symphony.fblcActivityId") />
117
118<#-- W-664 START -->
119<#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")/>
120
121<#assign titlesActivityTest = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente.list") />
122<#if titlesActivityTest?has_content>
123<#assign titlesActivityList = titlesActivityTest?split(",") />
124<#assign titleEscapedUC = titleEscaped?lower_case />
125</#if>
126<#list titlesActivityList as titleTest>
127 <#assign titleTestUC = titleTest?lower_case />
128 <#if titleEscapedUC==titleTestUC>
129 <#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente") />
130 </#if>
131</#list>
132<#-- W-664 END -->
133
134<div class="cards element row" id="1" style="">
135 <div class="col-lg-12">
136 <div class="element-img ">
137 <a href = "${card_url}" class="element-img actividades">
138 <img alt="${altImage}" src="${imageSrc}">
139 </a>
140 </div>
141 <div class="element-text">
142 <#-- <span class="element-type color-caixa-blue">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")}</span> -->
143 <span class="element-type color-caixa-blue">${activityType} </span>
144 <label id="added_label" data-fblcid="${fblcActivityId}" class="card-course__tag hide">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.TAG.ADDED")}</label>
145 <a href="${card_url}">
146 <#if title?has_content>
147 <h3 class="element-title">${titleEscaped}</h3>
148 </#if>
149 <#if subtitle?has_content>
150 <p class="element-body">${subtituloEscaped}</p>
151 </#if>
152 </a>
153 </div>
154 <div class="valoration-row">
155 <div class="links-wrapper">
156 <#if categories?has_content>
157 <div class="bloque hide-below-980">
158 <div class="tags">
159 <#list categories as category>
160 <#-- redirects to the results page with the tag-->
161 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
162 </#list>
163 </div>
164 </div>
165 </#if>
166 </div>
167 </div>
168 <div>
169 <p></p>
170 <div class="card-share flex">
171 <#if card_url != "">
172 <#if symphonyActivityId != fblcActivityId>
173 <#if itinerancesActive && hasCentersToPlan>
174 <#if is_signed_in>
175 <#if !isAlumno>
176 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${centersBookingURL}','','700', '800')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
177 </#if>
178 <#else>
179 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
180 </#if>
181 <#if !isAlumno>
182 <button id="plan_button" data-fblcid="${fblcActivityId}" onClick="addGTMAddActivityToPlani('${titleEscaped?js_string?html}','${fblcActivityId}','','${area_conocimiento?join(", ")}','${competencias?join(", ")}');event.stopPropagation();openPopup('${centersURL}','','700', '800')" class="card-button btn-primary btn-default ml-2">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.PLAN.BUTTON")}</button>
183 </#if>
184 </#if>
185 </#if>
186 </#if>
187 <div class="card-actions flex">
188 <div class="statistics">
189 <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line>
190 <path class="circle-bg" d="M18 2.0845
191 a 15.9155 15.9155 0 0 1 0 31.831
192 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
193 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
194 a 15.9155 15.9155 0 0 1 0 31.831
195 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
196 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
197 </svg>
198 </div>
199 <div class="share">
200 <button id="share"></button>
201 <div class="addthis_inline_share_toolbox tooltip"></div>
202 </div>
203 <div class="bookmark">
204 <#if is_signed_in>
205 <#if isUserBookmark>
206 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
207 <#else>
208 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
209 </#if>
210 <#else>
211 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
212 </#if>
213 </div>
214 </div>
215 </div>
216 </div>
217 </div>
218</div>
219
220<script>
221$( document ).ready(function() {
222 initAddThis();
223
224 var fblcActivityId = '${fblcActivityId}';
225
226 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
227
228
229 $(document).bind("DOMNodeRemoved", function(e)
230 {
231 var currentTarget = e.target;
232 if (currentTarget){
233 var idName = currentTarget.id;
234 if (idName == 'dialog'){
235 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
236 PlannerIcons.refreshIcons();
237 }
238 }
239
240 });
241});
242
243function hideLabelActivity(fblcActivityId){
244
245 var plan_button = document.getElementById("plan_button");
246
247
248 $("#added_label[data-fblcid='" + fblcActivityId + "']").addClass('hide');
249}
250
251function showLabelActivity(fblcActivityId){
252 $("#added_label[data-fblcid='" + fblcActivityId + "']").removeClass('hide');
253 $("#plan_button[data-fblcid='" + fblcActivityId + "']").addClass('card-button-dark');
254 $("#plan_button[data-fblcid='" + fblcActivityId + "']").text('${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.GO.PLANIFICADOR")}');
255 var url = getPlannerUrl();
256 $("#plan_button[data-fblcid='" + fblcActivityId + "']").attr('onclick','location.href=\''+url+'\'');
257 $("#book_button[data-fblcid='" + fblcActivityId + "']").hide();
258
259}
260
261function getPlannerUrl(){
262 if(!${is_signed_in?c}) {
263 url = Liferay.Util.PortletURL.createPortletURL(
264 '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}',
265 {
266 'p_p_id': 'com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet',
267 'activities': JSON.stringify(LocalStorage.getAllByPrefix(ACTIVITY_PREFIX))
268 }
269 );
270 }
271 else url = '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}';
272 return url;
273}
274
275</script>
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService") [in template "10154#10192#40444774" at line 3, column 25] ---- 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 UtilsService = serviceLocator... [in template "10154#10192#40444774" at line 3, column 1] ----
1<#-- get services -->
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/>
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/>
6<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
7<#assign language = themeDisplay.getLocale()/>
8<#assign groupId = themeDisplay.getScopeGroupId()/>
9<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") />
10<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
11<#assign httpServletRequest = serviceContext.getRequest() />
12<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") />
13
14<#-- get the content categories -->
15<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
16<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
17
18<#assign journalArticleId = .vars['reserved-article-id'].data/>
19<#assign userId =themeDisplay.getUserId()/>
20<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
21
22<#-- get the content URL -->
23<#assign jaUrlTitle = article.getUrlTitle() />
24<#assign card_url = "https://${request.serverName}/${locale.getLanguage()}/-/${jaUrlTitle}" />
25<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" />
26<#assign valoracionesDisplayAverage = 0/>
27<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
28 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
29 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
30</#if>
31
32<#assign itinerancesActive = UtilsService.getDateRelatedItinerancia(journalArticleId,themeDisplay) />
33
34<#-- Escape title text -->
35<#assign titleEscaped = "" />
36<#if title.getData()??>
37 <#assign titleEscaped = title.getData()?replace('<p>','','r')/>
38 <#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
39 <#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
40 <#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
41 <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
42 <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
43 <#assign titleEscaped = titleEscaped?replace('"','"','r')/>
44</#if>
45
46<#assign subtituloEscaped = "" />
47<#if subtitle.getData()??>
48 <#assign subtituloEscaped = subtitle.getData() />
49 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
50 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
51</#if>
52
53<#-- get image alt -->
54<#-- En PCC no viene ningun alt para las imagenes-->
55 <#assign altImage = titleEscaped />
56
57<#-- get image banner -->
58<#if thumbnail ?? && thumbnail.getData() ?? && thumbnail.getData() != "">
59 <#assign imageSrc = thumbnail.getData() />
60<#elseif bannerImage?? && bannerImage.getData()?? && bannerImage.getData() != "">
61 <#assign imageSrc = bannerImage.getData() />
62<#else>
63 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-actividades.png" />
64</#if>
65
66<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
67<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
68<#assign categories = thesaurusCategories + tagsCategories />
69
70<#-- Login -->
71<#assign is_signed_in = themeDisplay.isSignedIn()/>
72<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
73<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
74${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
75${loginURL.setWindowState("POP_UP")}
76
77<#assign isAlumno = false />
78<#if is_signed_in>
79 <#assign isAlumno = UtilsService.isAlumno(themeDisplay.getUserId()) />
80</#if>
81
82<#-- Centers -->
83<#assign plidCenter = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet") />
84<#assign centersURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
85${centersURL.setParameter("mvcRenderCommandName", "get_centers")}
86${centersURL.setWindowState("POP_UP")}
87${centersURL.setParameter("articleId", journalArticleId)}
88<#assign centersBookingURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
89${centersBookingURL.setParameter("mvcRenderCommandName", "get_centers")}
90${centersBookingURL.setWindowState("POP_UP")}
91${centersBookingURL.setParameter("articleId", journalArticleId)}
92${centersBookingURL.setParameter("isBooking", "true")}
93
94<#assign language = themeDisplay.getLocale()/>
95<#assign area_conocimiento = []>
96<#assign competencias = []>
97
98<#list asset.getCategories() as cur_category>
99 <#if cur_category.vocabularyId == 10515>
100 <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]>
101 <#elseif cur_category.vocabularyId == 401>
102 <#assign competencias = competencias + [cur_category.getTitle(language)]>
103 </#if>
104</#list>
105
106<#-- button plan -->
107<#assign CentersService = serviceLocator.findService("com.educaixa.planner.core.activitylist.service.CenterService")/>
108<#assign hasCentersToPlan = CentersService.hasCentersToPlan(journalArticleId, themeDisplay)/>
109<#-- -->
110
111<#if FBLCID ?? && FBLCID.getData() ?? && FBLCID.getData() != "">
112 <#assign fblcActivityId = FBLCID.getData()?replace(' ','','r') />
113</#if>
114
115<#-- Identificador symphony itinerante -->
116<#assign symphonyActivityId = propsUtil.get("symphony.fblcActivityId") />
117
118<#-- W-664 START -->
119<#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")/>
120
121<#assign titlesActivityTest = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente.list") />
122<#if titlesActivityTest?has_content>
123<#assign titlesActivityList = titlesActivityTest?split(",") />
124<#assign titleEscapedUC = titleEscaped?lower_case />
125</#if>
126<#list titlesActivityList as titleTest>
127 <#assign titleTestUC = titleTest?lower_case />
128 <#if titleEscapedUC==titleTestUC>
129 <#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente") />
130 </#if>
131</#list>
132<#-- W-664 END -->
133
134<div class="cards element row" id="1" style="">
135 <div class="col-lg-12">
136 <div class="element-img ">
137 <a href = "${card_url}" class="element-img actividades">
138 <img alt="${altImage}" src="${imageSrc}">
139 </a>
140 </div>
141 <div class="element-text">
142 <#-- <span class="element-type color-caixa-blue">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")}</span> -->
143 <span class="element-type color-caixa-blue">${activityType} </span>
144 <label id="added_label" data-fblcid="${fblcActivityId}" class="card-course__tag hide">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.TAG.ADDED")}</label>
145 <a href="${card_url}">
146 <#if title?has_content>
147 <h3 class="element-title">${titleEscaped}</h3>
148 </#if>
149 <#if subtitle?has_content>
150 <p class="element-body">${subtituloEscaped}</p>
151 </#if>
152 </a>
153 </div>
154 <div class="valoration-row">
155 <div class="links-wrapper">
156 <#if categories?has_content>
157 <div class="bloque hide-below-980">
158 <div class="tags">
159 <#list categories as category>
160 <#-- redirects to the results page with the tag-->
161 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
162 </#list>
163 </div>
164 </div>
165 </#if>
166 </div>
167 </div>
168 <div>
169 <p></p>
170 <div class="card-share flex">
171 <#if card_url != "">
172 <#if symphonyActivityId != fblcActivityId>
173 <#if itinerancesActive && hasCentersToPlan>
174 <#if is_signed_in>
175 <#if !isAlumno>
176 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${centersBookingURL}','','700', '800')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
177 </#if>
178 <#else>
179 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
180 </#if>
181 <#if !isAlumno>
182 <button id="plan_button" data-fblcid="${fblcActivityId}" onClick="addGTMAddActivityToPlani('${titleEscaped?js_string?html}','${fblcActivityId}','','${area_conocimiento?join(", ")}','${competencias?join(", ")}');event.stopPropagation();openPopup('${centersURL}','','700', '800')" class="card-button btn-primary btn-default ml-2">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.PLAN.BUTTON")}</button>
183 </#if>
184 </#if>
185 </#if>
186 </#if>
187 <div class="card-actions flex">
188 <div class="statistics">
189 <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line>
190 <path class="circle-bg" d="M18 2.0845
191 a 15.9155 15.9155 0 0 1 0 31.831
192 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
193 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
194 a 15.9155 15.9155 0 0 1 0 31.831
195 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
196 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
197 </svg>
198 </div>
199 <div class="share">
200 <button id="share"></button>
201 <div class="addthis_inline_share_toolbox tooltip"></div>
202 </div>
203 <div class="bookmark">
204 <#if is_signed_in>
205 <#if isUserBookmark>
206 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
207 <#else>
208 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
209 </#if>
210 <#else>
211 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
212 </#if>
213 </div>
214 </div>
215 </div>
216 </div>
217 </div>
218</div>
219
220<script>
221$( document ).ready(function() {
222 initAddThis();
223
224 var fblcActivityId = '${fblcActivityId}';
225
226 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
227
228
229 $(document).bind("DOMNodeRemoved", function(e)
230 {
231 var currentTarget = e.target;
232 if (currentTarget){
233 var idName = currentTarget.id;
234 if (idName == 'dialog'){
235 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
236 PlannerIcons.refreshIcons();
237 }
238 }
239
240 });
241});
242
243function hideLabelActivity(fblcActivityId){
244
245 var plan_button = document.getElementById("plan_button");
246
247
248 $("#added_label[data-fblcid='" + fblcActivityId + "']").addClass('hide');
249}
250
251function showLabelActivity(fblcActivityId){
252 $("#added_label[data-fblcid='" + fblcActivityId + "']").removeClass('hide');
253 $("#plan_button[data-fblcid='" + fblcActivityId + "']").addClass('card-button-dark');
254 $("#plan_button[data-fblcid='" + fblcActivityId + "']").text('${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.GO.PLANIFICADOR")}');
255 var url = getPlannerUrl();
256 $("#plan_button[data-fblcid='" + fblcActivityId + "']").attr('onclick','location.href=\''+url+'\'');
257 $("#book_button[data-fblcid='" + fblcActivityId + "']").hide();
258
259}
260
261function getPlannerUrl(){
262 if(!${is_signed_in?c}) {
263 url = Liferay.Util.PortletURL.createPortletURL(
264 '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}',
265 {
266 'p_p_id': 'com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet',
267 'activities': JSON.stringify(LocalStorage.getAllByPrefix(ACTIVITY_PREFIX))
268 }
269 );
270 }
271 else url = '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}';
272 return url;
273}
274
275</script>
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService") [in template "10154#10192#40444774" at line 3, column 25] ---- 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 UtilsService = serviceLocator... [in template "10154#10192#40444774" at line 3, column 1] ----
1<#-- get services -->
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/>
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
5<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/>
6<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/>
7<#assign language = themeDisplay.getLocale()/>
8<#assign groupId = themeDisplay.getScopeGroupId()/>
9<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") />
10<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
11<#assign httpServletRequest = serviceContext.getRequest() />
12<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") />
13
14<#-- get the content categories -->
15<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) />
16<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) />
17
18<#assign journalArticleId = .vars['reserved-article-id'].data/>
19<#assign userId =themeDisplay.getUserId()/>
20<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/>
21
22<#-- get the content URL -->
23<#assign jaUrlTitle = article.getUrlTitle() />
24<#assign card_url = "https://${request.serverName}/${locale.getLanguage()}/-/${jaUrlTitle}" />
25<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" />
26<#assign valoracionesDisplayAverage = 0/>
27<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??>
28 <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) />
29 <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() />
30</#if>
31
32<#assign itinerancesActive = UtilsService.getDateRelatedItinerancia(journalArticleId,themeDisplay) />
33
34<#-- Escape title text -->
35<#assign titleEscaped = "" />
36<#if title.getData()??>
37 <#assign titleEscaped = title.getData()?replace('<p>','','r')/>
38 <#assign titleEscaped = titleEscaped?replace('</p>','','r')/>
39 <#assign titleEscaped = titleEscaped?replace('<div>','','r')/>
40 <#assign titleEscaped = titleEscaped?replace('</div>','','r')/>
41 <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/>
42 <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/>
43 <#assign titleEscaped = titleEscaped?replace('"','"','r')/>
44</#if>
45
46<#assign subtituloEscaped = "" />
47<#if subtitle.getData()??>
48 <#assign subtituloEscaped = subtitle.getData() />
49 <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/>
50 <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/>
51</#if>
52
53<#-- get image alt -->
54<#-- En PCC no viene ningun alt para las imagenes-->
55 <#assign altImage = titleEscaped />
56
57<#-- get image banner -->
58<#if thumbnail ?? && thumbnail.getData() ?? && thumbnail.getData() != "">
59 <#assign imageSrc = thumbnail.getData() />
60<#elseif bannerImage?? && bannerImage.getData()?? && bannerImage.getData() != "">
61 <#assign imageSrc = bannerImage.getData() />
62<#else>
63 <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-actividades.png" />
64</#if>
65
66<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) />
67<#assign tagsCategories = UtilsService.getTagsCategories(asset) />
68<#assign categories = thesaurusCategories + tagsCategories />
69
70<#-- Login -->
71<#assign is_signed_in = themeDisplay.isSignedIn()/>
72<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") />
73<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") />
74${loginURL.setParameter("mvcPath", "/login_modal.jsp")}
75${loginURL.setWindowState("POP_UP")}
76
77<#assign isAlumno = false />
78<#if is_signed_in>
79 <#assign isAlumno = UtilsService.isAlumno(themeDisplay.getUserId()) />
80</#if>
81
82<#-- Centers -->
83<#assign plidCenter = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet") />
84<#assign centersURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
85${centersURL.setParameter("mvcRenderCommandName", "get_centers")}
86${centersURL.setWindowState("POP_UP")}
87${centersURL.setParameter("articleId", journalArticleId)}
88<#assign centersBookingURL = portletURLFactory.create(httpServletRequest, "com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet", plidCenter, "RENDER_PHASE") />
89${centersBookingURL.setParameter("mvcRenderCommandName", "get_centers")}
90${centersBookingURL.setWindowState("POP_UP")}
91${centersBookingURL.setParameter("articleId", journalArticleId)}
92${centersBookingURL.setParameter("isBooking", "true")}
93
94<#assign language = themeDisplay.getLocale()/>
95<#assign area_conocimiento = []>
96<#assign competencias = []>
97
98<#list asset.getCategories() as cur_category>
99 <#if cur_category.vocabularyId == 10515>
100 <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]>
101 <#elseif cur_category.vocabularyId == 401>
102 <#assign competencias = competencias + [cur_category.getTitle(language)]>
103 </#if>
104</#list>
105
106<#-- button plan -->
107<#assign CentersService = serviceLocator.findService("com.educaixa.planner.core.activitylist.service.CenterService")/>
108<#assign hasCentersToPlan = CentersService.hasCentersToPlan(journalArticleId, themeDisplay)/>
109<#-- -->
110
111<#if FBLCID ?? && FBLCID.getData() ?? && FBLCID.getData() != "">
112 <#assign fblcActivityId = FBLCID.getData()?replace(' ','','r') />
113</#if>
114
115<#-- Identificador symphony itinerante -->
116<#assign symphonyActivityId = propsUtil.get("symphony.fblcActivityId") />
117
118<#-- W-664 START -->
119<#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")/>
120
121<#assign titlesActivityTest = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente.list") />
122<#if titlesActivityTest?has_content>
123<#assign titlesActivityList = titlesActivityTest?split(",") />
124<#assign titleEscapedUC = titleEscaped?lower_case />
125</#if>
126<#list titlesActivityList as titleTest>
127 <#assign titleTestUC = titleTest?lower_case />
128 <#if titleEscapedUC==titleTestUC>
129 <#assign activityType = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.actividad.exposicion.permanente") />
130 </#if>
131</#list>
132<#-- W-664 END -->
133
134<div class="cards element row" id="1" style="">
135 <div class="col-lg-12">
136 <div class="element-img ">
137 <a href = "${card_url}" class="element-img actividades">
138 <img alt="${altImage}" src="${imageSrc}">
139 </a>
140 </div>
141 <div class="element-text">
142 <#-- <span class="element-type color-caixa-blue">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.actividad")}</span> -->
143 <span class="element-type color-caixa-blue">${activityType} </span>
144 <label id="added_label" data-fblcid="${fblcActivityId}" class="card-course__tag hide">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.TAG.ADDED")}</label>
145 <a href="${card_url}">
146 <#if title?has_content>
147 <h3 class="element-title">${titleEscaped}</h3>
148 </#if>
149 <#if subtitle?has_content>
150 <p class="element-body">${subtituloEscaped}</p>
151 </#if>
152 </a>
153 </div>
154 <div class="valoration-row">
155 <div class="links-wrapper">
156 <#if categories?has_content>
157 <div class="bloque hide-below-980">
158 <div class="tags">
159 <#list categories as category>
160 <#-- redirects to the results page with the tag-->
161 <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" >${category.getTitle(locale)}</a>
162 </#list>
163 </div>
164 </div>
165 </#if>
166 </div>
167 </div>
168 <div>
169 <p></p>
170 <div class="card-share flex">
171 <#if card_url != "">
172 <#if symphonyActivityId != fblcActivityId>
173 <#if itinerancesActive && hasCentersToPlan>
174 <#if is_signed_in>
175 <#if !isAlumno>
176 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${centersBookingURL}','','700', '800')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
177 </#if>
178 <#else>
179 <button id="book_button" data-fblcid="${fblcActivityId}" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"class="card-button color-caixa-blue background-white">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.BOOK.BUTTON")}</button>
180 </#if>
181 <#if !isAlumno>
182 <button id="plan_button" data-fblcid="${fblcActivityId}" onClick="addGTMAddActivityToPlani('${titleEscaped?js_string?html}','${fblcActivityId}','','${area_conocimiento?join(", ")}','${competencias?join(", ")}');event.stopPropagation();openPopup('${centersURL}','','700', '800')" class="card-button btn-primary btn-default ml-2">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ACTIVITY.PLAN.BUTTON")}</button>
183 </#if>
184 </#if>
185 </#if>
186 </#if>
187 <div class="card-actions flex">
188 <div class="statistics">
189 <svg viewBox="0 0 36 36" class="circular-chart orange"><line x1="18" y1="-5" x2="18" y2="5" stroke="black" stroke-width="2"></line>
190 <path class="circle-bg" d="M18 2.0845
191 a 15.9155 15.9155 0 0 1 0 31.831
192 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
193 <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845
194 a 15.9155 15.9155 0 0 1 0 31.831
195 a 15.9155 15.9155 0 0 1 0 -31.831"></path>
196 <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text>
197 </svg>
198 </div>
199 <div class="share">
200 <button id="share"></button>
201 <div class="addthis_inline_share_toolbox tooltip"></div>
202 </div>
203 <div class="bookmark">
204 <#if is_signed_in>
205 <#if isUserBookmark>
206 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>
207 <#else>
208 <button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button>
209 </#if>
210 <#else>
211 <button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button>
212 </#if>
213 </div>
214 </div>
215 </div>
216 </div>
217 </div>
218</div>
219
220<script>
221$( document ).ready(function() {
222 initAddThis();
223
224 var fblcActivityId = '${fblcActivityId}';
225
226 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
227
228
229 $(document).bind("DOMNodeRemoved", function(e)
230 {
231 var currentTarget = e.target;
232 if (currentTarget){
233 var idName = currentTarget.id;
234 if (idName == 'dialog'){
235 ActivityList.existsActivity(fblcActivityId, showLabelActivity, hideLabelActivity);
236 PlannerIcons.refreshIcons();
237 }
238 }
239
240 });
241});
242
243function hideLabelActivity(fblcActivityId){
244
245 var plan_button = document.getElementById("plan_button");
246
247
248 $("#added_label[data-fblcid='" + fblcActivityId + "']").addClass('hide');
249}
250
251function showLabelActivity(fblcActivityId){
252 $("#added_label[data-fblcid='" + fblcActivityId + "']").removeClass('hide');
253 $("#plan_button[data-fblcid='" + fblcActivityId + "']").addClass('card-button-dark');
254 $("#plan_button[data-fblcid='" + fblcActivityId + "']").text('${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.GO.PLANIFICADOR")}');
255 var url = getPlannerUrl();
256 $("#plan_button[data-fblcid='" + fblcActivityId + "']").attr('onclick','location.href=\''+url+'\'');
257 $("#book_button[data-fblcid='" + fblcActivityId + "']").hide();
258
259}
260
261function getPlannerUrl(){
262 if(!${is_signed_in?c}) {
263 url = Liferay.Util.PortletURL.createPortletURL(
264 '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}',
265 {
266 'p_p_id': 'com_educaixa_planner_portlet_plannerbuilder_PlannerBuilderActivityListPortlet',
267 'activities': JSON.stringify(LocalStorage.getAllByPrefix(ACTIVITY_PREFIX))
268 }
269 );
270 }
271 else url = '${LiteralsToolsServiceUtil.getLiteral(groupId, language, "COM.EDUCAIXA.PLANNER.ICONS.PLANNERURL")}';
272 return url;
273}
274
275</script>