Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarte la publicidad relacionada con tus preferencias mediante el análisis de tus hábitos de navegación. Si continúas navegando, consideramos que aceptas su uso. Puedes cambiar la configuración y obtener más información consultando nuestra Política de Cookies.

Leer más

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> 

Listado ediciones

Publicador de contenidos

angle-left null Mutual Médica se ha adaptado a la nueva normativa de protección de datos

Mutual Médica se ha adaptado a la nueva normativa de protección de datos

El 25 de mayo entró en vigor el Reglamento General de Protección de Datos, normativa que unifica criterios en la materia a nivel europeo.

Mutual Médica, con motivo de la entrada en vigor del Reglamento General de Protección de Datos que resulta de aplicación desde el 25 de mayo de 2018, ha trabajado en la implementación de las medidas organizativas y de seguridad necesarias para el cumplimiento de la nueva normativa con el fin de beneficiar al médico. La entidad ha actualizado la política de privacidad que está publicada en su página web.

Asimismo, se ha nombrado un delegado de Protección de Datos que velará por garantizar un tratamiento correcto y transparente de los datos personales. Además, dicha figura -asesora y supervisora- servirá también de canal para atender aquellas cuestiones que los mutualistas puedan plantear sobre esta materia, así como dar curso al ejercicio de los derechos legalmente previstos. Debido al compromiso de Mutual Médica con la protección de datos de nuestros mutualistas, tratamos los datos personales en base al interés legítimo por la relación contractual que nos vincula a ellos y con la finalidad de dar cumplimiento a los servicios que estos nos han solicitado.

Mutual Médica aplaude este tipo de avances legislativos, en beneficio de las personas, y siempre ha abogado por adelantarse a los requerimientos normativos, respetando la privacidad y los derechos de los médicos en materia de Protección de Datos. Por esta razón, el pasado 25 de mayo la entidad estaba preparada para la entrada en vigor del Reglamento General de Protección de Datos.

Obtén más información sobre la adaptación de la mutualidad a la nueva normativa de protección de datos.