PIPEDA-yhteensopivuus
Tietojen oikaisu
Voit päivittää tilitietosi alla olevan linkin avulla, jos ne eivät pidä paikkaansa.
Tietojen siirrettävyys
Voit käyttää alla olevia linkkejä ladataksesi kaikki tallentamamme tiedot ja joita käytämme paremman käyttökokemuksen saavuttamiseksi myymälässämme.
Pääsy henkilötietoihin
Voit käyttää alla olevaa linkkiä pyytääksesi raportin, joka sisältää kaikki sinulle tallentamamme henkilötiedot.
I give my consent on collecting my email and IP address for the purpose of processing this request. For more check Privacy Policy & Terms of Service.
'; var pipedaSendRequest = function (callback) { fetch('https://www.cloudflare.com/cdn-cgi/trace', { method: 'GET', headers: { 'Content-Type': 'text/plain', }, }) .then(resp => resp.text()) .then(resp => { if (!resp.error) { let ipInfo = resp; let formData = new FormData(); formData.append('shop', Shopify.shop); formData.append('email', email); formData.append('type', type); formData.append('sourceOfRequest', 4); formData.append('ipAddress', ipInfo); formData.append('consentGiven', consentGiven); formData.append('page', 'pipeda'); formData.append('lang', Shopify.locale ? Shopify.locale : ''); formData.append('gtranslateLang', isenseGDPR.Cookies.get('googtrans') ? isenseGDPR.Cookies.get('googtrans') : ''); fetch('https://gdpr.apps.isenselabs.com/gdprRequests/submitRequest', { method: 'POST', body: formData }) .then(resp => resp.json()) .then(resp => { if (!resp.error) { pipedaSlideUpAll(); if (resp.message.length) { alert(resp.message); } else { alert('Your request has been submitted successfully. Please check your email for more information.'); } } else { alert(resp.message); } if (typeof callback == 'function') { callback(resp); } }) .catch(error => { alert(error.message); }) } else { alert(resp.message); } }) } //Append modal to body, because otherwise it will not stay centered(even if position is fixed) document.querySelector("body").insertAdjacentHTML('beforeend', verificationModalContent); document.addEventListener("DOMContentLoaded", function () { // When the user clicks on (x), close the modal document.querySelector('.data-verification-close').addEventListener('click', function (e) { e.preventDefault(); closeVerificationModal(); // Focus the button of the request type that was picked let pipedaForms = document.querySelectorAll('.form-pipeda-request'); pipedaForms.forEach(function(pipedaForm) { if (pipedaForm.style.display !== "none") { let pipedaFormLinks = pipedaForm.previousElementSibling.querySelectorAll('li'); if (pipedaFormLinks.length === 1) { pipedaFormLinks[0].querySelector('button').focus(); } else if (pipedaFormLinks.length > 1) { pipedaFormPickedLinkValue = document.querySelector('#form-pipeda-data-account-request-request-type').value; switch (pipedaFormPickedLinkValue) { case 'customer/requests': pipedaFormLinks[0].querySelector('button').focus(); break; case 'customer/personal_info': pipedaFormLinks[1].querySelector('button').focus(); break; case 'customer/orders': pipedaFormLinks[2].querySelector('button').focus(); break; default: break; } } } }); }); document.querySelector('#data-verification-icon, #data-verification-container p').addEventListener('click', function (e) { e.preventDefault(); // Detect a href's click, because it is overwritten. if (e.target.tagName === "A") { window.open(e.target.href, '_blank'); return; } document.querySelector('#data-verification-icon').classList.add("clicked"); setTimeout(() => { toggleFadeiSense(document.querySelector("#data-verification-modal"), false); document.querySelector('#data-verification-background .loading').style.display = 'inline-block'; consentGiven = true; pipedaSendRequest(function (resp) { consentGiven = false; closeVerificationModal(); }); }, 400); }); }); function openVerificationModal() { toggleFadeiSense(document.querySelector("#data-verification-modal"), true); toggleFadeiSense(document.querySelector('#data-verification-background'), true); document.querySelector('#data-verification-container input').focus(); } function closeVerificationModal() { toggleFadeiSense(document.querySelector("#data-verification-background"), false); document.querySelector('#data-verification-icon').classList.remove("clicked"); document.querySelector('#data-verification-background .loading').style.display = 'none'; } document.querySelector('#btn-pipeda-edit-account-request').addEventListener('click', function (e) { e.preventDefault(); pipedaSlideUpAll(); slideDown(document.querySelector('#form-pipeda-edit-account-request'), 200); this.setAttribute("aria-expanded", "true"); }); document.querySelector('#form-pipeda-edit-account-request-submit').addEventListener('click', function (e) { e.preventDefault(); email = document.querySelector('#form-pipeda-edit-account-request-email').value; type = 'customer/edit'; openVerificationModal(); }); document.querySelectorAll('#btn-pipeda-requests-request, #btn-pipeda-personal-information-request, #btn-pipeda-orders-request').forEach(element => { element.addEventListener('click', function (e) { e.preventDefault(); pipedaSlideUpAll(); type = ''; switch (this.getAttribute('id')) { case 'btn-pipeda-requests-request': type = 'customer/requests'; break; case 'btn-pipeda-personal-information-request': type = 'customer/personal_info'; break; case 'btn-pipeda-orders-request': type = 'customer/orders'; break; } document.querySelector('#form-pipeda-data-account-request-request-type').value = type; slideDown(document.querySelector('#form-pipeda-data-account-request'), 200); this.setAttribute("aria-expanded", "true"); }) }); document.querySelector('#form-pipeda-data-account-request-submit').addEventListener('click', function (e) { e.preventDefault(); email = document.querySelector('#form-pipeda-data-account-request-email').value; type = document.querySelector('#form-pipeda-data-account-request-request-type').value; openVerificationModal(); }); document.querySelector('#btn-pipeda-personal-data-report-request').addEventListener('click', function (e) { e.preventDefault(); pipedaSlideUpAll(); slideDown(document.querySelector('#form-pipeda-personal-data-report-request'), 200); this.setAttribute("aria-expanded", "true"); }); document.querySelector('#form-pipeda-personal-data-report-request-submit').addEventListener('click', function (e) { e.preventDefault(); email = document.querySelector('#form-pipeda-personal-data-report-request-email').value; type = 'customer/report'; openVerificationModal(); }); // Keyboard navigation for the compliance page's requests document.querySelector('#pipeda_page').addEventListener('keydown', function(e) { let isTabPressed = e.keyCode === 9 || e.key === "Tab" || e.code === "Tab"; // This function saves us the trouble of calling e.preventDefault() after every focusing let executeFocus = (focusElement) => {focusElement.focus();e.preventDefault();} if (isTabPressed) { let pipedaFormPickedLinkValue = document.querySelector('#form-pipeda-data-account-request-request-type').value; let pipedaRequestsButton = document.querySelector('#btn-pipeda-requests-request'); let personalInformationButton = document.querySelector('#btn-pipeda-personal-information-request'); let ordersButton = document.querySelector('#btn-pipeda-orders-request'); let personalDataReportButton = document.querySelector('#btn-pipeda-personal-data-report-request'); let dataAccountFormEmailField = document.querySelector('#form-pipeda-data-account-request-email'); let dataAccountFormSubmitButton = document.querySelector('#form-pipeda-data-account-request-submit'); if (e.shiftKey) { if ((document.activeElement === personalInformationButton && pipedaFormPickedLinkValue === 'customer/requests') || (document.activeElement === ordersButton && pipedaFormPickedLinkValue === 'customer/personal_info')) { executeFocus(dataAccountFormSubmitButton); } else if (document.activeElement === dataAccountFormEmailField) { if (pipedaFormPickedLinkValue === 'customer/requests') { executeFocus(pipedaRequestsButton); } else if (pipedaFormPickedLinkValue === 'customer/personal_info') { executeFocus(personalInformationButton); } } else if (document.activeElement === personalDataReportButton) { if (pipedaFormPickedLinkValue !== 'customer/orders') { executeFocus(ordersButton); } } } else { if ((document.activeElement === pipedaRequestsButton && pipedaFormPickedLinkValue === 'customer/requests') || (document.activeElement === personalInformationButton && pipedaFormPickedLinkValue === 'customer/personal_info')) { executeFocus(dataAccountFormEmailField); } else if (document.activeElement === dataAccountFormSubmitButton) { if (pipedaFormPickedLinkValue === 'customer/requests') { executeFocus(personalInformationButton); } else if (pipedaFormPickedLinkValue === 'customer/personal_info') { executeFocus(ordersButton); } } else if (document.activeElement === ordersButton) { if (pipedaFormPickedLinkValue !== 'customer/orders') { executeFocus(personalDataReportButton); } } } } }); // Keyboard navigation in data verification modal for accesibility document.querySelector('#data-verification-modal').addEventListener('keydown', function(e) { let isTabPressed = e.keyCode === 9 || e.key === "Tab" || e.code === "Tab"; let isEscapePressed = e.keyCode === 27 || e.key === "Escape" || e.code === "Escape"; let isSpacePressed = event.keyCode === 32 || e.key === " " || event.code === "Space"; let isEnterPressed = event.keyCode === 13 || e.key === "Enter" || event.code === "Enter"; let dataVerificationCloseButton = document.querySelector('.data-verification-close'); let dataVerificationCheckbox = document.querySelector('#data-verification-container input'); let dataVerificationLink = document.querySelector('#data-verification-container a'); // This function saves us the trouble of calling e.preventDefault() after every focusing let executeFocus = (focusElement) => {focusElement.focus();e.preventDefault();} if (isEscapePressed) { if (dataVerificationCloseButton) { dataVerificationCloseButton.click(); } } if (isSpacePressed || isEnterPressed) { if (document.activeElement === dataVerificationCheckbox) { document.querySelector('#data-verification-container #data-verification-icon').click(); } } if (isTabPressed) { if (e.shiftKey) { if (dataVerificationCloseButton && document.activeElement === dataVerificationCloseButton) { executeFocus(dataVerificationLink); } } else { if (dataVerificationLink && document.activeElement === dataVerificationLink) { executeFocus(dataVerificationCloseButton); } } } }); // ]]>