Add an option to deactivate the remove-all-data function for customers (#808).
This commit is contained in:
parent
5982a79852
commit
458595fa24
7 changed files with 83 additions and 13 deletions
|
@ -103,6 +103,7 @@ class Booking extends EA_Controller {
|
||||||
$display_privacy_policy = setting('display_privacy_policy');
|
$display_privacy_policy = setting('display_privacy_policy');
|
||||||
$privacy_policy_content = setting('privacy_policy_content');
|
$privacy_policy_content = setting('privacy_policy_content');
|
||||||
$display_any_provider = setting('display_any_provider');
|
$display_any_provider = setting('display_any_provider');
|
||||||
|
$display_delete_personal_information = setting('display_delete_personal_information');
|
||||||
$book_advance_timeout = setting('book_advance_timeout');
|
$book_advance_timeout = setting('book_advance_timeout');
|
||||||
$google_analytics_code = setting('google_analytics_code');
|
$google_analytics_code = setting('google_analytics_code');
|
||||||
$matomo_analytics_url = setting('matomo_analytics_url');
|
$matomo_analytics_url = setting('matomo_analytics_url');
|
||||||
|
@ -224,6 +225,7 @@ class Booking extends EA_Controller {
|
||||||
'display_privacy_policy' => $display_privacy_policy,
|
'display_privacy_policy' => $display_privacy_policy,
|
||||||
'privacy_policy_content' => $privacy_policy_content,
|
'privacy_policy_content' => $privacy_policy_content,
|
||||||
'display_any_provider' => $display_any_provider,
|
'display_any_provider' => $display_any_provider,
|
||||||
|
'display_delete_personal_information' => $display_delete_personal_information,
|
||||||
'google_analytics_code' => $google_analytics_code,
|
'google_analytics_code' => $google_analytics_code,
|
||||||
'matomo_analytics_url' => $matomo_analytics_url,
|
'matomo_analytics_url' => $matomo_analytics_url,
|
||||||
'timezones' => $timezones,
|
'timezones' => $timezones,
|
||||||
|
|
|
@ -38,6 +38,13 @@ class Privacy extends EA_Controller {
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
$display_delete_personal_information = setting('display_delete_personal_information');
|
||||||
|
|
||||||
|
if ( ! $display_delete_personal_information)
|
||||||
|
{
|
||||||
|
abort(403, 'Forbidden');
|
||||||
|
}
|
||||||
|
|
||||||
$customer_token = request('customer_token');
|
$customer_token = request('customer_token');
|
||||||
|
|
||||||
if (empty($customer_token))
|
if (empty($customer_token))
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
<?php defined('BASEPATH') or exit('No direct script access allowed');
|
||||||
|
|
||||||
|
/* ----------------------------------------------------------------------------
|
||||||
|
* Easy!Appointments - Online Appointment Scheduler
|
||||||
|
*
|
||||||
|
* @package EasyAppointments
|
||||||
|
* @author A.Tselegidis <alextselegidis@gmail.com>
|
||||||
|
* @copyright Copyright (c) Alex Tselegidis
|
||||||
|
* @license https://opensource.org/licenses/GPL-3.0 - GPLv3
|
||||||
|
* @link https://easyappointments.org
|
||||||
|
* @since v1.4.0
|
||||||
|
* ---------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
class Migration_Add_display_delete_personal_information_setting extends EA_Migration {
|
||||||
|
/**
|
||||||
|
* Upgrade method.
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
if ( ! $this->db->get_where('settings', ['name' => 'display_delete_personal_information'])->num_rows())
|
||||||
|
{
|
||||||
|
$this->db->insert('settings', [
|
||||||
|
'name' => 'display_delete_personal_information',
|
||||||
|
'value' => '0'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Downgrade method.
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
if ( ! $this->db->get_where('settings', ['name' => 'display_delete_personal_information'])->num_rows())
|
||||||
|
{
|
||||||
|
$this->db->delete('settings', [
|
||||||
|
'name' => 'display_delete_personal_information',
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,10 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Local variables.
|
* Local variables.
|
||||||
*
|
*
|
||||||
* @var bool $manage_mode
|
* @var bool $manage_mode
|
||||||
* @var array $appointment_data
|
* @var array $appointment_data
|
||||||
|
* @var bool $display_delete_personal_information
|
||||||
*/
|
*/
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
@ -27,15 +28,17 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="booking-header-bar row">
|
<?php if ($display_delete_personal_information): ?>
|
||||||
<div class="col-md-10">
|
<div class="booking-header-bar row">
|
||||||
<small><?= lang('delete_personal_information_hint') ?></small>
|
<div class="col-md-10">
|
||||||
|
<small><?= lang('delete_personal_information_hint') ?></small>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-2">
|
||||||
|
<button id="delete-personal-information" class="btn btn-danger btn-sm">
|
||||||
|
<i class="fas fa-trash me-2"></i>
|
||||||
|
<?= lang('delete') ?>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-2">
|
<?php endif ?>
|
||||||
<button id="delete-personal-information" class="btn btn-danger btn-sm">
|
|
||||||
<i class="fas fa-trash me-2"></i>
|
|
||||||
<?= lang('delete') ?>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<div id="company-name">
|
<div id="company-name">
|
||||||
<?= $company_name ?>
|
<?= $company_name ?>
|
||||||
<div class="d-flex justify-content-between">
|
<div class="d-flex justify-content-between">
|
||||||
<span class="display-selected-service">
|
<span class="display-selected-service me-2">
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
<span class="display-selected-provider">
|
<span class="display-selected-provider">
|
||||||
|
|
|
@ -6,7 +6,8 @@
|
||||||
|
|
||||||
<?php component('booking_cancellation_frame', [
|
<?php component('booking_cancellation_frame', [
|
||||||
'manage_mode' => vars('manage_mode'),
|
'manage_mode' => vars('manage_mode'),
|
||||||
'appointment_data' => vars('appointment_data')
|
'appointment_data' => vars('appointment_data'),
|
||||||
|
'display_delete_personal_information' => vars('display_delete_personal_information'),
|
||||||
]) ?>
|
]) ?>
|
||||||
|
|
||||||
<!-- Select Service & Provider -->
|
<!-- Select Service & Provider -->
|
||||||
|
|
|
@ -270,6 +270,22 @@
|
||||||
</small>
|
</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="mb-3">
|
||||||
|
<div class="form-check form-switch">
|
||||||
|
<input class="form-check-input" type="checkbox" id="display-delete-personal-information"
|
||||||
|
data-field="display_delete_personal_information">
|
||||||
|
<label class="form-check-label" for="display-delete-personal-information">
|
||||||
|
<?= lang('delete_personal_information') ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-text text-muted">
|
||||||
|
<small>
|
||||||
|
<?= lang('delete_personal_information_hint') ?>
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
Loading…
Reference in a new issue