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

Se abre la convocatoria al Premio Dr. Font

La Fundación Mutual Médica, a través del programa Impulsar(me), convoca, un año más, el Premio Dr. Font (XVI edición) para el autor de un artículo de investigación médica.

Abierta la convocatoria 2022 de los Premios a la Investigación

La Fundación Mutual Médica, a través del programa Impulsar(me), convoca, un año más, la Beca Mutual Médica (XXXII edición) para financiar tu proyecto de investigación y el Premio Dr. Font (XVI...

Te protegemos desde el inicio de tu vida profesional

Mutual Médica ofrece el máximo apoyo a los profesionales médicos durante los primeros años de ejercicio de la profesión e incluso antes, como estudiantes de Medicina: Premios a la Investigación,...

Éxito de inscripciones en el juego “Colegio Mutuarts de Medicina”

La primera edición del juego online “Colegio Mutuarts de Medicina” ha finalizado el 14 de junio después de tres meses en los que cerca de 1.500 personas han podido retarse entre ellas para...

Comprometidos con la inversión responsable

En Mutual Médica invertimos de forma responsable. No solo evitando aquellas empresas y fondos cuestionables, sino también buscando aquellas compañías que aportan y construyen para la sociedad y...

¿Cómo puedo sacar el máximo partido de mis ahorros?

El Seguro de Ahorro Inversión de Mutual Médica es una buena opción: ahorrarás y obtendrás una rentabilidad garantizada.

Cobertura de Asistencia en Viaje gratuita

Todos los mutualistas disponen de unos servicios gratuitos, como una cobertura de Asistencia en Viaje que les ofrece protección las 24 horas del día para viajes o desplazamientos de hasta 90 días.

XI Encuentro del Órgano Colegial Asesor de Mutual Médica con la participación de 42 colegios de médicos españoles

Mutual Médica reúne a los presidentes de 42 colegios de médicos españoles para analizar las necesidades aseguradoras del colectivo médico en el ámbito profesional y personal.

Se celebra la Asamblea General de Mutual Médica y se renuevan siete cargos del Consejo de Administración

Alrededor de 1.100 mutualistas, entre presentes y representados, participaron en la Asamblea General 2022 que este año se ha celebrado en formato mixto.

Mutual Médica te regala la primera piedra para los cimientos de tu previsión social

Mutual Médica hace 15 años que regala a los nuevos colegiados, en el primer año de colegiación, el producto Mutualista Joven. En estos años más de 11.000 médicos han conocido y utilizado este...

V Reunión del Órgano Colegial Asesor

Los días 4 y 5 de abril se reunieron en Barcelona 31 presidentes de Colegios de Médicos en la sede de Mutual Médica. El presidente de la mutualidad instó a los presidentes de los colegios de...

21.000 € en Premios a la Investigación Médica

Desde el mes de abril y hasta el 30 de septiembre, queda abierta la convocatoria de la XXIV edición de los Premios a la Investigación Mutual Médica, que este año han aumentado su dotación económica...

Hacemos fácil la Renta 2013

Mutual Médica representa para los médicos un importante ahorro fiscal, tanto para los que trabajan por cuenta propia como para los que trabajan por cuenta ajena. De acuerdo con los artículos...

Mutual Médica abre delegación en Valladolid y cambia de oficina en Santander y Murcia

Mutual Médica está más cerca de los médicos de Castilla y León, Cantabria y Murcia.

La Asamblea General de Europa Medica, en Estocolmo

Los días 13 y 14 de marzo se celebró en Estocolmo...

El IX Encuentro de Mutualidades tuvo lugar en la sede de Mutual Médica en Barcelona

El 7 y 8 de mayo tuvo lugar en Barcelona, en la sede de Mutual Médica, el IX Encuentro de Mutualidades, organizado por la Confederación Española de Mutualidades de Previsión Social, que...

IX Congreso de RESCOM, en Badajoz

Los días 8 y 9 de mayo, tuvo lugar en Badajoz, bajo el lema "FormarINformar", el IX Congreso de Responsables de Comunicación de Colegios Oficiales de Médicos (RESCOMs), con la participación y...

Jornada sobre la Jubilación y el Médico en Murcia

El Colegio Oficial de Médicos de Murcia celebró la Jornada de Jubilación y el Médico, con las intervenciones del Sr. Lluís Lana, director general adjunto de Mutual Médica, y el Sr. Juan...

¿Sabía usted que...

la copia de su DNI es imprescindible para estar asegurado, según la Política de Blanqueo de capitales y Financiación del Terrorismo?