first commit
This commit is contained in:
28
modules/psgdpr/views/templates/admin/index.php
Normal file
28
modules/psgdpr/views/templates/admin/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*/
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||
header('Pragma: no-cache');
|
||||
|
||||
header('Location: ../');
|
||||
exit;
|
||||
80
modules/psgdpr/views/templates/admin/menu.tpl
Normal file
80
modules/psgdpr/views/templates/admin/menu.tpl
Normal file
@@ -0,0 +1,80 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<div id="modulecontent" class="clearfix">
|
||||
<div id="psgdpr-menu">
|
||||
<div class="col-lg-2">
|
||||
<div class="list-group" v-on:click.prevent>
|
||||
<a href="#" class="list-group-item" v-bind:class="{ 'active': isActive('getStarted') }" v-on:click="makeActive('getStarted')"><i class="fa fa-gavel"></i> {l s='Get started' mod='psgdpr'}</a>
|
||||
<a href="#" class="list-group-item" v-bind:class="{ 'active': isActive('dataConfig') }" v-on:click="makeActive('dataConfig')"><i class="fa fa-user-secret"></i> {l s='Personal data management' mod='psgdpr'}</a>
|
||||
<a href="#" class="list-group-item" v-bind:class="{ 'active': isActive('dataConsent') }" v-on:click="makeActive('dataConsent')"><i class="fa fa-check-square"></i> {l s='Consent checkbox customization' mod='psgdpr'}</a>
|
||||
<a href="#" class="list-group-item" v-bind:class="{ 'active': isActive('customerActivity') }" v-on:click="makeActive('customerActivity')"><i class="fa fa-user-circle"></i> {l s='Customer activity tracking' mod='psgdpr'}</a>
|
||||
<a href="#" class="list-group-item" v-bind:class="{ 'active': isActive('faq') }" v-on:click="makeActive('faq')"><i class="fa fa-question-circle"></i> {l s='Help' mod='psgdpr'}</a>
|
||||
</div>
|
||||
<div class="list-group" v-on:click.prevent>
|
||||
<a class="list-group-item" style="text-align:center"><i class="icon-info"></i> {l s='Version' mod='psgdpr'} {$module_version|escape:'htmlall':'UTF-8'} | <i class="icon-info"></i> PrestaShop {$ps_version|escape:'htmlall':'UTF-8'}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{* list your admin tpl *}
|
||||
<div id="getStarted" class="psgdpr_menu addons-hide">
|
||||
{include file="./tabs/getStarted.tpl"}
|
||||
</div>
|
||||
|
||||
<div id="dataConfig" class="psgdpr_menu addons-hide">
|
||||
{include file="./tabs/dataConfig.tpl"}
|
||||
</div>
|
||||
|
||||
<div id="dataConsent" class="psgdpr_menu addons-hide">
|
||||
{include file="./tabs/dataConsent.tpl"}
|
||||
</div>
|
||||
|
||||
<div id="customerActivity" class="psgdpr_menu addons-hide">
|
||||
{include file="./tabs/customerActivity.tpl"}
|
||||
</div>
|
||||
|
||||
<div id="faq" class="psgdpr_menu addons-hide">
|
||||
{include file="./tabs/help.tpl"}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{* Use this if you want to send php var to your js *}
|
||||
<script type="text/javascript">
|
||||
var base_url = "{$ps_base_dir|escape:'htmlall':'UTF-8'}";
|
||||
var isPs17 = "{$isPs17|escape:'htmlall':'UTF-8'}";
|
||||
var moduleName = "{$module_name|escape:'htmlall':'UTF-8'}";
|
||||
var currentPage = "{$currentPage|escape:'htmlall':'UTF-8'}";
|
||||
var moduleAdminLink = "{$moduleAdminLink|escape:'htmlall':'UTF-8'}";
|
||||
var psgdpr_adminController = "{$psgdpr_adminController|escape:'htmlall':'UTF-8'}";
|
||||
var adminControllerInvoices = "{$adminControllerInvoices|escape:'htmlall':'UTF-8'}";
|
||||
var ps_version = "{$isPs17|escape:'htmlall':'UTF-8'}";
|
||||
var customer_link = "{url entity='sf' route='admin_customers_view' sf-params=['customerId' => '0']}";
|
||||
|
||||
var messageSuccessCopy = "{l s='Url has been copied to the clipboard!' mod='psgdpr' js=1}";
|
||||
var messageSuccessInvoices = "{l s='Invoices have been successfully downloaded.' mod='psgdpr' js=1}";
|
||||
var messageErrorInvoices = "{l s='No invoices available for this customer.' mod='psgdpr' js=1}";
|
||||
var messageDeleteTitle = "{l s='Are you sure?' mod='psgdpr' js=1}";
|
||||
var messageDeleteText = "{l s='Attention! This action is irreversible. Please make sure you have downloaded all of the customer’s invoices (if he has any) before clicking on Confirm erasure.' mod='psgdpr' js=1}";
|
||||
var messageDeleteCancelText = "{l s='Cancel action' mod='psgdpr' js=1}";
|
||||
var messageDeleteConfirmText = "{l s='Confirm Erasure' mod='psgdpr' js=1}";
|
||||
var messageDeleteSuccess = "{l s='The customer\'s data has been successfully deleted!' mod='psgdpr' js=1}";
|
||||
var datatableExport = "{l s='Export' mod='psgdpr' js=1}";
|
||||
</script>
|
||||
@@ -0,0 +1,58 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
<div class="panel col-lg-10 right-panel">
|
||||
<h3>
|
||||
<i class="fa fa-list"></i> {l s='Customer activity list' mod='psgdpr'} <small>{$module_display|escape:'htmlall':'UTF-8'}</small>
|
||||
</h3>
|
||||
<p>
|
||||
{l s='Keep track of your customer activity related to data accessibility, consent and erasure.' mod='psgdpr'}
|
||||
</p>
|
||||
<br>
|
||||
<div>
|
||||
<table id="customerLog" class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr class="table-header">
|
||||
<th class="text-center"><b>{l s='Client name/ID' mod='psgdpr'}</b></th>
|
||||
<th class="text-center"><b>{l s='Type of request' mod='psgdpr'}</b></th>
|
||||
<th class="text-center"><b>{l s='Submission date' mod='psgdpr'}</b></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$logs item=log}
|
||||
<tr>
|
||||
<td class="text-center">{$log.client_name|escape:'htmlall':'UTF-8'}</td>
|
||||
{if $log.request_type eq 1}
|
||||
<td class="text-center">{l s='Consent confirmation' mod='psgdpr'}</td>
|
||||
{/if}
|
||||
{if $log.request_type eq 2}
|
||||
<td class="text-center">{l s='Accessibility' mod='psgdpr'} (pdf)</td>
|
||||
{/if}
|
||||
{if $log.request_type eq 3}
|
||||
<td class="text-center">{l s='Accessibility' mod='psgdpr'} (csv)</td>
|
||||
{/if}
|
||||
{if $log.request_type eq 4}
|
||||
<td class="text-center">{l s='Erasure' mod='psgdpr'}</td>
|
||||
{/if}
|
||||
<td class="text-center">{$log.date_add|escape:'htmlall':'UTF-8'}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
507
modules/psgdpr/views/templates/admin/tabs/dataConfig.tpl
Normal file
507
modules/psgdpr/views/templates/admin/tabs/dataConfig.tpl
Normal file
@@ -0,0 +1,507 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<div class="panel col-lg-10 right-panel">
|
||||
<h3>
|
||||
<i class="fa fa-cogs"></i> {l s='Data visualization and automatic actions' mod='psgdpr'} <small>{$module_display|escape:'htmlall':'UTF-8'}</small>
|
||||
</h3>
|
||||
<form method="post" action="{$moduleAdminLink|escape:'htmlall':'UTF-8'}&page=account" class="form-horizontal">
|
||||
<div>
|
||||
<p>{l s='Find here listed all personal data collected by PrestaShop and your installed modules.' mod='psgdpr'}</p>
|
||||
<p>{l s='These data will be used at 2 different levels :' mod='psgdpr'}</p>
|
||||
<ul>
|
||||
<li>{l s='When a customer requests access to his data: he gets a copy of his personal data collected on your store.' mod='psgdpr'}</li>
|
||||
<li>{l s='When a customer requests data erasure: if you accept his request, his data will be removed permanently.' mod='psgdpr'}</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<div class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-list"></i> {l s='Compliant module list' mod='psgdpr'} <small>{$module_display|escape:'htmlall':'UTF-8'}</small>
|
||||
</h3>
|
||||
<p>{l s='Find here listed all the elements that are GDPR compliant.' mod='psgdpr'}</p>
|
||||
|
||||
<div class="registered-modules">
|
||||
<div class="module-card">
|
||||
<div class="module-card-content">
|
||||
<div class="module-card-img">
|
||||
<img src="{$img_path|escape:'htmlall':'UTF-8'}PrestaShop_logo_puffin.png" width="45" heigh="45">
|
||||
</div>
|
||||
<div class="module-card-title">
|
||||
<span>{l s='PrestaShop data' mod='psgdpr'}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{foreach from=$modules item=module}
|
||||
<div class="module-card">
|
||||
<div class="module-card-content">
|
||||
<div class="module-card-img">
|
||||
<img src="{$module.logoPath|escape:'htmlall':'UTF-8'}" width="45" heigh="45">
|
||||
</div>
|
||||
<div class="module-card-title">
|
||||
<span>{$module.displayName|escape:'htmlall':'UTF-8'}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
<article class="alert alert-info" role="alert" data-alert="warning">
|
||||
<ul>
|
||||
<li>{l s='Please make sure that you have access to the latest version of these modules to fully benefit the GDPR update.' mod='psgdpr'}</li>
|
||||
<li>{l s='If they are still not displayed in the block above, we invite you to contact their respective developers to have more information about these modules. ' mod='psgdpr'}</li>
|
||||
</ul>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="panel col-lg-10 right-panel">
|
||||
<h3>
|
||||
<i class="fa fa-database"></i> {l s='Manage customer\'s personal data' mod='psgdpr'} <small>{$module_display|escape:'htmlall':'UTF-8'}</small>
|
||||
</h3>
|
||||
|
||||
<div id="customerSearchBlock">
|
||||
{*<br>*}
|
||||
<form id="search" class="form-horizontal" action="" v-on:submit.prevent="onSubmit">
|
||||
{* SEARCH CUSTOMER BLOCK *}
|
||||
<div class="form-group" style="margin-bottom: 0px !important">
|
||||
<div class="col-xs-12 col-sm-12 col-md-5 col-lg-4">
|
||||
<div class="text-right">
|
||||
<label class="control-label">
|
||||
<span class="label-tooltip" data-original-title="{l s='Search for an existing customer by typing the first letters of his/her name or email.' mod='psgdpr'}">
|
||||
{l s='Search for a customer name OR email' mod='psgdpr'}
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-3">
|
||||
<div class="input-group"> <span class="input-group-addon"><i class="fa fa-search"></i></span> <input v-on:keyup="searchCustomers()" v-model="customer_search" class="form-control"> </div>
|
||||
<div class="help-block">
|
||||
<p>{l s='Eg: john doe ...' mod='psgdpr'}</p>
|
||||
</div>
|
||||
</div>
|
||||
{*<div>*}
|
||||
{*<a id="search-tag" v-on:click="searchCustomers()" type="button" class="btn btn-primary"> {l s='Search' mod='psgdpr'}</a>*}
|
||||
{*</div>*}
|
||||
</div>
|
||||
{* SEARCH CUSTOMER BLOCK *}
|
||||
</form>
|
||||
|
||||
|
||||
<article v-if="typeof customers != 'undefined' && customers.length >= 1" class="alert alert-info" role="alert" data-alert="info" style="margin-bottom: 0px !important">
|
||||
{l s='To visualize all the data that your store has collected from a specific customer, please click on the corresponding customer block' mod='psgdpr'}
|
||||
</article>
|
||||
<div class="customerCards">
|
||||
<div v-for="(customer, index) in customers" :id="'customer_'+customer.id_customer" class="customerCard is-collapsed">
|
||||
<div class="panel card-inner" v-on:click="toggleMore('customer', customer.id_customer, 'customer_'+customer.id_customer, index)">
|
||||
<div class="panel-heading">
|
||||
<span>(( customer.firstname ))</span> (( customer.lastname ))<span class="pull-right">#(( customer.id_customer ))</span>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<span>(( customer.email ))</span>
|
||||
<br>
|
||||
<span class="text-muted">{l s='Orders number' mod='psgdpr'}: (( customer.nb_orders ))</span>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<a v-on:click.stop :href="customer_link.replace(/\/0\//,'/'+customer.id_customer+'/')" target="_blank" class="btn btn-default fancybox"><i class="icon-search"></i> {l s='Details' mod='psgdpr'}</a>
|
||||
<button type="button" v-on:click.stop="deleteCustomer('customer', customer.id_customer, index)" class="btn btn-danger pull-right"><i class="icon-trash"></i> {l s='Remove data' mod='psgdpr'}</button>
|
||||
<a v-on:click.stop="downloadInvoices(customer.id_customer, index)" class="btn btn-primary pull-right"><i class="icon-download"></i> {l s='Download invoices' mod='psgdpr'}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel card-expander">
|
||||
{* <div class="panel-heading">
|
||||
<span>{l s='Customer data' mod='psgdpr'}</span><span class="pull-right">#(( customer.id_customer ))</span>
|
||||
</div> *}
|
||||
<div class="panel-body">
|
||||
|
||||
<div v-if="customer.customerData.prestashopData" class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-account"></i> {l s='General information' mod='psgdpr'} <small>{l s='Personal data' mod='psgdpr'}</small>
|
||||
</h3>
|
||||
<div class="col-lg-12">
|
||||
<div class="col-lg-6">
|
||||
<div class="form-horizontal">
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Gender' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.gender ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Name' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.firstname )) (( customer.customerData.prestashopData.customerInfo.lastname ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Birth date' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.birthday ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Age' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.age ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Email' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.email ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Language' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.language ))</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="form-horizontal">
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Creation date' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.date_add ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Last visit' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.last_visit ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Siret' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.siret ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Ape' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.ape ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Company' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.company ))</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="control-label col-lg-3"><b>{l s='Website' mod='psgdpr'}</b></label>
|
||||
<div class="col-lg-9">
|
||||
<p class="form-control-static">(( customer.customerData.prestashopData.customerInfo.website ))</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="customer.customerData.prestashopData" class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-account"></i> {l s='Addresses' mod='psgdpr'} <small>{l s='Personal data' mod='psgdpr'}</small>
|
||||
</h3>
|
||||
<table v-if="customer.customerData.prestashopData.addresses.length >= 1" class="table table-bordered table-hover addresses-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{l s='Alias' mod='psgdpr'}</th>
|
||||
<th>{l s='Company' mod='psgdpr'}</th>
|
||||
<th>{l s='Name' mod='psgdpr'}</th>
|
||||
<th>{l s='Address' mod='psgdpr'}</th>
|
||||
<th>{l s='Phone(s)' mod='psgdpr'}</th>
|
||||
<th>{l s='Country' mod='psgdpr'}</th>
|
||||
<th>{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(address, index) in customer.customerData.prestashopData.addresses">
|
||||
<td>(( address.alias ))</td>
|
||||
<td>(( address.company ))</td>
|
||||
<td>(( address.firstname )) (( address.lastname ))</td>
|
||||
<td>(( address.address1 )), (( address.address2)), (( address.postcode )) (( address.city ))</td>
|
||||
<td>(( address.phone )) (( address.phone_mobile ))</td>
|
||||
<td>(( address.country ))</td>
|
||||
<td>(( address.date_add ))</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No addresses' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="customer.customerData.prestashopData" class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-account"></i> {l s='Orders' mod='psgdpr'} <small>{l s='Personal data' mod='psgdpr'}</small>
|
||||
</h3>
|
||||
<table v-if="customer.customerData.prestashopData.orders.length >= 1" class="table table-bordered table-hover addresses-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{l s='Reference' mod='psgdpr'}</th>
|
||||
<th>{l s='Payment' mod='psgdpr'}</th>
|
||||
<th>{l s='Order state' mod='psgdpr'}</th>
|
||||
<th>{l s='Total paid' mod='psgdpr'}</th>
|
||||
<th>{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(order, index) in customer.customerData.prestashopData.orders">
|
||||
<td><a :href="'{$orderLink|escape:'htmlall':'UTF-8'}'+'&id_order='+order.id_order+'&vieworder'" target="_blank"><b>(( order.reference ))</b></a></td>
|
||||
<td>(( order.payment ))</td>
|
||||
<td>(( order.order_state ))</td>
|
||||
<td>(( order.total_paid_tax_incl ))</td>
|
||||
<td>(( order.date_add ))</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No orders' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="customer.customerData.prestashopData" class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-account"></i> {l s='Carts' mod='psgdpr'} <small>{l s='Personal data' mod='psgdpr'}</small>
|
||||
</h3>
|
||||
<table v-if="customer.customerData.prestashopData.carts.length >= 1" class="table table-bordered table-hover addresses-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{l s='Id' mod='psgdpr'}</th>
|
||||
<th>{l s='Total product(s)' mod='psgdpr'}</th>
|
||||
<th>{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(cart, index) in customer.customerData.prestashopData.carts">
|
||||
<td><a :href="'{$cartLink|escape:'htmlall':'UTF-8'}'+'&id_cart='+cart.id_cart+'&viewcart'" target="_blank"><b>#(( cart.id_cart ))</b></a></td>
|
||||
<td>(( cart.nb_products ))</td>
|
||||
<td>(( cart.date_add ))</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No carts' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="customer.customerData.prestashopData" class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-account"></i> {l s='Messages' mod='psgdpr'} <small>{l s='Personal data' mod='psgdpr'}</small>
|
||||
</h3>
|
||||
<table v-if="customer.customerData.prestashopData.messages.length >= 1" class="table table-bordered table-hover addresses-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{l s='IP' mod='psgdpr'}</th>
|
||||
<th>{l s='Message' mod='psgdpr'}</th>
|
||||
<th>{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(message, index) in customer.customerData.prestashopData.messages">
|
||||
<td>(( message.ip ))</td>
|
||||
<td>(( message.message ))</td>
|
||||
<td>(( message.date_add ))</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No messages' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="customer.customerData.prestashopData" class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-account"></i> {l s='Last connections' mod='psgdpr'} <small>{l s='Personal data' mod='psgdpr'}</small>
|
||||
</h3>
|
||||
<table v-if="customer.customerData.prestashopData.connections.length >= 1" class="table table-bordered table-hover addresses-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{l s='Origin request' mod='psgdpr'}</th>
|
||||
<th>{l s='Page viewed' mod='psgdpr'}</th>
|
||||
<th>{l s='Time on the page' mod='psgdpr'}</th>
|
||||
<th>{l s='IP address' mod='psgdpr'}</th>
|
||||
<th>{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(connection, index) in customer.customerData.prestashopData.connections">
|
||||
<td>(( connection.http_referer ))</td>
|
||||
<td>(( connection.pages ))</td>
|
||||
<td>(( connection.time ))</td>
|
||||
<td>(( connection.ipaddress ))</td>
|
||||
<td>(( connection.date_add ))</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No connections' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="customer.customerData.modulesData" v-for="(module, index) in customer.customerData.modulesData" class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-account"></i> {l s='Module' mod='psgdpr'}: (( index )) <small>{l s='Personal data' mod='psgdpr'}</small>
|
||||
</h3>
|
||||
<div v-if="module instanceof Array">
|
||||
<table v-if="module.length >= 1" v-for="table in module" class="table table-bordered table-hover addresses-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th v-for="(val, key, i) in table">(( key ))</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td v-for="(val, key, i) in table">(( val ))</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No data' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No data' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="isEmail() && found == false" id="email" class="customerCard is-collapsed">
|
||||
<div class="panel card-inner" v-on:click="toggleMore('email', customer_search, 'email')">
|
||||
<div class="panel-heading">
|
||||
<span>{l s='EMAIL' mod='psgdpr'}</span>
|
||||
<br>
|
||||
</div>
|
||||
<div class="panel-body" style="padding:23px;">
|
||||
<span>(( customer_search ))</span>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button type="button" v-on:click.stop="deleteCustomer('email', customer_search)" class="btn btn-danger pull-right"><i class="icon-trash"></i> {l s='Remove data' mod='psgdpr'}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel card-expander">
|
||||
<div class="panel-body">
|
||||
<div v-if="dataMail" v-for="(module, index) in dataMail.modulesData" class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-account"></i> {l s='Module' mod='psgdpr'}: (( index )) <small>{l s='Personal data' mod='psgdpr'}</small>
|
||||
</h3>
|
||||
<div v-if="module instanceof Array">
|
||||
<table v-if="module.length >= 1" v-for="table in module" class="table table-bordered table-hover addresses-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th v-for="(val, key, i) in table">(( key ))</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td v-for="(val, key, i) in table">(( val ))</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No data' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No data' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div v-if="isPhoneNumber() && found == false" id="phone" class="customerCard is-collapsed">
|
||||
<div class="panel card-inner" v-on:click="toggleMore('phone', customer_search, 'phone')">
|
||||
<div class="panel-heading">
|
||||
<span>{l s='PHONE' mod='psgdpr'}</span>
|
||||
<br>
|
||||
</div>
|
||||
<div class="panel-body" style="padding:23px;">
|
||||
<span>(( customer_search ))</span>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
<button type="button" v-on:click.stop="deleteCustomer('phone', customer_search)" class="btn btn-danger pull-right"><i class="icon-trash"></i> {l s='Remove data' mod='psgdpr'}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel card-expander">
|
||||
<div class="panel-body">
|
||||
<div v-if="dataPhone" v-for="(module, index) in dataPhone.modulesData" class="panel panel-box col-lg-12">
|
||||
<h3>
|
||||
<i class="fa fa-account"></i> {l s='Module' mod='psgdpr'}: (( index )) <small>{l s='Personal data' mod='psgdpr'}</small>
|
||||
</h3>
|
||||
<div v-if="module instanceof Array">
|
||||
<table v-if="module.length >= 1" v-for="table in module" class="table table-bordered table-hover addresses-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th v-for="(val, key, i) in table">(( key ))</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td v-for="(val, key, i) in table">(( val ))</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No data' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<article class="alert alert-warning" role="alert" data-alert="warning">
|
||||
{l s='No data' mod='psgdpr'}
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<article v-if="found == false && customer_search.length > 0" class="alert alert-warning" role="alert" data-alert="warning">
|
||||
<p>{l s='There is no result in the customer data base for' mod='psgdpr'} : (( customer_search ))</p>
|
||||
<p v-if="!isEmail() && !isPhoneNumber()">{l s='If you are looking for someone without a customer account, please search for the complete email address or phone number he left.' mod='psgdpr'}</p>
|
||||
<p v-if="isEmail() || isPhoneNumber()">{l s='However you can continue the erasure process for this address (only for modules that have done the GDPR update).' mod='psgdpr'}</p>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
237
modules/psgdpr/views/templates/admin/tabs/dataConsent.tpl
Normal file
237
modules/psgdpr/views/templates/admin/tabs/dataConsent.tpl
Normal file
@@ -0,0 +1,237 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
<div class="panel col-lg-10 right-panel">
|
||||
<h3>
|
||||
<i class="fa fa-wrench"></i> {l s='Configure your checkboxes' mod='psgdpr'} <small>{$module_display|escape:'htmlall':'UTF-8'}</small>
|
||||
</h3>
|
||||
<form method="post" action="{$moduleAdminLink|escape:'htmlall':'UTF-8'}&page=dataConsent" class="form-horizontal">
|
||||
<div>
|
||||
<p>{l s='Please customize your consent request messages in the dedicated fields below :' mod='psgdpr'}</p>
|
||||
<article class="alert alert-info" role="alert" data-alert="info">
|
||||
{l s='We recommend you to put a link to your confidentiality policy page in each of your custom messages. Be aware that a dedicated confidentiality policy page is required on your website; if you do not have one yet, please click' mod='psgdpr'} <a target="_blank" href="{$cmsConfPage|escape:'htmlall':'UTF-8'}">{l s='here' mod='psgdpr'}</a>.
|
||||
</article>
|
||||
<br><br>
|
||||
{* SWITCH CREATION ACCOUNT MESSAGE *}
|
||||
<div class="form-group">
|
||||
<div class="col-xs-12 col-sm-12 col-md-5 col-lg-3">
|
||||
<div class="text-right">
|
||||
<label class="boldtext control-label">{l s='Account creation form' mod='psgdpr'}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-7">
|
||||
<span class="switch prestashop-switch fixed-width-lg">
|
||||
<input class="yes" type="radio" name="psgdpr_creation_form_switch" id="switch_account_creation_on" data-toggle="collapse" data-target="#account_creation_message:not(.in)" value="1" {if $switchCreationForm eq 1}checked="checked"{/if}>
|
||||
<label for="switch_account_creation_on" class="radioCheck">{l s='YES' mod='psgdpr'}</label>
|
||||
|
||||
<input class="no" type="radio" name="psgdpr_creation_form_switch" id="switch_account_creation_off" data-toggle="collapse" data-target="#account_creation_message.in" value="0" {if $switchCreationForm eq 0}checked="checked"{/if}>
|
||||
<label for="switch_account_creation_off" class="radioCheck">{l s='NO' mod='psgdpr'}</label>
|
||||
<a class="slide-button btn"></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{* SWITCH CREATION ACCOUNT MESSAGE *}
|
||||
{if $switchCreationForm eq 1}
|
||||
<div id="account_creation_message" class="collapse in">
|
||||
{else}
|
||||
<div id="account_creation_message" class="collapse">
|
||||
{/if}
|
||||
{* ACCOUNT CREATION MESSAGE *}
|
||||
{foreach from=$languages item=language}
|
||||
{if $languages|count > 1}
|
||||
<div class="translatable-field lang-{$language.id_lang|escape:'htmlall':'UTF-8'}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
|
||||
{/if}
|
||||
<div class="form-group">
|
||||
<div class="col-xs-12 col-sm-12 col-md-5 col-lg-3">
|
||||
<div class="text-right">
|
||||
<label class="control-label">
|
||||
{l s='Consent request message' mod='psgdpr'}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-6">
|
||||
<textarea class="autoload_rte" name="psgdpr_creation_form_{$language.id_lang|escape:'htmlall':'UTF-8'}" text="" rows="4" cols="80">{$accountCreationForm[$language.id_lang]|escape:'htmlall':'UTF-8'}</textarea>
|
||||
<div class="help-block">
|
||||
<p>{l s='This message will be displayed on the customer creation form' mod='psgdpr'}</p>
|
||||
</div>
|
||||
</div>
|
||||
{if $languages|count > 1}
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-3">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
|
||||
{$language.iso_code|escape:'htmlall':'UTF-8'}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{foreach from=$languages item=lang}
|
||||
<li><a class="currentLang" data-id="{$lang.id_lang|escape:'htmlall':'UTF-8'}" href="javascript:hideOtherLanguage({$lang.id_lang|escape:'javascript'});" tabindex="-1">{$lang.name|escape:'htmlall':'UTF-8'}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{if $languages|count > 1}
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{* ACCOUNT CREATION MESSAGE *}
|
||||
</div>
|
||||
|
||||
{* SWITCH CUSTOMER ACCOUNT AREA MESSAGE *}
|
||||
<div class="form-group">
|
||||
<div class="col-xs-12 col-sm-12 col-md-5 col-lg-3">
|
||||
<div class="text-right">
|
||||
<label class="boldtext control-label">{l s='Customer account area' mod='psgdpr'}</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-7">
|
||||
<span class="switch prestashop-switch fixed-width-lg">
|
||||
<input class="yes" type="radio" name="psgdpr_customer_form_switch" id="switch_account_customer_on" data-toggle="collapse" data-target="#account_customer_message:not(.in)" value="1" {if $switchCustomerForm eq 1}checked="checked"{/if}>
|
||||
<label for="switch_account_customer_on" class="radioCheck">{l s='YES' mod='psgdpr'}</label>
|
||||
|
||||
<input class="no" type="radio" name="psgdpr_customer_form_switch" id="switch_account_customer_off" data-toggle="collapse" data-target="#account_customer_message.in" value="0" {if $switchCustomerForm eq 0}checked="checked"{/if}>
|
||||
<label for="switch_account_customer_off" class="radioCheck">{l s='NO' mod='psgdpr'}</label>
|
||||
<a class="slide-button btn"></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{* SWITCH CUSTOMER ACCOUNT AREA MESSAGE *}
|
||||
{if $switchCustomerForm eq 1}
|
||||
<div id="account_customer_message" class="collapse in">
|
||||
{else}
|
||||
<div id="account_customer_message" class="collapse">
|
||||
{/if}
|
||||
{* CUSTOMER ACCOUNT AREA MESSAGE *}
|
||||
{foreach from=$languages item=language}
|
||||
{if $languages|count > 1}
|
||||
<div class="translatable-field lang-{$language.id_lang|escape:'htmlall':'UTF-8'}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
|
||||
{/if}
|
||||
<div class="form-group">
|
||||
<div class="col-xs-12 col-sm-12 col-md-5 col-lg-3">
|
||||
<div class="text-right">
|
||||
<label class="control-label">
|
||||
{l s='Consent request message' mod='psgdpr'}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-6">
|
||||
<textarea class="autoload_rte" name="psgdpr_customer_form_{$language.id_lang|escape:'htmlall':'UTF-8'}" text="" rows="4" cols="80">{$accountCustomerForm[$language.id_lang]|escape:'htmlall':'UTF-8'}</textarea>
|
||||
<div class="help-block">
|
||||
<p>{l s='This message will be displayed in the My personal information tab in the customer account' mod='psgdpr'}</p>
|
||||
</div>
|
||||
</div>
|
||||
{if $languages|count > 1}
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-3">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
|
||||
{$language.iso_code|escape:'htmlall':'UTF-8'}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{foreach from=$languages item=lang}
|
||||
<li><a class="currentLang" data-id="{$lang.id_lang|escape:'htmlall':'UTF-8'}" href="javascript:hideOtherLanguage({$lang.id_lang|escape:'javascript'});" tabindex="-1">{$lang.name|escape:'htmlall':'UTF-8'}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{if $languages|count > 1}
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{* CUSTOMER ACCOUNT AREA MESSAGE *}
|
||||
</div>
|
||||
|
||||
{if count($modules) >= 1}
|
||||
{foreach from=$modules item=module}
|
||||
{* REGISTERED SWITCH MODULE *}
|
||||
<div class="form-group">
|
||||
<div class="col-xs-12 col-sm-12 col-md-5 col-lg-3">
|
||||
<div class="text-right">
|
||||
<label class="control-label"><b>{$module.displayName|escape:'htmlall':'UTF-8'}</b></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-7">
|
||||
<span class="switch prestashop-switch fixed-width-lg">
|
||||
<input class="yes" type="radio" name="psgdpr_switch_registered_module_{$module.id_module|escape:'htmlall':'UTF-8'}" id="switch_registered_module_{$module.id_module|escape:'htmlall':'UTF-8'}_on" data-toggle="collapse" data-target="#registered_module_message_{$module.id_module|escape:'htmlall':'UTF-8'}:not(.in)" value="1" {if $module.active eq 1}checked="checked"{/if}>
|
||||
<label for="switch_registered_module_{$module.id_module|escape:'htmlall':'UTF-8'}_on" class="radioCheck">{l s='YES' mod='psgdpr'}</label>
|
||||
|
||||
<input class="no" type="radio" name="psgdpr_switch_registered_module_{$module.id_module|escape:'htmlall':'UTF-8'}" id="switch_registered_module_{$module.id_module|escape:'htmlall':'UTF-8'}_off" data-toggle="collapse" data-target="#registered_module_message_{$module.id_module|escape:'htmlall':'UTF-8'}.in" value="0" {if $module.active eq 0}checked="checked"{/if}>
|
||||
<label for="switch_registered_module_{$module.id_module|escape:'htmlall':'UTF-8'}_off" class="radioCheck">{l s='NO' mod='psgdpr'}</label>
|
||||
<a class="slide-button btn"></a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{* REGISTERED SWITCH MODULE *}
|
||||
{if $module.active eq 1}
|
||||
<div id="registered_module_message_{$module.id_module|escape:'htmlall':'UTF-8'}" class="collapse in">
|
||||
{else}
|
||||
<div id="registered_module_message_{$module.id_module|escape:'htmlall':'UTF-8'}" class="collapse">
|
||||
{/if}
|
||||
{* REGISTERED MODULE CONSENT MESSAGE *}
|
||||
{foreach from=$languages item=language}
|
||||
{if $languages|count > 1}
|
||||
<div class="translatable-field lang-{$language.id_lang|escape:'htmlall':'UTF-8'}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
|
||||
{/if}
|
||||
<div class="form-group">
|
||||
<div class="col-xs-12 col-sm-12 col-md-5 col-lg-3">
|
||||
<div class="text-right">
|
||||
<label class="control-label">
|
||||
<p>{l s='Consent request message' mod='psgdpr'}</p>
|
||||
<img src="{$module.logoPath|escape:'htmlall':'UTF-8'}" width="50" heigh="50">
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-6">
|
||||
<textarea class="autoload_rte" name="psgdpr_registered_module_{$module.id_module|escape:'htmlall':'UTF-8'}_{$language.id_lang|escape:'htmlall':'UTF-8'}" text="" rows="4" cols="80">{$module.message[$language.id_lang]|escape:'htmlall':'UTF-8'}</textarea>
|
||||
<div class="help-block">
|
||||
<p>{l s='This message will be accomplanied by a checkbox' mod='psgdpr'}</p>
|
||||
</div>
|
||||
</div>
|
||||
{if $languages|count > 1}
|
||||
<div class="col-xs-12 col-sm-12 col-md-7 col-lg-3">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
|
||||
{$language.iso_code|escape:'htmlall':'UTF-8'}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
{foreach from=$languages item=lang}
|
||||
<li><a class="currentLang" data-id="{$lang.id_lang|escape:'htmlall':'UTF-8'}" href="javascript:hideOtherLanguage({$lang.id_lang|escape:'javascript'});" tabindex="-1">{$lang.name|escape:'htmlall':'UTF-8'}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{if $languages|count > 1}
|
||||
</div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{* REGISTERED MODULE CONSENT MESSAGE*}
|
||||
</div>
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
<article class="alert alert-info" role="alert" data-alert="info">
|
||||
{l s='For other installed modules requiring consent confirmation, they will be displayed in this tab only if they have done the GDPR update. The corresponding fields will automatically appear in order for you to customize the consent confirmation checkboxes.' mod='psgdpr'}
|
||||
</article>
|
||||
<div class="panel-footer">
|
||||
<button type="submit" value="1" id="submitDataConsent" name="submitDataConsent" class="btn btn-default pull-right">
|
||||
<i class="process-icon-save"></i> {l s='Save' mod='psgdpr'}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
119
modules/psgdpr/views/templates/admin/tabs/getStarted.tpl
Normal file
119
modules/psgdpr/views/templates/admin/tabs/getStarted.tpl
Normal file
@@ -0,0 +1,119 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
<div class="panel col-lg-10 right-panel">
|
||||
<h3>
|
||||
<i class="fa fa-info-circle"></i> {l s='Get started' mod='psgdpr'} <small>{$module_display|escape:'htmlall':'UTF-8'}</small>
|
||||
</h3>
|
||||
<h2>{l s='Welcome to your GDPR module' mod='psgdpr'}</h2>
|
||||
<br>
|
||||
<p>{l s='This interface will help you to become familiar with the GDPR and give you some guidance to help you become compliant with this regulation.' mod='psgdpr'}</p>
|
||||
<p>{l s='This module meets the main regulation\'s requirements concerning personal data of your customers including :' mod='psgdpr'}</p>
|
||||
<ol type="1">
|
||||
<li>{l s='The right to access their personal data and data portability' mod='psgdpr'}</li>
|
||||
<li>{l s='The right to obtain rectification and/or erasure of their personal data' mod='psgdpr'}</li>
|
||||
<li>{l s='The right to give and withdraw consent' mod='psgdpr'}</li>
|
||||
</ol>
|
||||
<p>{l s='It also allows you to keep a record of processing activities (especially for access, consent and erasure).' mod='psgdpr'}</p>
|
||||
<p><b>{l s='Follow our 3 steps to configure your module and help you to become GDPR compliant!' mod='psgdpr'}</b></p>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-1"></div>
|
||||
<div class="col-lg-3">
|
||||
<div class="psgdpr-card" data-target="dataConfig">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title-size"><i class="fa fa-eye"></i> <span class="card-title">{l s='Manage' mod='psgdpr'}</span></h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">{l s='See our Personal data management tab to visualize the data collected by PrestaShop and community modules and manage your customers’ personal data.' mod='psgdpr'}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<div class="psgdpr-card" data-target="dataConsent">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title-size"><i class="fa fa-pencil-alt"></i> <span class="card-title">{l s='Customize' mod='psgdpr'}</span></h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">{l s='Customize the consent confirmation checkboxes and consent request message on the different forms of your store, especially for account creation and newsletter subscription.' mod='psgdpr'}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<div class="psgdpr-card" data-target="customerActivity">
|
||||
<div class="card-header">
|
||||
<h4 class="card-title-size"><i class="fa fa-search"></i> <span class="card-title">{l s='Keep track' mod='psgdpr'}</span></h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">{l s='Visualize all of your customers’ actions related to their data and manage the erasure requests.' mod='psgdpr'}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1"></div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
<div role="alert" data-alert="info" class="alert alert-info">
|
||||
{l s='Note: Please make sure that you have access to the latest version of your installed module(s) to fully benefit the features of our GDPR module. If one or several of your modules do not provide their data list, we invite you to contact directly the developers of these modules.' mod='psgdpr'}
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<h3>{l s='More information about GDPR' mod='psgdpr'}</h3>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-2"></div>
|
||||
<a href="http://ec.europa.eu/justice/article-29/structure/data-protection-authorities/" target="_blank">
|
||||
<div class="col-lg-2">
|
||||
<div class="psgdpr-card-useful-link">
|
||||
<img src="{$img_path|escape:'htmlall':'UTF-8'}souris.png">
|
||||
<h4 class="card-link">{l s='Data protection authorities websites' mod='psgdpr'}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="{$doc|escape:'htmlall':'UTF-8'}" target="_blank">
|
||||
<div class="col-lg-2">
|
||||
<div class="psgdpr-card-useful-link">
|
||||
<img src="{$img_path|escape:'htmlall':'UTF-8'}pdf.png">
|
||||
<h4 class="card-link">{l s='Module\'s documentation' mod='psgdpr'}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="{$youtubeLink|escape:'htmlall':'UTF-8'}" target="_blank">
|
||||
<div class="col-lg-2">
|
||||
<div class="psgdpr-card-useful-link">
|
||||
<img src="{$img_path|escape:'htmlall':'UTF-8'}youtube.png">
|
||||
<h4 class="card-link">{l s='Video' mod='psgdpr'}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="http://build.prestashop.com/news/prestashop-and-gdpr/" target="_blank">
|
||||
<div class="col-lg-2">
|
||||
<div class="psgdpr-card-useful-link">
|
||||
<img src="{$img_path|escape:'htmlall':'UTF-8'}journal.png">
|
||||
<h4 class="card-link">{l s='Build article' mod='psgdpr'}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
<div class="col-lg-2"></div>
|
||||
</div>
|
||||
|
||||
<div role="alert" data-alert="info" class="alert alert-info">
|
||||
{l s='Note: These features are intended to help you to become GDPR compliant. However using them does not guarantee that your site is fully compliant with GDPR requirements.' mod='psgdpr'} <b>{l s='It is your own responsibility' mod='psgdpr'}</b> {l s='to configure the modules and take all necessary actions to ensure compliance. For any questions, we recommend you to contact a lawyer specializing in personal data legislation questions.' mod='psgdpr'}
|
||||
</div>
|
||||
</div>
|
||||
96
modules/psgdpr/views/templates/admin/tabs/help.tpl
Normal file
96
modules/psgdpr/views/templates/admin/tabs/help.tpl
Normal file
@@ -0,0 +1,96 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<div class="panel col-lg-10 right-panel">
|
||||
<h3>
|
||||
<i class="fa fa-question-circle"></i> {l s='Help & contact' mod='psgdpr'} <small>{$module_display|escape:'htmlall':'UTF-8'}</small>
|
||||
</h3>
|
||||
<div class="helpContentParent">
|
||||
<div class="helpContentLeft">
|
||||
<div class="left">
|
||||
<img src="{$logo_path|escape:'htmlall':'UTF-8'}" alt=""/>
|
||||
</div>
|
||||
<div class="right">
|
||||
<p><span class="data_label" style="color:#00aff0;"><b>{l s='This module allows you to :' mod='psgdpr'}</b></span></p>
|
||||
<br>
|
||||
<div>
|
||||
<div class="numberCircle">1</div>
|
||||
<div class="numberCircleText">
|
||||
<p class="numberCircleText">
|
||||
{l s='Erase any customer account with his/her personal data collected by your shop if requested by the customer' mod='psgdpr'}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="numberCircle">2</div>
|
||||
<div class="numberCircleText">
|
||||
<p class="numberCircleText">
|
||||
{l s='Add a consent confirmation checkbox in a module form that collects personal data and customize it' mod='psgdpr'}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="numberCircle">3</div>
|
||||
<div class="numberCircleText">
|
||||
<p class="numberCircleText">
|
||||
{l s='Allow your customer to consult and export their personal data collected by your shop on their customer account' mod='psgdpr'}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="numberCircle">4</div>
|
||||
<div class="numberCircleText">
|
||||
<p class="numberCircleText">
|
||||
{l s='View all your customers’ actions related to their personal data' mod='psgdpr'}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="helpContentRight">
|
||||
<div class="helpContentRight-sub">
|
||||
<b>{l s='Need help ?' mod='psgdpr'}</b><br>
|
||||
{l s='Find here the documentation of this module' mod='psgdpr'}
|
||||
<a class="btn btn-primary" href="{$doc|escape:'htmlall':'UTF-8'}" target="_blank" style="margin-left:20px;" href="#">
|
||||
<i class="fa fa-book"></i> {l s='Documentation' mod='psgdpr'}</a>
|
||||
</a>
|
||||
<br><br>
|
||||
<div class="tab-pane panel" id="faq">
|
||||
<div class="panel-heading"><i class="icon-question"></i> {l s='FAQ' mod='psgdpr'}</div>
|
||||
{foreach from=$faq item=category name='faq'}
|
||||
<span class="faq-h1">{$category.title|escape:'htmlall':'UTF-8'}</span>
|
||||
<ul>
|
||||
{foreach from=$category.blocks item=qa}
|
||||
{if !empty($qa.question)}
|
||||
<li>
|
||||
<span class="faq-h2"><i class="icon-info-circle"></i> {$qa.question|escape:'htmlall':'UTF-8'}</span>
|
||||
<p class="faq-text hide">
|
||||
{$qa.answer|escape:'htmlall':'UTF-8'|replace:"\n":"<br />"}
|
||||
</p>
|
||||
</li>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{if !$smarty.foreach.faq.last}<hr/>{/if}
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
28
modules/psgdpr/views/templates/admin/tabs/index.php
Normal file
28
modules/psgdpr/views/templates/admin/tabs/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*/
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||
header('Pragma: no-cache');
|
||||
|
||||
header('Location: ../');
|
||||
exit;
|
||||
24
modules/psgdpr/views/templates/front/customerAccount.tpl
Normal file
24
modules/psgdpr/views/templates/front/customerAccount.tpl
Normal file
@@ -0,0 +1,24 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<a class="col-lg-4 col-md-6 col-sm-6 col-xs-12" id="psgdpr-link" href="{$front_controller}">
|
||||
<span class="link-item">
|
||||
<i class="material-icons">account_box</i> {l s='GDPR - Personal data' mod='psgdpr'}
|
||||
</span>
|
||||
</a>
|
||||
@@ -0,0 +1,47 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
{extends file='customer/page.tpl'}
|
||||
|
||||
{block name='page_title'}
|
||||
{l s='GDPR - Personal data' mod='psgdpr'}
|
||||
{/block}
|
||||
|
||||
{block name='page_content'}
|
||||
<div class="container">
|
||||
<section class="page_content">
|
||||
<div class="col-xs-12 psgdprinfo17">
|
||||
<h2>{l s='Access to my data' mod='psgdpr'}</h2>
|
||||
<p>{l s='At any time, you have the right to retrieve the data you have provided to our site. Click on "Get my data" to automatically download a copy of your personal data on a pdf or csv file.' mod='psgdpr'}</p>
|
||||
<a id="exportDataToCsv" class="btn btn-primary psgdprgetdatabtn17" target="_blank" href="{$psgdpr_csv_controller|escape:'htmlall':'UTF-8'}">{l s='GET MY DATA TO CSV' mod='psgdpr'}</a>
|
||||
<a id="exportDataToPdf" class="btn btn-primary psgdprgetdatabtn17" target="_blank" href="{$psgdpr_pdf_controller|escape:'htmlall':'UTF-8'}">{l s='GET MY DATA TO PDF' mod='psgdpr'}</a>
|
||||
</div>
|
||||
<div class="col-xs-12 psgdprinfo17">
|
||||
<h2>{l s='Rectification & Erasure requests' mod='psgdpr'}</h2>
|
||||
<p>{l s='You have the right to modify all the personal information found in the "My Account" page. For any other request you might have regarding the rectification and/or erasure of your personal data, please contact us through our' mod='psgdpr'} <a href="{$psgdpr_contactUrl|escape:'htmlall':'UTF-8'}">{l s='contact page' mod='psgdpr'}</a>. {l s='We will review your request and reply as soon as possible.' mod='psgdpr'}</p>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
var psgdpr_front_controller = "{/literal}{$psgdpr_front_controller|escape:'htmlall':'UTF-8'}{literal}";
|
||||
var psgdpr_id_customer = "{/literal}{$psgdpr_front_controller|escape:'htmlall':'UTF-8'}{literal}";
|
||||
var psgdpr_ps_version = "{/literal}{$psgdpr_ps_version|escape:'htmlall':'UTF-8'}{literal}";
|
||||
</script>
|
||||
{/literal}
|
||||
{/block}
|
||||
28
modules/psgdpr/views/templates/front/index.php
Normal file
28
modules/psgdpr/views/templates/front/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*/
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||
header('Pragma: no-cache');
|
||||
|
||||
header('Location: ../');
|
||||
exit;
|
||||
28
modules/psgdpr/views/templates/front/pdf/index.php
Normal file
28
modules/psgdpr/views/templates/front/pdf/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*/
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||
header('Pragma: no-cache');
|
||||
|
||||
header('Location: ../');
|
||||
exit;
|
||||
@@ -0,0 +1,51 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<h2>{l s='Addresses' mod='psgdpr'}</h2>
|
||||
<br>
|
||||
<table id="summary-tab" width="100%">
|
||||
<tr>
|
||||
<th class="header" valign="middle">{l s='Alias' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Company' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Name' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Address' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Phone(s)' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Country' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
|
||||
{if count($addresses) >= 1}
|
||||
{foreach from=$addresses item=address}
|
||||
<tr>
|
||||
<td class="center white">{$address['alias']}</td>
|
||||
<td class="center white">{$address['company']}</td>
|
||||
<td class="center white">{$address['firstname']} {$address['lastname']}</td>
|
||||
<td class="center white">{$address['address1']} {$address['address2']} {$address['postcode']} {$address['city']}</td>
|
||||
<td class="center white">{$address['phone']} {$address['phone_mobile']}</td>
|
||||
<td class="center white">{$address['country']}</td>
|
||||
<td class="center white">{$address['date_add']}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{else}
|
||||
<tr>
|
||||
<td colspan="7" class="center white">{l s='No addresses' mod='psgdpr'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</table>
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<h2>{l s='Carts' mod='psgdpr'}</h2>
|
||||
<br>
|
||||
<table id="summary-tab" width="100%">
|
||||
<tr>
|
||||
<th class="header" valign="middle">{l s='Id' mod='psgdpr'}</th>
|
||||
<th colspan="2" class="header" valign="middle">{l s='Total products' mod='psgdpr'}</th>
|
||||
<th colspan="2" class="header" valign="middle">{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
|
||||
{if count($carts) >= 1}
|
||||
{foreach from=$carts item=cart}
|
||||
<tr class="separator">
|
||||
<td class="center white"><b>#{$cart['id_cart']|escape:'html':'UTF-8'}</b></td>
|
||||
<td colspan="2" class="center white">{$cart['nb_products']|escape:'html':'UTF-8'}</td>
|
||||
<td colspan="2" class="center white">{$cart['date_add']|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
{if count($cart['products']) >= 1}
|
||||
<tr>
|
||||
<td colspan="3" class="center white"><b>{l s='Product(s) in the cart' mod='psgdpr'} :</b></td>
|
||||
<td colspan="2" class="center white"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="center white"></td>
|
||||
<td colspan="4" class="center white">
|
||||
<table id="total-tab" width="100%">
|
||||
<tr>
|
||||
<th class="header" valign="middle"><i>{l s='Reference' mod='psgdpr'}</i></th>
|
||||
<th class="header" valign="middle"><i>{l s='Name' mod='psgdpr'}</i></th>
|
||||
<th class="header" valign="middle"><i>{l s='Quantity' mod='psgdpr'}</i></th>
|
||||
</tr>
|
||||
{foreach from=$cart['products'] item=product}
|
||||
<tr>
|
||||
<td class="center white">{$product['product_reference']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$product['product_name']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$product['product_quantity']|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{else}
|
||||
<tr>
|
||||
<td colspan="5" class="center white">{l s='No carts' mod='psgdpr'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</table>
|
||||
@@ -0,0 +1,46 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<h2>{l s='Last connections' mod='psgdpr'}</h2>
|
||||
<br>
|
||||
<table id="summary-tab" width="100%">
|
||||
<tr>
|
||||
<th class="header" valign="middle">{l s='Origin request' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Page viewed' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Time on the page' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='IP address' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
|
||||
{if count($connections) >= 1}
|
||||
{foreach from=$connections item=connection}
|
||||
<tr>
|
||||
<td class="center white">{$connection['http_referer']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$connection['pages']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$connection['time']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$connection['ipaddress']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$connection['date_add']|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{else}
|
||||
<tr>
|
||||
<td colspan="5" class="center white">{l s='No connections' mod='psgdpr'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</table>
|
||||
@@ -0,0 +1,191 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<h2>{l s='General info' mod='psgdpr'}</h2>
|
||||
<br>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td width="47%">
|
||||
<table id="total-tab" width="100%">
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Gender' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['gender']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Name' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['firstname']} {$customerInfo['lastname']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Birth date' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['birthday']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Age' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['age']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Email' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['email']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Language' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['language']}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td width="5%"></td>
|
||||
<td width="47%">
|
||||
<table id="total-tab" width="100%">
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Creation account date' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['date_add']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Last visit' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['last_visit']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Siret' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['siret']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Ape' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['ape']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Company' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['company']}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Website' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['website']}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{* <tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Gender' mod='psgdpr'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
{$customerInfo['gender']}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
</td>
|
||||
</tr> *}
|
||||
|
||||
{* {if $footer.product_discounts_tax_excl > 0}
|
||||
<tr>
|
||||
<td class="grey" width="50%">
|
||||
{l s='Total Discounts' d='Shop.Pdf' pdf='true'}
|
||||
</td>
|
||||
<td class="white" width="50%">
|
||||
- {displayPrice currency=$order->id_currency price=$footer.product_discounts_tax_excl}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{/if}
|
||||
|
||||
<tr class="bold">
|
||||
<td class="grey">
|
||||
{l s='Total (Tax excl.)' d='Shop.Pdf' pdf='true'}
|
||||
</td>
|
||||
<td class="white">
|
||||
{displayPrice currency=$order->id_currency price=$footer.total_paid_tax_excl}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="bold big">
|
||||
<td class="grey">
|
||||
{l s='Total' d='Shop.Pdf' pdf='true'}
|
||||
</td>
|
||||
<td class="white">
|
||||
{displayPrice currency=$order->id_currency price=$footer.total_paid_tax_incl}
|
||||
</td>
|
||||
</tr> *}
|
||||
|
||||
</table>
|
||||
@@ -0,0 +1,42 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<h2>{l s='Messages' mod='psgdpr'}</h2>
|
||||
<br>
|
||||
<table id="summary-tab" width="100%">
|
||||
<tr>
|
||||
<th class="header" valign="middle">{l s='IP' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Message' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
|
||||
{if count($messages) >= 1}
|
||||
{foreach from=$messages item=message}
|
||||
<tr>
|
||||
<td class="center white">{$message['ip']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$message['message']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$message['date_add']|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{else}
|
||||
<tr>
|
||||
<td colspan="3" class="center white">{l s='No messages' mod='psgdpr'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</table>
|
||||
@@ -0,0 +1,40 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
{foreach from=$modules item=module key=key}
|
||||
<h2>{l s='Module' mod='psgdpr'} : {$key}</h2>
|
||||
<br>
|
||||
|
||||
{foreach from=$module item=table}
|
||||
<table id="summary-tab" width="100%">
|
||||
<tr>
|
||||
{foreach from=$table item=value key=index}
|
||||
<th class="header" valign="middle">{$index}</th>
|
||||
{/foreach}
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
{foreach from=$table item=value key=index}
|
||||
<td class="center white">{$value|escape:'html':'UTF-8'}</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
</table>
|
||||
{/foreach}
|
||||
|
||||
{/foreach}
|
||||
@@ -0,0 +1,69 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<h2>{l s='Orders' mod='psgdpr'}</h2>
|
||||
<br>
|
||||
<table id="summary-tab" width="100%">
|
||||
<tr>
|
||||
<th class="header" valign="middle">{l s='Reference' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Payment' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Order state' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Total paid' mod='psgdpr'}</th>
|
||||
<th class="header" valign="middle">{l s='Date' mod='psgdpr'}</th>
|
||||
</tr>
|
||||
|
||||
{if count($orders) >= 1}
|
||||
{foreach from=$orders item=order}
|
||||
<tr class="separator">
|
||||
<td class="center white"><b>{$order['reference']|escape:'html':'UTF-8'}</b></td>
|
||||
<td class="center white">{$order['payment']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$order['order_state']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$order['total_paid_tax_incl']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$order['date_add']|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" class="center white"><b>{l s='Product(s) in the order' mod='psgdpr'} :</b></td>
|
||||
<td colspan="2" class="center white"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="center white"></td>
|
||||
<td colspan="4" class="center white">
|
||||
<table id="total-tab" width="100%">
|
||||
<tr>
|
||||
<th class="header" valign="middle"><i>{l s='Reference' mod='psgdpr'}</i></th>
|
||||
<th class="header" valign="middle"><i>{l s='Name' mod='psgdpr'}</i></th>
|
||||
<th class="header" valign="middle"><i>{l s='Quantity' mod='psgdpr'}</i></th>
|
||||
</tr>
|
||||
{foreach from=$order['products'] item=product}
|
||||
<tr>
|
||||
<td class="center white">{$product['product_reference']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$product['product_name']|escape:'html':'UTF-8'}</td>
|
||||
<td class="center white">{$product['product_quantity']|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{else}
|
||||
<tr>
|
||||
<td colspan="5" class="center white">{l s='No orders' mod='psgdpr'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</table>
|
||||
@@ -0,0 +1,193 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
{assign var=color_header value="#F0F0F0"}
|
||||
{assign var=color_border value="#F0F0F0"}
|
||||
{assign var=color_border_lighter value="#CCCCCC"}
|
||||
{assign var=color_line_even value="#FFFFFF"}
|
||||
{assign var=color_line_odd value="#F9F9F9"}
|
||||
{assign var=font_size_text value="9pt"}
|
||||
{assign var=font_size_header value="9pt"}
|
||||
{assign var=font_size_product value="9pt"}
|
||||
{assign var=height_header value="20px"}
|
||||
{assign var=table_padding value="4px"}
|
||||
|
||||
<style>
|
||||
table, th, td {
|
||||
margin: 0!important;
|
||||
padding: 0!important;
|
||||
vertical-align: middle;
|
||||
font-size: {$font_size_text};
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
table.product {
|
||||
border: 1px solid {$color_border};
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table#addresses-tab tr td {
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
table#summary-tab {
|
||||
padding: {$table_padding};
|
||||
border: 1px solid {$color_border};
|
||||
}
|
||||
table#total-tab {
|
||||
padding: {$table_padding};
|
||||
border: 1px solid {$color_border};
|
||||
}
|
||||
table#note-tab {
|
||||
padding: {$table_padding};
|
||||
border: 1px solid {$color_border};
|
||||
}
|
||||
table#note-tab td.note{
|
||||
word-wrap: break-word;
|
||||
}
|
||||
table#tax-tab {
|
||||
padding: {$table_padding};
|
||||
border: 1pt solid {$color_border};
|
||||
}
|
||||
table#payment-tab,
|
||||
table#shipping-tab {
|
||||
padding: {$table_padding};
|
||||
border: 1px solid {$color_border};
|
||||
}
|
||||
|
||||
th.product {
|
||||
border-bottom: 1px solid {$color_border};
|
||||
}
|
||||
|
||||
tr.discount th.header {
|
||||
border-top: 1px solid {$color_border};
|
||||
}
|
||||
|
||||
tr.product td {
|
||||
border-bottom: 1px solid {$color_border_lighter};
|
||||
}
|
||||
|
||||
tr.color_line_even {
|
||||
background-color: {$color_line_even};
|
||||
}
|
||||
|
||||
tr.color_line_odd {
|
||||
background-color: {$color_line_odd};
|
||||
}
|
||||
|
||||
tr.customization_data td {
|
||||
}
|
||||
|
||||
td.product {
|
||||
vertical-align: middle;
|
||||
font-size: {$font_size_product};
|
||||
}
|
||||
|
||||
th.header {
|
||||
font-size: {$font_size_header};
|
||||
height: {$height_header};
|
||||
background-color: {$color_header};
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
th.header-right {
|
||||
font-size: {$font_size_header};
|
||||
height: {$height_header};
|
||||
background-color: {$color_header};
|
||||
vertical-align: middle;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
th.payment,
|
||||
th.shipping {
|
||||
background-color: {$color_header};
|
||||
vertical-align: middle;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
th.tva {
|
||||
background-color: {$color_header};
|
||||
vertical-align: middle;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
tr.separator td {
|
||||
border-top: 1px solid #000000;
|
||||
}
|
||||
|
||||
.left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.fright {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.border {
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
.no_top_border {
|
||||
border-top:hidden;
|
||||
border-bottom:1px solid black;
|
||||
border-left:1px solid black;
|
||||
border-right:1px solid black;
|
||||
}
|
||||
|
||||
.no_border {
|
||||
border-top:hidden;
|
||||
border-bottom:hidden;
|
||||
border-left:hidden;
|
||||
border-right:hidden;
|
||||
}
|
||||
|
||||
.grey {
|
||||
background-color: {$color_header};
|
||||
|
||||
}
|
||||
|
||||
/* This is used for the border size */
|
||||
.white {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.big,
|
||||
tr.big td{
|
||||
font-size: 110%;
|
||||
}
|
||||
|
||||
.small, table.small th, table.small td {
|
||||
font-size:small;
|
||||
}
|
||||
</style>
|
||||
116
modules/psgdpr/views/templates/front/pdf/personalData.tpl
Normal file
116
modules/psgdpr/views/templates/front/pdf/personalData.tpl
Normal file
@@ -0,0 +1,116 @@
|
||||
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
{$style_tab}
|
||||
|
||||
|
||||
<table width="100%" id="body" border="0" cellpadding="0" cellspacing="0" style="margin:0;">
|
||||
<!-- general customer info -->
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
|
||||
{$generalInfo_tab}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" height="30"> </td>
|
||||
</tr>
|
||||
|
||||
<!-- addresses tab -->
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
|
||||
{$addresses_tab}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" height="10"> </td>
|
||||
</tr>
|
||||
|
||||
<!-- order list tab -->
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
|
||||
{$orders_tab}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" height="20"> </td>
|
||||
</tr>
|
||||
|
||||
<!-- cart list tab -->
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
|
||||
{$carts_tab}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" height="10"> </td>
|
||||
</tr>
|
||||
|
||||
<!-- messages tab -->
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
|
||||
{$messages_tab}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" height="10"> </td>
|
||||
</tr>
|
||||
|
||||
<!-- connections tab -->
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
|
||||
{$connections_tab}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" height="10"> </td>
|
||||
</tr>
|
||||
|
||||
|
||||
<!-- modules tab -->
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
|
||||
{$modules_tab}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" height="10"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
85
modules/psgdpr/views/templates/hook/displayGDPRConsent.tpl
Normal file
85
modules/psgdpr/views/templates/hook/displayGDPRConsent.tpl
Normal file
@@ -0,0 +1,85 @@
|
||||
{**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*}
|
||||
|
||||
<div id="gdpr_consent" class="gdpr_module_{$psgdpr_id_module|escape:'htmlall':'UTF-8'}">
|
||||
<span class="custom-checkbox">
|
||||
<label class="psgdpr_consent_message">
|
||||
<input id="psgdpr_consent_checkbox_{$psgdpr_id_module|escape:'htmlall':'UTF-8'}" name="psgdpr_consent_checkbox" type="checkbox" value="1" class="psgdpr_consent_checkboxes_{$psgdpr_id_module|escape:'htmlall':'UTF-8'}">
|
||||
<span class="custom_checkbox"><i class="material-icons rtl-no-flip checkbox-checked psgdpr_consent_icon"></i></span>
|
||||
<span>{$psgdpr_consent_message nofilter}</span>{* html data *}
|
||||
</label>
|
||||
</span>
|
||||
</div>
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
var psgdpr_front_controller = "{/literal}{$psgdpr_front_controller|escape:'htmlall':'UTF-8'}{literal}";
|
||||
psgdpr_front_controller = psgdpr_front_controller.replace(/\amp;/g,'');
|
||||
var psgdpr_id_customer = "{/literal}{$psgdpr_id_customer|escape:'htmlall':'UTF-8'}{literal}";
|
||||
var psgdpr_customer_token = "{/literal}{$psgdpr_customer_token|escape:'htmlall':'UTF-8'}{literal}";
|
||||
var psgdpr_id_guest = "{/literal}{$psgdpr_id_guest|escape:'htmlall':'UTF-8'}{literal}";
|
||||
var psgdpr_guest_token = "{/literal}{$psgdpr_guest_token|escape:'htmlall':'UTF-8'}{literal}";
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
let psgdpr_id_module = "{/literal}{$psgdpr_id_module|escape:'htmlall':'UTF-8'}{literal}";
|
||||
let parentForm = $('.gdpr_module_' + psgdpr_id_module).closest('form');
|
||||
|
||||
let toggleFormActive = function() {
|
||||
let parentForm = $('.gdpr_module_' + psgdpr_id_module).closest('form');
|
||||
let checkbox = $('#psgdpr_consent_checkbox_' + psgdpr_id_module);
|
||||
let element = $('.gdpr_module_' + psgdpr_id_module);
|
||||
let iLoopLimit = 0;
|
||||
|
||||
// by default forms submit will be disabled, only will enable if agreement checkbox is checked
|
||||
if (element.prop('checked') != true) {
|
||||
element.closest('form').find('[type="submit"]').attr('disabled', 'disabled');
|
||||
}
|
||||
$(document).on("change" ,'.psgdpr_consent_checkboxes_' + psgdpr_id_module, function() {
|
||||
if ($(this).prop('checked') == true) {
|
||||
$(this).closest('form').find('[type="submit"]').removeAttr('disabled');
|
||||
} else {
|
||||
$(this).closest('form').find('[type="submit"]').attr('disabled', 'disabled');
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// Triggered on page loading
|
||||
toggleFormActive();
|
||||
|
||||
$(document).on('submit', parentForm, function(event) {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: psgdpr_front_controller,
|
||||
data: {
|
||||
ajax: true,
|
||||
action: 'AddLog',
|
||||
id_customer: psgdpr_id_customer,
|
||||
customer_token: psgdpr_customer_token,
|
||||
id_guest: psgdpr_id_guest,
|
||||
guest_token: psgdpr_guest_token,
|
||||
id_module: psgdpr_id_module,
|
||||
},
|
||||
error: function (err) {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
28
modules/psgdpr/views/templates/hook/index.php
Normal file
28
modules/psgdpr/views/templates/hook/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*/
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||
header('Pragma: no-cache');
|
||||
|
||||
header('Location: ../');
|
||||
exit;
|
||||
28
modules/psgdpr/views/templates/index.php
Normal file
28
modules/psgdpr/views/templates/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License 3.0 (AFL-3.0)
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0)
|
||||
*/
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||
header('Pragma: no-cache');
|
||||
|
||||
header('Location: ../');
|
||||
exit;
|
||||
Reference in New Issue
Block a user