News

Graduation of the LVXIII Class
On May 30 we celebrated the graduation of the School of Nursing for the 2024-2025 academic year. An act that completes the passage through the School 123 students who will take with them another way of being and another way of doing. another way of being and another way of doing in the nursing profession.
Graduation of the III Master's Degree Class
On June 13th we celebrated the graduation of the third graduating class of the Master's Degree in Advanced internship in Oncology Nursing.

An error occurred while processing the template.
The following has evaluated to null or missing:
==> foto [in template "10136#10174#153676878" at line 190, column 118]
----
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: ${foto} [in template "10136#10174#153676878" at line 190, column 116]
----
1<#assign dateFormat = "dd|MM|yyyy">
2<#if (locale == "en_US")>
3 <#assign dateFormat = "yyyy|MM|dd">
4<#elseif (locale == "eu_ES")>
5 <#assign dateFormat = "MM|dd|yyyy">
6</#if>
7<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
8<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
9<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
10
11<#assign groupFriendlyURL = themeDisplay.getScopeGroup().getFriendlyURL() />
12<#assign friendlyURL = themeDisplay.getScopeGroup().getPathFriendlyURL(false,themeDisplay) + groupFriendlyURL />
13<#assign actualURLFriendly = portalUtil.getHost(request) + friendlyURL />
14
15
16<#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
17<#assign URLEncoder = staticUtil["java.net.URLEncoder"] />
18<#assign Normalizer = staticUtil["java.text.Normalizer"] />
19<#assign currentGroupSite = themeDisplay.getLayout().getGroup().getFriendlyURL() />
20<#if themeDisplay.getLayout().getPrivateLayout() == true >
21 <#assign state = themeDisplay.getPathFriendlyURLPrivateGroup()/>
22<#else>
23 <#assign state = themeDisplay.getPathFriendlyURLPublic()/>
24</#if>
25
26
27
28<#assign readMore = languageUtil.get(locale, "leer.mas")>
29<#assign instanceId = themeDisplay.getPortletDisplay().getId()?replace("com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_", "")>
30<#assign currentPageUrl = PortalUtil.getLayoutURL(themeDisplay.getLayout(),themeDisplay)>
31
32
33<#assign instanceId ="lovPblW1fC70">
34
35
36
37<#if entries?has_content>
38 <div class="container">
39 <div class="row">
40 <#list entries as curEntry>
41 <#assign article = journalArticleLocalService.fetchLatestArticle(curEntry.getClassPK()) />
42 <#assign assetRendererDate = curEntry.getAssetRenderer() />
43 <#assign contentFecha = article.getDisplayDate()?date />
44 <#assign contentFechaURLString = contentFecha?date?string["dd/MM/yyyy"] />
45 <#assign contentFechaString = contentFecha?date?string["dd | MM | yyyy"] />
46
47 <#assign aArticleXML = saxReaderUtil.read(article.getContentByLocale(locale)) />
48 <#assign tituloNoticia = aArticleXML.valueOf("//dynamic-element[@name='Titulo_noticia']/dynamic-content/text()") />
49 <#assign entradilla = aArticleXML.valueOf("//dynamic-element[@name='subtitulo']/dynamic-content/text()") />
50 <#assign autorNombre = aArticleXML.valueOf("//dynamic-element[@name='Nombre_autor']/dynamic-content/text()") />
51 <#assign autorImagen = aArticleXML.valueOf("//dynamic-element[@name='Autor_imagen']/dynamic-content/text()") />
52 <#assign jsonObjectString = aArticleXML.valueOf("//dynamic-element[@name='Imagen']/dynamic-content/text()") />
53 <#assign journalArticleStructure = article.getDDMStructure().getName(locale)/>
54 <#assign dateToUse = article.getDisplayDate()/>
55 <#if journalArticleStructure = "7_Noticia">
56 <#assign rawDate = aArticleXML.valueOf("//dynamic-element[@name='Fecha_noticia']/dynamic-content/text()") />
57
58<#if rawDate?has_content>
59 <#assign parsedDate = rawDate?date("yyyy-MM-dd") />
60
61 <#assign dateToUse = parsedDate />
62 <#assign contentFechaURLString = parsedDate?string["dd/MM/yyyy"] />
63 <#assign contentFechaString = parsedDate?string["dd | MM | yyyy"] />
64<#else>
65 <#assign dateToUse = article.getDisplayDate() />
66 <#assign contentFechaURLString = dateToUse?string["dd/MM/yyyy"] />
67 <#assign contentFechaString = dateToUse?string["dd | MM | yyyy"] />
68</#if>
69 </#if>
70
71 <#assign idNoticia = curEntry.getClassPK()/>
72
73 <#assign video = aArticleXML.valueOf("//dynamic-element[@name='Video_youtube']/dynamic-content/text()") />
74
75 <#assign friendlyContentURL = assetPublisherHelper.getAssetViewURL(portalUtil.getLiferayPortletRequest(renderRequest), portalUtil.getLiferayPortletResponse(renderResponse), curEntry,true) />
76
77 <#assign tituloNoticiaEncoded = friendlyUrlDecode(tituloNoticia)>
78
79 <#-- Urls generated always the same page for unav requirements -->
80 <#assign urlNews = languageUtil.get(locale, "url.news.details", "/noticias")>
81
82
83
84 <#-- WORKAROUND FOR TEMPORAL SITES GO LIVE -->
85
86 <#if scopeGroupId = 11140003>
87
88 <#assign urlNews = "/unidad-de-cultura-cientifica/noticias">
89 <#if actualURLFriendly?contains("lfr.cloud")>
90 <#assign urlNews = "/web"+groupFriendlyURL + "/unidad-de-cultura-cientifica/noticias">
91 </#if>
92
93 <#assign instanceId = "yhapDUuDh4hp">
94 </#if>
95 <#if scopeGroupId = 5284696>
96 <#if actualURLFriendly?contains("lfr.cloud")>
97 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
98 </#if>
99 <#assign instanceId = "J0z0CEIllYkO">
100 </#if>
101 <#if scopeGroupId = 18305454>
102 <#if actualURLFriendly?contains("lfr.cloud")>
103 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
104 </#if>
105 <#assign instanceId = "LafHSsNmQzOW">
106 </#if>
107 <#if scopeGroupId = 24729411>
108 <#if actualURLFriendly?contains("lfr.cloud")>
109 <#assign urlNews = "/web"+groupFriendlyURL + "/news">
110 </#if>
111 <#assign instanceId = "X6fAQfzqF5af">
112 </#if>
113 <#if scopeGroupId = 31657203>
114 <#if actualURLFriendly?contains("lfr.cloud")>
115 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
116 </#if>
117 <#assign instanceId = "ja3fYkrbU86Q">
118 </#if>
119 <#if scopeGroupId = 24233193>
120 <#if actualURLFriendly?contains("lfr.cloud")>
121 <#assign urlNews = "/web"+groupFriendlyURL + "/sala-de-prensa/noticias-y-eventos">
122 </#if>
123 <#assign instanceId = "1tZ9oin6Nj8k">
124 </#if>
125 <#if scopeGroupId = 23796512>
126 <#if actualURLFriendly?contains("lfr.cloud")>
127 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
128 </#if>
129 <#assign instanceId = "jlsoUQnQ3VKq">
130 </#if>
131 <#if scopeGroupId = 20757644>
132 <#if actualURLFriendly?contains("lfr.cloud")>
133 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
134 </#if>
135 <#assign instanceId = "Hy05yqXifLyo">
136 </#if>
137 <#if scopeGroupId = 19239240>
138 <#if actualURLFriendly?contains("lfr.cloud")>
139 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
140 </#if>
141 <#assign instanceId = "4CDvZCujBWZJ">
142 </#if>
143 <#if scopeGroupId = 25489263>
144 <#if actualURLFriendly?contains("lfr.cloud")>
145 <#assign urlNews = "/web"+groupFriendlyURL + "/noticias">
146 </#if>
147 <#assign instanceId = "Hk7OgfYuivNX">
148 </#if>
149 <#if scopeGroupId = 5318873>
150 <#if actualURLFriendly?contains("lfr.cloud")>
151 <#assign urlNews = "/web"+groupFriendlyURL + "/el-museo/noticias">
152 </#if>
153 <#assign instanceId = "Hw8G">
154 </#if>
155 <#assign urlDetail = urlNews+"/-/contents/"+contentFechaURLString+"/"+tituloNoticiaEncoded+"/content/"+instanceId+"/"+curEntry.getEntryId()>
156
157
158
159
160
161
162
163 <#if validator.isNotNull(video)>
164
165
166 <#assign foto = "http://img.youtube.com/vi/"+video+"/0.jpg">
167
168 <#else>
169
170 <#if jsonObjectString?? && jsonObjectString?has_content>
171 <#attempt>
172 <#assign jsonObject = jsonObjectString?eval>
173 <#assign entryUuid = jsonObject.uuid />
174 <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
175 <#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
176 <#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
177 <#assign assetRenderer = assetEntry.assetRenderer />
178 <#assign foto = assetRenderer.getURLDownload(themeDisplay) />
179
180
181 <#recover>
182 <#assign foto = "" />
183
184 </#attempt>
185
186 </#if>
187 </#if>
188 <a id="${idNoticia}" class="col-xs-12 col-md-4 noticia-secundaria" href="${urlDetail}" alt="" title="">
189 <div class="col-xs-12 panel panel panel-default">
190 <div class="col-xs-12 col-sm-6 col-md-12 img-responsive noticia-img" style="background:url(${foto}) no-repeat"></div>
191 <div class="col-xs-12 col-sm-6 col-md-12 panel-body">
192 <p class="fecha">${dateUtil.getDate(dateToUse, dateFormat, locale)}</p>
193 <p class="antetitulo">${autorNombre}</p>
194 <h3 class="titulo">
195 <#if (tituloNoticia?length > 200)>
196 ${newsTitle[0..199]}
197 <#else>
198 ${newsTitle}
199 </#if>
200 </h3>
201 <p class="visible-md visible-lg entradilla">
202 <#if (entradilla?length > 135)>
203 ${entradilla[0..134]}
204 <#else>
205 ${intro}
206 </#if>
207 </p>
208 </div>
209 <p class="col-xs-12 col-sm-6 col-sm-offset-6 col-md-12 col-md-offset-0 enlace">
210
211 <span href="${urlDetail}">${readMore}</span>
212 </p>
213 </div>
214 </a>
215
216 <#if validator.isNotNull(video)>
217 <!-- Modal de video -->
218 <div class="modal fade modal-unav" id="noticia_${idNoticia}_modal_video" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
219 <div class="modal-dialog" role="document">
220 <div class="modal-content">
221 <div class="modal-body">
222 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
223 <span aria-hidden="true">×</span>
224 </button>
225 <div class="embed-responsive embed-responsive-16by9">
226 <iframe class="embed-responsive-item" src="" id="noticia_${idNoticia}_video_iframe" allowscriptaccess="always" allow="autoplay"></iframe>
227 </div>
228 </div>
229 </div>
230 </div>
231 </div>
232
233 <script>
234 $(document).ready(function() {
235 var $videoSrc;
236 $('#${idNoticia}.modal_opener').click(function(e) {
237 e.preventDefault();
238 $videoSrc = $(this).getData()( "src" );
239 $("#noticia_${idNoticia}_video_iframe").attr('src',$videoSrc + "?autoplay=1&modestbranding=1&showinfo=0" );
240 });
241
242 $('#noticia_${idNoticia}_modal_video button').click(function(e) {
243 $("#noticia_${idNoticia}_video_iframe").attr('src', '');
244 });
245 });
246 </script>
247 </#if>
248 </#list>
249 </div>
250 </div>
251</#if>
252
253<#function friendlyUrlDecode title>
254
255 <#assign titleFriendly = title?replace("[^A-Za-z0-9À-ú ]", "", "r")?lower_case>
256 <#assign titleFriendly = titleFriendly?replace("á", "a", "r")>
257 <#assign titleFriendly = titleFriendly?replace("é", "e", "r")>
258 <#assign titleFriendly = titleFriendly?replace("í", "i", "r")>
259 <#assign titleFriendly = titleFriendly?replace("ó", "o", "r")>
260 <#assign titleFriendly = titleFriendly?replace("ú", "u", "r")>
261 <#assign titleFriendly = titleFriendly?replace("ñ", "n", "r")>
262 <#assign titleFriendly = URLEncoder.encode(titleFriendly)>
263 <#assign titleFriendly = titleFriendly?replace("\\+", "-","r")>
264 <#return titleFriendly>
265</#function>



