Política de cookies y configuración de preferencias
En esta página encontrarás la Política de cookies, la cual informa sobre las cookies o tecnologías similares que se instalan o pueden instalarse en tu dispositivo al acceder y usar esta página web ("la Web").
En el contexto de esta Política de cookies se utiliza el término "cookies" para referirse a las cookies y tecnologías similares, tales como píxeles, web beacons o técnicas de huellas dactilares.
Esta web puede utilizar cookies que permiten el tratamiento de tus datos personales. Por favor, visita nuestra Política de privacidad para obtener información sobre cómo procesamos tus datos personales cuando utilizamos cookies.
Así mismo, en esta página podrás configurar tus preferencias tanto si quieres aceptar, personalizar o rechazar el uso de las cookies.
The following has evaluated to null or missing:
==> serviceLocator.findService("com.cajaingenieros.portal.cookies.notification.web.service.CookiesConfigurationServiceApi") [in template "20116#20152#661764213" at line 2, column 40]
----
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 cookiesConfigurationService =... [in template "20116#20152#661764213" at line 2, column 1]
----
1<#-- $Id: COOKIES_TIPOLOGIAS.ftl 2938 2022-05-26 14:59:21Z patricia.hevia $ -->
2<#assign cookiesConfigurationService = serviceLocator.findService("com.cajaingenieros.portal.cookies.notification.web.service.CookiesConfigurationServiceApi") />
3
4<div class="cookies-policy">
5 <#if beforeTypologiesEntryTitle.getSiblings()?has_content>
6 <#list beforeTypologiesEntryTitle.getSiblings() as cur_beforeTypologiesEntryTitle>
7 <div class="cookies-policy-entry">
8 <#if blockImage.getData()?? && blockImage.getData() != "">
9 <img class="cookies-policy-entry-icon" alt="${blockImage.getAttribute("alt")}"
10 data-fileentryid="${blockImage.getAttribute("fileEntryId")}" src="${blockImage.getData()}"/>
11 </#if>
12 <div class="cookies-policy-entry-content">
13 <h3>${cur_beforeTypologiesEntryTitle.getData()}</h3>
14 ${cur_beforeTypologiesEntryTitle.beforeTypologiesEntryDescription.getData()}
15 </div>
16 </div>
17 </#list>
18 </#if>
19 <#if cookieTypologyName.getSiblings()?has_content>
20 <div class="cookies-policy-typologies">
21 <ul class="list-unstyled">
22 <#list cookieTypologyName.getSiblings() as cur_cookieTypologyName>
23 <li>
24 <div class="custom-switch">
25 <@liferay_aui["input"] cssClass="cookies-typology-input" type="toggle-switch" label="${cur_cookieTypologyName.cookieTypologyTitle.getData()}" name="ct_${cur_cookieTypologyName.getData()}" inlineLabel="right" />
26 </div>
27 <div class="cookie-typology-description">
28 ${cur_cookieTypologyName.cookieTypologyDescription.getData()}
29 </div>
30 </li>
31 </#list>
32 </ul>
33
34 <div class="cookies-policy-typologies-footer row">
35 <#if cookieTypologiesFooterText?? && cookieTypologiesFooterText.getData() != "">
36 <div class="col-12">
37 ${cookieTypologiesFooterText.getData()}
38 </div>
39 </#if>
40 <div class="cookies-footer-button-wrapper col-md-4 col-12">
41 <button id="cookies-accept-all-button" class="btn btn-default">
42 ${acceptAllCookiesButton.getData()}
43 </button>
44 </div>
45 <div class="cookies-footer-button-wrapper col-md-4 col-12">
46 <button id="cookies-submit-button" class="btn btn-secondary">
47 ${selectedCookiesOnlyButton.getData()}
48 </button>
49 </div>
50 <div class="cookies-footer-button-wrapper col-md-4 col--12">
51 <button id="cookies-refuse-button" class="btn btn-secondary">
52 ${refuseAllCookiesButton.getData()}
53 </button>
54 </div>
55 </div>
56 </div>
57
58 </#if>
59 <#if afterTypologiesEntryTitle.getSiblings()?has_content>
60 <#list afterTypologiesEntryTitle.getSiblings() as cur_afterTypologiesEntryTitle>
61 <div class="cookies-policy-entry">
62 <#if blockImage.getData()?? && blockImage.getData() != "">
63 <img class="cookies-policy-entry-icon" alt="${blockImage.getAttribute("alt")}"
64 data-fileentryid="${blockImage.getAttribute("fileEntryId")}" src="${blockImage.getData()}"/>
65 </#if>
66 <div class="cookies-policy-entry-content">
67 <h3>${cur_afterTypologiesEntryTitle.getData()}</h3>
68 ${cur_afterTypologiesEntryTitle.afterTypologiesEntryDescription.getData()}
69 </div>
70 </div>
71 </#list>
72 </#if>
73
74</div>
75<script>
76
77
78 $(function () {
79
80 CookiePolicyCdi = {
81 getSubmitData: function (namespace) {
82 var submitData = {};
83 <#if cookieTypologyName.getSiblings()?has_content>
84 <#list cookieTypologyName.getSiblings() as cur_cookieTypologyName>
85 submitData["ct_${cur_cookieTypologyName.getData()}"] = $("#" + namespace + "ct_${cur_cookieTypologyName.getData()}").is(":checked");
86 </#list>
87 </#if>
88
89 return submitData;
90 },
91 getAcceptAllSubmitData: function () {
92 var submitData = {};
93 <#if cookieTypologyName.getSiblings()?has_content>
94 <#list cookieTypologyName.getSiblings() as cur_cookieTypologyName>
95 submitData["ct_${cur_cookieTypologyName.getData()}"] = true;
96 </#list>
97 </#if>
98
99 return submitData;
100 },
101 getRefuseAllSubmitData: function () {
102 var submitData = {};
103 <#if cookieTypologyName.getSiblings()?has_content>
104 <#list cookieTypologyName.getSiblings() as cur_cookieTypologyName>
105 submitData["ct_${cur_cookieTypologyName.getData()}"] = false;
106 </#list>
107 </#if>
108
109 return submitData;
110 },
111 createCookie: function (name, value, maxAge) {
112 const cookiesDomain = location.hostname.split('.').slice(-2).join('.');
113 var expirationDate = new Date();
114 expirationDate.setDate(expirationDate.getDate() + maxAge);
115 document.cookie = name + '=' + value + '; domain=.' + cookiesDomain + '; path=/; expires=' + expirationDate.toGMTString() + ';';
116 },
117 getAll: function () {
118 let cookie = {};
119 document.cookie.split(';').forEach(function (el) {
120 let keyValueArr = el.split('=');
121 cookie[keyValueArr[0].trim()] = keyValueArr[1];
122 })
123 return cookie;
124 },
125 get: function (name) {
126 return this.getAll()[name];
127 }
128 }
129
130 function refreshCheckboxes() {
131 const cookiesPolicyCookie = CookiePolicyCdi.get("${cookiesConfigurationService.getCookiesPolicyCookieName()}");
132 // Polyfill para IE
133 if (!Object.entries) {
134 Object.entries = function (obj) {
135 var ownProps = Object.keys(obj),
136 i = ownProps.length,
137 resArray = new Array(i); // preallocate the Array
138 while (i--)
139 resArray[i] = [ownProps[i], obj[ownProps[i]]];
140
141 return resArray;
142 };
143 }
144
145 if (cookiesPolicyCookie) {
146 Object.entries(JSON.parse(cookiesPolicyCookie)).forEach(function (entry) {
147 var namespace = "_" + $('.cookies-typology-input').closest('section').attr('id').replace("portlet_", "") + "_";
148 const _key = $("#" + namespace + entry[0]);
149 _key.val(entry[1]);
150 _key.prop("checked", entry[1]);
151 });
152 }
153 }
154
155 function sendToReferrer() {
156 const referrer = document.referrer;
157 if (referrer) {
158 location.href = referrer;
159 } else {
160 location.href = "${themeDisplay.getURLHome()}";
161 }
162 }
163
164 // eventos
165 $("#cookies-submit-button").click(function () {
166 var namespace = "_" + $(this).closest('section').attr('id').replace("portlet_", "") + "_";
167 var jsonString = JSON.stringify(CookiePolicyCdi.getSubmitData(namespace));
168 CookiePolicyCdi.createCookie("${cookiesConfigurationService.getCookiesPolicyCookieName()}"
169 , jsonString, ${cookiesConfigurationService.getCookiesPolicyCookieTimeToLive()});
170 sendToReferrer();
171 });
172
173 $("#cookies-accept-all-button").click(function () {
174 var jsonString = JSON.stringify(CookiePolicyCdi.getAcceptAllSubmitData());
175 CookiePolicyCdi.createCookie("${cookiesConfigurationService.getCookiesPolicyCookieName()}",
176 jsonString, ${cookiesConfigurationService.getCookiesPolicyCookieTimeToLive()});
177 refreshCheckboxes();
178 sendToReferrer();
179 });
180
181 $("#cookies-refuse-button").click(function () {
182 var jsonString = JSON.stringify(CookiePolicyCdi.getRefuseAllSubmitData());
183 CookiePolicyCdi.createCookie("${cookiesConfigurationService.getCookiesPolicyCookieName()}",
184 jsonString, ${cookiesConfigurationService.getCookiesPolicyCookieTimeToLive()});
185 refreshCheckboxes();
186 sendToReferrer();
187 });
188
189 function init() {
190 const _cookiesBanner = $("#cookies");
191 if (_cookiesBanner) {
192 _cookiesBanner.hide();
193 }
194 }
195
196 init();
197 refreshCheckboxes();
198
199 });
200
201
202</script>
Caja Ingenieros. Todos los derechos reservados.

