Política de Cookies i configuració de preferències
En aquesta pàgina trobaràs la Política de cookies, la qual informa sobre les cookies o tecnologies similars que s'instal·len o poden instal·lar-se en el teu dispositiu en accedir i utilitzar aquesta pàgina web ("la Web").
En el context d'aquesta Política de cookies s'utilitza el terme "cookies" per referir-se a les cookies i tecnologies similars, tals com píxels, web beacons o tècniques d'empremtes dactilars.
Aquesta web pot utilitzar cookies que permeten el tractament de les teves dades personals. Si et plau, visita la nostra Política de privacitat per obtenir informació sobre com processem les teves dades personals quan utilitzem cookies.
Tan mateix, en aquesta pàgina podràs configurar las teves preferències tan si vols acceptar, personalitzar o rebutjar l'ús de les 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>
Caixa Enginyers. Tots els drets reservats.

