Cabecera Mutual Informa

MUTUAL MÉDICA

Mutual Informa

 

Boletin 87

Se ha producido un error al procesar la plantilla.
No error description was specified for this error; low-level message: java.lang.ClassNotFoundException: com.liferay.document.library.kernel.service.DLAppLocalServiceUtil cannot be found by com.liferay.portal.template.freemarker_4.0.15

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign dlAppLocalServiceUtil = stati...  [in template "20116#20152#244491" at line 123, column 1]
----
1<style> 
2#articulos { 
3    padding-left: 15%; 
4    padding-right: 15%; 
5    padding-bottom: 15%; 
6
7.h2 .header-title { display: none; } 
8.h2 .header-back-to { display: none; } 
9#categoryName { 
10    font-family: 'TradeGothic-B',sans-serif; 
11    font-size: 38px; 
12    font-weight: 300; 
13    color: #006699; 
14    padding-left: 15px; 
15    padding-right: 15px; 
16
17.categoria { 
18    background-color: #EFFAFF; 
19    margin-bottom: 2% !important; 
20    margin-top: 3%; 
21    padding: 1% 5%; 
22    margin: 1px 0; 
23
24.titulo { 
25    font-size: 19px; 
26    color: var(--blue-medium); 
27    font-family: sans-serif; 
28
29.detalle { 
30    font-size: 15px; 
31    font: 400 15px/1.8 "OpenSans",sans-serif; 
32    padding-top: 20px; 
33    white-space: initial; 
34
35.enlace { 
36    text-decoration: underline; 
37    color: #29bef8; 
38
39hr { border-top: 1px solid !important;} 
40.separador { 
41    padding-left: 3%; 
42    padding-right: 3%; 
43    padding-bottom: 25px; 
44
45.imagen { 
46    float: left; 
47    padding-top: 20px; 
48    padding-bottom: 20px; 
49
50.enlance-utilmo { 
51    display: block; 
52    padding-bottom: 30px; 
53
54.espacio { 
55    padding-top: 20px; 
56    margin-top: 70px; 
57    padding-bottom: 30px; 
58
59.articulo { 
60    padding-left: 5%; 
61    padding-right: 5%; 
62
63.text-center {text-align: center;} 
64.text-right{text-align: right;} 
65.texto-izquierda {font-size: 25px; color: #0477b9;} 
66.table.no-border tr td, .table.no-border tr th { 
67    border-width: 0; 
68
69.cabecera { 
70    padding-left: 5.0%; 
71    padding-right: 4.5%; 
72    font-size: 25px; 
73    color: #0477b9; 
74
75</style> 
76 
77<#macro printCategory categoryTitle> 
78    <div class="categoria"> 
79        <div id="categoryName">${categoryTitle}</div> 
80    </div> 
81</#macro> 
82 
83<#macro printArticle article first readmore> 
84    <div class="articulo"> 
85        <div class="row"> 
86            <#if first == "false"> 
87                <div class="separador col-xs-10"> 
88                    <hr> 
89                </div> 
90            </#if> 
91            <div class="col-xs-10"> 
92                <#if readmore == "0"> 
93                    <div class="detalle col-xs-12"> 
94                        ${article.detalle} 
95                    </div> 
96                <#else>                
97                    <div class="titulo col-xs-12"> 
98                        ${article.title} 
99                    </div> 
100                    <div class="detalle col-xs-12"> 
101                        ${article.description} 
102                    </div>                     
103                </#if> 
104                <#if article.image?trim != '' > 
105                    <div class="col-xs-12 imagen"> 
106                        <img src='${article.image}' height='auto' width='457' /> 
107                    </div> 
108                <#else> 
109                    <div class="espacio"></div> 
110                </#if> 
111                 
112                    <div class="enlace enlance-utilmo col-xs-12"> 
113                    <#if readmore == "1"> 
114                        <a href="${article.url}"><@liferay.language key="read-more" /></a> 
115                    </#if> 
116                    </div> 
117                 
118            </div> 
119        </div> 
120    </div> 
121</#macro> 
122 
123<#assign dlAppLocalServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppLocalServiceUtil"] > 
124<#assign dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] > 
125<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
126<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") /> 
127<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
128<#assign assetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
129<#assign assetCategoryPropertyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryPropertyLocalService") /> 
130<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
131 
132<#assign layout = themeDisplay.getLayout() /> 
133<#assign display = themeDisplay.getPortletDisplay() /> 
134<#assign portletId = display.getId() /> 
135<#assign portletPreferences = themeDisplay.getStrictLayoutPortletSetup(layout, portletId) /> 
136<#assign currentArticle = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) /> 
137<#assign document = saxReaderUtil.read(currentArticle.getContentByLocale(locale)) /> 
138<#assign rootElement = document.getRootElement() /> 
139<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='codigo']") /> 
140<#assign codigo =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
141<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='fecha']") /> 
142<#assign fecha =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
143         
144         
145<#assign currentArticleResourcePrimKey = currentArticle.getResourcePrimKey() /> 
146<#assign currentArticleAssetEntry = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", currentArticleResourcePrimKey) /> 
147<#assign currentArticleAssetEntryId = currentArticleAssetEntry.getEntryId() /> 
148<#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) /> 
149<#assign languageId = themeDisplay.getLanguageId() /> 
150<#assign categories = assetCategoryService.getCategories() /> 
151<#assign containsTag = '' /> 
152<#assign notContainsTag = '' /> 
153<#if portletPreferences?has_content> 
154    <#assign keys = portletPreferences.getMap() /> 
155    <#assign tag0 = portletPreferences.getValue('queryValues0','') /> 
156    <#assign tag0Show = portletPreferences.getValue('queryContains0','') /> 
157    <#assign tag1 = portletPreferences.getValue('queryValues1','') /> 
158    <#assign tag1Show = portletPreferences.getValue('queryContains1','') /> 
159</#if> 
160<#--Hacemos un json array con lo que necesitamos de los articulos --> 
161<#assign articulosJsonArray = [] > 
162<#list currentArticleRelatedLinks as related_entry> 
163    <#assign relatedAssetEntryId = related_entry.getEntryId2() /> 
164    <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) /> 
165    <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() /> 
166    <#assign relatedArticle = journalArticleLocalService.getLatestArticle(relatedAssetEntryPrimKey) /> 
167    <#assign relatedArticleId = relatedArticle.getArticleId() /> 
168    <#assign relatedCategories = assetCategoryService.getCategories("com.liferay.journal.model.JournalArticle", relatedArticle.getResourcePrimKey()) /> 
169    <#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', relatedArticle.getResourcePrimKey()) > 
170    <#assign tags = "" > 
171    <#assign add = true > 
172    <#list asset.getTags() as tag> 
173        <#assign tags = tags + tag.name + ";" > 
174        <#if (tag.name == tag0 && tag0Show == "false") || (tag.name == tag1 && tag1Show == "false") > 
175            <#assign add = false > 
176        </#if> 
177    </#list> 
178    <#if add == true > 
179        <#assign document = saxReaderUtil.read(relatedArticle.getContentByLocale(locale.toString())) /> 
180        <#assign rootElement = document.getRootElement() /> 
181        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Imagen']") /> 
182        <#assign imagen =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
183         
184        <#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='Detalle']") /> 
185        <#assign detalle =  xPathSelector.selectSingleNode(rootElement).getStringValue() /> 
186         
187        <#assign relatedArticleURL = relatedArticle.getUrlTitle()/> 
188        <#if relatedArticle.getFriendlyURLMap()?has_content> 
189        	 
190        	<#assign friendlyUrlMap =  relatedArticle.getFriendlyURLMap()/> 
191        	 
192        	<#assign posKey = 0/> 
193        	<#assign posKeyValue = 0/> 
194        	<#list friendlyUrlMap?keys as key> 
195        		<#assign keyString = "" + key/> 
196        		<#if keyString == locale.toString()> 
197        			<#assign posKeyValue = posKey/> 
198        		<#else> 
199        			<#assign posKey++/> 
200        		</#if> 
201        	</#list> 
202        	 
203        	<#assign posVal = 0/> 
204        	<#list friendlyUrlMap?values as val> 
205        		<#if posKeyValue == posVal> 
206        			<#assign relatedArticleURL = val /> 
207        		</#if> 
208        		<#assign posVal++/> 
209        	</#list> 
210        </#if> 
211         
212        <#assign linea = {"id" : relatedArticleId, "resourcePrimKey" : relatedArticle.getResourcePrimKey(), "title" : relatedArticle.getTitle(languageId), "description" : relatedArticle.getDescription(languageId), "image" : imagen, "detalle" : detalle, "url" : relatedArticleURL, "priority" : '${relatedAssetEntry.getPriority()}', "tags" : tags }> 
213        <#assign articulosJsonArray = articulosJsonArray + [linea]> 
214    </#if> 
215</#list> 
216<#assign articulos = [] > 
217<#list articulosJsonArray?sort_by("priority")?reverse as i> 
218	<#assign imgURL = ""> 
219	<#if i.image?? && i.image?has_content> 
220		<#assign imageJson = jsonFactoryUtil.createJSONObject(i.image?trim)> 
221		<#if imageJson?has_content && imageJson.uuid??> 
222			  <#assign imageJson = imageJson 
223							uuid = imageJson.uuid 
224						 groupId = imageJson.groupId  
225						  dlFile = dlAppLocalServiceUtil.getFileEntryByUuidAndGroupId(uuid,groupId?number) 
226						  imgURL = dlUtil.getPreviewURL(dlFile, dlFile.getFileVersion(),themeDisplay,'') 
227
228		</#if> 
229	<#else>		 
230		<#assign imgURL = i.image> 
231	</#if>  
232    <#assign linea = {"id" : i.id, "resourcePrimKey" : i.resourcePrimKey, "title" : i.title, "description" : i.description, "image" : imgURL, "detalle" : i.detalle, "url" : i.url, "priority" : i.priority, "tags" : i.tags }> 
233    <#assign articulos = articulos + [linea]> 
234</#list> 
235<#--Hacemos un json array con lo que necesitamos de las categorias--> 
236<#assign categoriesJsonArray = []> 
237<#list categories as cat> 
238    <#assign prioridad = 0> 
239    <#assign readmore = "1"> 
240    <#assign properties = assetCategoryPropertyService.getCategoryProperties(cat.getCategoryId()) /> 
241    <#list properties as prop> 
242        <#if prop.getKey() == "prioridad"> 
243            <#assign prioridad = prop.getValue()> 
244        </#if> 
245        <#if prop.getKey() == "link-leer-mas"> 
246            <#assign readmore = prop.getValue()> 
247        </#if> 
248         
249    </#list> 
250    <#assign linea = {"id" : cat.getCategoryId(), "title" : cat.getTitle(languageId), "priority" : '${prioridad}', "readmore" : '${readmore}' }> 
251    <#assign categoriesJsonArray = categoriesJsonArray + [linea]> 
252</#list> 
253<#--Ordenamos las categorias por su prioridad--> 
254<#assign categories= []> 
255<#list categoriesJsonArray?sort_by("priority")?reverse as i> 
256    <#assign linea = {"id" : i.id, "title" : i.title, "priority" : i.priority, "readmore" : i.readmore}> 
257    <#assign categories = categories + [linea]> 
258</#list> 
259<div class="container"> 
260    <div class="row"> 
261        <div class="col-md-10 col-md-offset-1"> 
262            <div class="noticias-header">  
263                <div class="text-left"><h3>${htmlUtil.extractText(currentArticle.getDescription(locale))}</h3></div> 
264                <div class="text-center">${codigo}</div>  
265                <div class="text-right text-slim">${fecha}</div>  
266            </div> 
267        </div> 
268    </div> 
269</div> 
270<#-- 
271La cabecera de la primera categoría no se imprime. 
272Después de imprimir la cabecera, se imprimen los articulos de dicha categría. 
273Las categorías están ordenadas por prioridad, dejando normalmente la categoría genérica la primera. 
274Los artículos se imprimen por prioridad en su categoría. 
275 --> 
276<#assign firstCategoryPrinted = false /> 
277<div id="articulos"> 
278    <#list categories as currentCategory> 
279        <#assign currentCategoryPrinted = false /> 
280        <#assign firstArticlePrinted = "true" /> 
281        <#list articulos as articulo > 
282            <#assign relatedCategories = assetCategoryService.getCategories("com.liferay.journal.model.JournalArticle", articulo.resourcePrimKey) /> 
283            <#list relatedCategories as relatedCategory> 
284                <#if relatedCategory.getCategoryId() == currentCategory.id > 
285                    <#if currentCategoryPrinted == false && firstCategoryPrinted == true> 
286                        <#assign currentCategoryPrinted = true /> 
287                        <@printCategory categoryTitle=currentCategory.title /> 
288                    </#if> 
289                    <@printArticle article=articulo first=firstArticlePrinted readmore=currentCategory.readmore/>                     
290                    <#assign firstArticlePrinted = "false" /> 
291                </#if> 
292            </#list> 
293        </#list> 
294        <#assign firstCategoryPrinted = true /> 
295    </#list> 
296</div> 

Publicador de contenidos

... Mutual Médica te ofrece una aplicación gratuita con más de 3.000 preguntas oficiales del examen MIR?

... Mutual Médica te ofrece una aplicación gratuita con más de 3.000 preguntas oficiales del examen MIR? MirialApp es una interfaz en la que ya confían más de 18.000 estudiantes de medicina y...

... con el nuevo portal de prestaciones puedes contactar directamente con la persona responsable de tu solicitud para agilizar el proceso? ontacta directamente con la persona responsable de tu solicitud para atender tus dudas o enviar información.

... con el nuevo portal de prestaciones puedes contactar directamente con la persona responsable de tu solicitud para agilizar el proceso? Contacta directamente con la persona responsable de tu...

¡Feliz Navidad y próspero 2022!

Mutual Médica te desea Feliz Navidad y próspero 2022 con el dibujo ganador del XVII Concurso de Dibujo Navidad 2021

Descubre los congresos médicos a los que asistir en 2022

Asistir a congresos médicos, te puede ayudar a ampliar conocimientos, crear nuevas redes de contactos y entender diferentes posturas acerca de temas de actualidad de la profesión médica

Nuestra razón de ser

Nuestro objetivo, como entidad, es proteger a la profesión médica. Ese es el cometido de una mutualidad de previsión: cuidar el presente y el futuro de los mutualistas. Pero no basta con eso....

100 números de Mutual Informa

Cumplir 100 ediciones de cualquier publicación es un hito y en Mutual Médica lo hemos logrado con nuestro Mutual Informa, el boletín informativo creado con el compromiso y con la responsabilidad de...

Los mejores premios para médicos que reconocen su gran labor

Situados en la primera línea de la lucha contra la pandemia, el indispensable trabajo que realizan día a día los médicos se ha visibilizado en mayor medida, recibiendo el agradecimiento de toda la...

En Mutual Médica llevamos más de 100 años al lado de los médicos pero, ¿cómo fueron los inicios?

En los inicios hubo mucha ilusión, trabajo, primeras piedras, cohesión y avances, pero también aparecieron problemas como una Guerra Civil, aviones bombarderos y mucha incertidumbre. A pesar de...

¿Te imaginas un seguro que te aporte seguridad y ventajas fiscales? Pues esto te interesa: ¡activa tu jubilación!

Con el Seguro de Jubilación Ahorro Fiscal 105 puedes tener todas esas ventajas en un producto con una rentabilidad asegurada del 1,80%

Hablamos sobre el futuro de la profesión médica con Marc Franco Moral, estudiante de medicina de la Universidad de Girona

"Que hayamos vivido una pandemia solo significa que es más fácil poder vivir otra. La medicina tendrá que orientarse en gran medida a la Salud Pública", nos cuenta el joven, algo preocupado...

Hablamos con el Dr. Carlos Déniz Armengol, médico del Hospital de Bellvitge, sobre el futuro de la medicina

El Dr. Déniz es cirujano torácico en el Hospital de Bellvitge de Barcelona y como ganador del Premio al Mejor MIR de este año nos habla del futuro de la profesión médica y nos da sus...

¿Sabías que más de 100 médicos españoles fueron cooperantes y voluntarios internacionales en 2020?

Gracias al convenio firmado por la Fundación para la Cooperación Internacional de la Organización Médica Colegial (FCOMCI) y Mutual Médica, los médicos cooperantes y voluntarios contarán...

... en Mutual Médica ya somos más de 70.000 médicos mutualistas?

... en Mutual Médica ya somos más de 70.000 médicos mutualistas? Queremos darte las gracias por confiar en nosotros. Como ya sabes somos una entidad sin ánimo de lucro que reinvierte todos los...

Después de que más de 73.000 profesionales de la salud se hubiesen contagiado desde el inicio de la crisis sanitaria el Consejo de Ministros ya ha reconocido la COVID-19 como una enfermedad profesional

Debido al alto riesgo de los médicos a contraer el virus, el Consejo de Ministros reconoció, el pasado 2 de febrero, la COVID-19 como una enfermedad profesional. De esta forma, los sanitarios...

Asamblea e Informe Anual de Mutual Médica: más de 70.000 médicos ya confían en tu mutualidad

La Asamblea General de Mutual Médica se celebró el jueves, 17 de junio, y por segunda vez fue virtual. También se presentaron las cifras más relevantes del 2020, como que más de 70.000 médicos...

Si los médicos de todo el Estado comparten una misma red sanitaria… ¿por qué no van a compartir las mismas oportunidades?

En Mutual Médica hemos luchado y seguimos luchando para que esto sea posible, ¡te lo explicamos en menos de un minuto!

Casi 500 mutualistas se han beneficiado del Premio de Natalidad en el ejercicio 2020

Ser médico es difícil, pero todavía se complica más cuando eres padre o madre y tienes que compaginarlo con tu nuevo rol. Sin embargo, sabemos que el nacimiento de tu hijo/a es una gran noticia y...

Abierta la inscripción a la nueva edición de los Premios a la Investigación de Mutual Médica

La Beca Mutual Médica está dotada con 25.000 euros y las bases ofrecen la posibilidad que el jurado premie a otros dos trabajos con dos accésits, dotados con 5.000 euros cada uno

Existe una inversión socialmente responsable y 100% digital que promueve un modelo de inversión joven e innovador

Mutual Médica colabora con inbestMe para ofrecer un innovador servicio de inversiones socialmente responsables y completamente digitales

Nuevo portal de Gestión de Prestaciones: más ágil, fácil y rápido

Te ofrecemos un servicio completamente renovado para contactar directamente con la persona responsable de tu solicitud, atender tus dudas o enviar información. ¿Para qué va a servirte? Podrás pedir...