diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-26.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-26.sql new file mode 100644 index 0000000000000..80fcfacc284d2 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2019-09-26.sql @@ -0,0 +1,6 @@ +ALTER TABLE `#__privacy_requests` MODIFY `requested_at` datetime NOT NULL; +ALTER TABLE `#__privacy_requests` MODIFY `confirm_token_created_at` datetime NOT NULL; + +ALTER TABLE `#__privacy_consents` MODIFY `created` datetime NOT NULL; + +UPDATE `#__privacy_requests` SET `confirm_token_created_at` = `requested_at` WHERE `confirm_token_created_at` = '0000-00-00 00:00:00'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-26.sql b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-26.sql new file mode 100644 index 0000000000000..3e4c75c183667 --- /dev/null +++ b/administrator/components/com_admin/sql/updates/postgresql/4.0.0-2019-09-26.sql @@ -0,0 +1,6 @@ +ALTER TABLE "#__privacy_requests" ALTER COLUMN "requested_at" DROP DEFAULT; +ALTER TABLE "#__privacy_requests" ALTER COLUMN "confirm_token_created_at" DROP DEFAULT; + +ALTER TABLE "#__privacy_consents" ALTER COLUMN "created" DROP DEFAULT; + +UPDATE "#__privacy_requests" SET "confirm_token_created_at" = "requested_at" WHERE "confirm_token_created_at" = '1970-01-01 00:00:00'; diff --git a/administrator/components/com_privacy/Table/RequestTable.php b/administrator/components/com_privacy/Table/RequestTable.php index 7b5256b18c222..692af2aa7d516 100644 --- a/administrator/components/com_privacy/Table/RequestTable.php +++ b/administrator/components/com_privacy/Table/RequestTable.php @@ -67,6 +67,11 @@ public function store($updateNulls = false) { $this->requested_at = $date->toSql(); } + + if (!$this->confirm_token_created_at) + { + $this->confirm_token_created_at = $date->toSql(); + } } return parent::store($updateNulls); diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index 9d069aca8e8fb..c02be56e4a337 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -1651,11 +1651,11 @@ SELECT extension_id, 'PLG_SYSTEM_HTTPHEADERS_POSTINSTALL_INTRODUCTION_TITLE', 'P CREATE TABLE IF NOT EXISTS `#__privacy_requests` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `email` varchar(100) NOT NULL DEFAULT '', - `requested_at` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `requested_at` datetime NOT NULL, `status` tinyint(4) NOT NULL DEFAULT 0, `request_type` varchar(25) NOT NULL DEFAULT '', `confirm_token` varchar(100) NOT NULL DEFAULT '', - `confirm_token_created_at` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `confirm_token_created_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ci; @@ -1669,7 +1669,7 @@ CREATE TABLE IF NOT EXISTS `#__privacy_consents` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL DEFAULT 0, `state` INT(10) NOT NULL DEFAULT 1, - `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` datetime NOT NULL, `subject` varchar(255) NOT NULL DEFAULT '', `body` text NOT NULL, `remind` tinyint(4) NOT NULL DEFAULT 0, diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index bac630c0aae34..a4c2aacfbd468 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -1656,11 +1656,11 @@ SELECT "extension_id", 'PLG_SYSTEM_HTTPHEADERS_POSTINSTALL_INTRODUCTION_TITLE', CREATE TABLE "#__privacy_requests" ( "id" serial NOT NULL, "email" varchar(100) DEFAULT '' NOT NULL, - "requested_at" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "requested_at" timestamp without time zone NOT NULL, "status" smallint DEFAULT 0 NOT NULL, "request_type" varchar(25) DEFAULT '' NOT NULL, "confirm_token" varchar(100) DEFAULT '' NOT NULL, - "confirm_token_created_at" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "confirm_token_created_at" timestamp without time zone NOT NULL, PRIMARY KEY ("id") ); @@ -1672,7 +1672,7 @@ CREATE TABLE "#__privacy_consents" ( "id" serial NOT NULL, "user_id" bigint DEFAULT 0 NOT NULL, "state" smallint DEFAULT 1 NOT NULL, - "created" timestamp without time zone DEFAULT '1970-01-01 00:00:00' NOT NULL, + "created" timestamp without time zone NOT NULL, "subject" varchar(255) DEFAULT '' NOT NULL, "body" text NOT NULL, "remind" smallint DEFAULT 0 NOT NULL,