{
"title": "GDPR Compliance",
"content": "<style>
#form-gdpr-edit-account-request,
#form-gdpr-data-account-request,
#form-gdpr-personal-data-report-request,
#form-gdpr-delete-account-request {
display: none;
}
#gdpr_page form .loading {
display: inline-block;
margin-left: 20px;
display: none;
}
#gdpr_page form .loading:not(:required):after {
content: '';
display: block;
font-size: 10px;
width: 1em;
height: 1em;
margin-top: -0.5em;
-webkit-animation: spinner 1500ms infinite linear;
-moz-animation: spinner 1500ms infinite linear;
-ms-animation: spinner 1500ms infinite linear;
-o-animation: spinner 1500ms infinite linear;
animation: spinner 1500ms infinite linear;
border-radius: 0.5em;
-webkit-box-shadow: rgba(120,129,136, 1) 1.5em 0 0 0, rgba(120,129,136, 1) 1.1em 1.1em 0 0, rgba(120,129,136, 1) 0 1.5em 0 0, rgba(120,129,136, 1) -1.1em 1.1em 0 0, rgba(120,129,136, 1) -1.5em 0 0 0, rgba(120,129,136, 1) -1.1em -1.1em 0 0, rgba(120,129,136, 1) 0 -1.5em 0 0, rgba(120,129,136, 1) 1.1em -1.1em 0 0;
box-shadow: rgba(120,129,136, 1) 1.5em 0 0 0, rgba(120,129,136, 1) 1.1em 1.1em 0 0, rgba(120,129,136, 1) 0 1.5em 0 0, rgba(120,129,136, 1) -1.1em 1.1em 0 0, rgba(120,129,136, 1) -1.5em 0 0 0, rgba(120,129,136, 1) -1.1em -1.1em 0 0, rgba(120,129,136, 1) 0 -1.5em 0 0, rgba(120,129,136, 1) 1.1em -1.1em 0 0;
}
/* Animation */
@-webkit-keyframes spinner {
0% {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-moz-keyframes spinner {
0% {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-o-keyframes spinner {
0% {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spinner {
0% {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
</style>
<div id="gdpr_page" class="col-sm-12">
<h2>Data Rectification</h2>
<p>You can use the links below to update your account data if it is not accurate.</p>
<ul class="list-unstyled">
<li><a id="btn-gdpr-edit-account-request" href="#">Edit your account information</a></li>
</ul>
<div id="form-gdpr-edit-account-request">
<form>
<label>Enter your email to confirm your identity</label>
<input type="email" name="email" placeholder="example@email.com" autocorrect="off" autocapitalize="off" autofocus="">
<input type="submit" class="btn" value="Submit">
<div class="loading"></div>
</form>
</div>
<h2>Data Portability</h2>
<p>You can use the links below to download all the data we store and use for a better experience in our store.</p>
<ul class="list-unstyled">
<li><a id="btn-gdpr-requests-request" href="#">GDPR requests</a></li>
<li><a id="btn-gdpr-personal-information-request" href="#">Personal information</a></li>
<li><a id="btn-gdpr-orders-request" href="#">Orders</a></li>
</ul>
<div id="form-gdpr-data-account-request">
<form>
<label>Enter your email to confirm your identity</label>
<input type="email" name="email" placeholder="example@email.com" autocorrect="off" autocapitalize="off" autofocus="">
<input type="submit" class="btn" value="Submit">
<div class="loading"></div>
<input type="hidden" name="request_type" value="">
</form>
</div>
<h2>Access to Personal Data</h2>
<p>You can use the link below to request a report which will contain all personal information that we store for you.</p>
<ul class="list-unstyled">
<li><a id="btn-gdpr-personal-data-report-request" href="#">Request a report</a></li>
</ul>
<div id="form-gdpr-personal-data-report-request">
<form>
<label>Enter your email to confirm your identity</label>
<input type="email" name="email" placeholder="example@email.com" autocorrect="off" autocapitalize="off" autofocus="">
<input type="submit" class="btn" value="Submit">
<div class="loading"></div>
</form>
</div>
<h2>Right to be Forgotten</h2>
<p>Use this option if you want to remove your personal and other data from our store. Keep in mind that <strong>this process will delete your account, so you will no longer be able to access or use it anymore</strong>.</p>
<ul class="list-unstyled">
<li><a id="btn-gdpr-delete-account-request" href="#">Request personal data deletion</a></li>
</ul>
<div id="form-gdpr-delete-account-request">
<form>
<label>Enter your email to confirm your identity</label>
<input type="email" name="email" placeholder="example@email.com" autocorrect="off" autocapitalize="off" autofocus="">
<input type="submit" class="btn" value="Submit">
<div class="loading"></div>
</form>
</div>
</div>
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script>
var gdprSlideUpAll = function() {
$('#form-gdpr-edit-account-request').slideUp(100);
$('#form-gdpr-data-account-request').slideUp(100);
$('#form-gdpr-personal-data-report-request').slideUp(100);
$('#form-gdpr-delete-account-request').slideUp(100);
};
var gdprSendRequest = function(email, type, callback) {
$.ajax({
url: 'https://gdpr.apps.isenselabs.com/gdprRequests/submitRequest',
method: 'POST',
data: {
shop: Shopify.shop,
email: email,
type: type
},
success: function(resp) {
if (!resp.error) {
gdprSlideUpAll();
alert(resp.message);
} else {
alert(resp.message);
}
if (typeof callback == 'function') {
callback(resp);
}
}
});
};
$('#btn-gdpr-edit-account-request').on('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
$('#form-gdpr-edit-account-request').slideDown(200);
});
$('#form-gdpr-edit-account-request form input[type=submit]').on('click', function(e) {
e.preventDefault();
var email = $('#form-gdpr-edit-account-request form input[name=email]').val();
var type = 'customer/edit';
var submit_button = $(this);
submit_button.prop('disabled', true);
submit_button.next('.loading').css('display', 'inline-block');
gdprSendRequest(email, type, function(resp) {
submit_button.prop('disabled', false);
submit_button.next('.loading').css('display', 'none');
});
});
$('#btn-gdpr-requests-request, #btn-gdpr-personal-information-request, #btn-gdpr-orders-request').on('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
var type = '';
switch($(this).attr('id')) {
case 'btn-gdpr-requests-request':
type = 'customer/requests';
break;
case 'btn-gdpr-personal-information-request':
type = 'customer/personal_info';
break;
case 'btn-gdpr-orders-request':
type = 'customer/orders';
break;
}
$('#form-gdpr-data-account-request form input[name="request_type"]').val(type);
$('#form-gdpr-data-account-request').slideDown(200);
});
$('#form-gdpr-data-account-request form input[type=submit]').on('click', function(e) {
e.preventDefault();
var email = $('#form-gdpr-data-account-request form input[name=email]').val();
var type = $('#form-gdpr-data-account-request form input[name="request_type"]').val();
var submit_button = $(this);
submit_button.prop('disabled', true);
submit_button.next('.loading').css('display', 'inline-block');
gdprSendRequest(email, type, function(resp) {
submit_button.prop('disabled', false);
submit_button.next('.loading').css('display', 'none');
});
});
$('#btn-gdpr-personal-data-report-request').on('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
$('#form-gdpr-personal-data-report-request').slideDown(200);
});
$('#form-gdpr-personal-data-report-request form input[type=submit]').on('click', function(e) {
e.preventDefault();
var email = $('#form-gdpr-personal-data-report-request form input[name=email]').val();
var type = 'customer/report';
var submit_button = $(this);
submit_button.prop('disabled', true);
submit_button.next('.loading').css('display', 'inline-block');
gdprSendRequest(email, type, function(resp) {
submit_button.prop('disabled', false);
submit_button.next('.loading').css('display', 'none');
});
});
$('#btn-gdpr-delete-account-request').on('click', function(e) {
e.preventDefault();
gdprSlideUpAll();
$('#form-gdpr-delete-account-request').slideDown(200);
});
$('#form-gdpr-delete-account-request form input[type=submit]').on('click', function(e) {
e.preventDefault();
var email = $('#form-gdpr-delete-account-request form input[name=email]').val();
var type = 'customer/delete';
var submit_button = $(this);
submit_button.prop('disabled', true);
submit_button.next('.loading').css('display', 'inline-block');
gdprSendRequest(email, type, function(resp) {
submit_button.prop('disabled', false);
submit_button.next('.loading').css('display', 'none');
});
});
</script>",
"templateSuffix": "",
"author": "Shopify API",
"handle": "gdpr-compliance",
"id": "49403035728",
"published_at": "2020-02-28 16:23:51 +1100"
}