From 92fc9f5151afb8aa9dd81f1762298747bb18455a Mon Sep 17 00:00:00 2001
From: Damien <damien.burel@maarch.org>
Date: Mon, 20 Aug 2018 09:32:16 +0200
Subject: [PATCH] [REFACTORING] Move sve column to res_letterbox

---
 modules/sendmail/sendmail_to_contact_ajax.php |  4 +---
 sql/develop.sql                               | 15 +++++++++++++--
 sql/structure.sql                             |  6 ++----
 3 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/modules/sendmail/sendmail_to_contact_ajax.php b/modules/sendmail/sendmail_to_contact_ajax.php
index a938fe3686d..6d5e0e19581 100755
--- a/modules/sendmail/sendmail_to_contact_ajax.php
+++ b/modules/sendmail/sendmail_to_contact_ajax.php
@@ -4,6 +4,4 @@ require_once('core'.DIRECTORY_SEPARATOR.'class'.DIRECTORY_SEPARATOR.'class_reque
 
 $db = new Database();
 
-$db->query("UPDATE mlb_coll_ext SET sve_start_date = CURRENT_TIMESTAMP WHERE res_id = ?", array($_REQUEST['identifier']));
-
-?>
+$db->query("UPDATE res_letterbox SET sve_start_date = CURRENT_TIMESTAMP WHERE res_id = ?", array($_REQUEST['identifier']));
diff --git a/sql/develop.sql b/sql/develop.sql
index 87f85cbbab3..367b118ff78 100644
--- a/sql/develop.sql
+++ b/sql/develop.sql
@@ -194,6 +194,7 @@ ALTER TABLE users DROP COLUMN IF EXISTS ra_expiration_date;
 ALTER TABLE mlb_coll_ext DROP COLUMN IF EXISTS answer_type_bitmask;
 ALTER TABLE mlb_coll_ext DROP COLUMN IF EXISTS other_answer_desc;
 ALTER TABLE mlb_coll_ext DROP COLUMN IF EXISTS process_notes;
+ALTER TABLE mlb_coll_ext DROP COLUMN IF EXISTS sve_identifier;
 ALTER TABLE res_letterbox DROP COLUMN IF EXISTS publisher;
 ALTER TABLE res_attachments DROP COLUMN IF EXISTS publisher;
 ALTER TABLE res_version_attachments DROP COLUMN IF EXISTS publisher;
@@ -279,6 +280,17 @@ ALTER TABLE res_letterbox DROP COLUMN IF EXISTS esign_proof_id;
 ALTER TABLE res_letterbox DROP COLUMN IF EXISTS esign_proof_content;
 ALTER TABLE res_letterbox DROP COLUMN IF EXISTS esign_content;
 ALTER TABLE res_letterbox DROP COLUMN IF EXISTS esign_date;
+DO $$ BEGIN
+  IF (SELECT count(attname) FROM pg_attribute WHERE attrelid = (SELECT oid FROM pg_class WHERE relname = 'mlb_coll_ext') AND attname = 'sve_start_date') = 1 THEN
+    ALTER TABLE res_letterbox ADD COLUMN sve_start_date TIMESTAMP without time zone;
+    UPDATE res_letterbox set sve_start_date =
+    (
+      SELECT sve_start_date FROM mlb_coll_ext
+      WHERE res_letterbox.res_id = mlb_coll_ext.res_id
+    );
+    ALTER TABLE mlb_coll_ext DROP COLUMN IF EXISTS sve_start_date;
+  END IF;
+END$$;
 
 
 CREATE OR REPLACE VIEW res_view_letterbox AS
@@ -414,8 +426,6 @@ CREATE OR REPLACE VIEW res_view_letterbox AS
     mlb.nature_id,
     mlb.alt_identifier,
     mlb.admission_date,
-    mlb.sve_start_date,
-    mlb.sve_identifier,
     mlb.process_limit_date,
     mlb.recommendation_limit_date,
     mlb.closing_date,
@@ -425,6 +435,7 @@ CREATE OR REPLACE VIEW res_view_letterbox AS
     mlb.flag_alarm1,
     mlb.flag_alarm2,
     mlb.is_multicontacts,
+    r.sve_start_date,
     r.subject,
     r.identifier,
     r.title,
diff --git a/sql/structure.sql b/sql/structure.sql
index 8bb64ceb882..129da3a5981 100755
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -1368,6 +1368,7 @@ CREATE TABLE res_letterbox
   departure_date timestamp without time zone,
   department_number_id text,
   barcode text,
+  sve_start_date TIMESTAMP without time zone,
   CONSTRAINT res_letterbox_pkey PRIMARY KEY  (res_id)
 )
 WITH (OIDS=FALSE);
@@ -1415,8 +1416,6 @@ CREATE TABLE mlb_coll_ext (
   nature_id character varying(50),
   alt_identifier character varying(255)  default NULL,
   admission_date timestamp without time zone,
-  sve_start_date timestamp without time zone default NULL,
-  sve_identifier character varying(255)  default NULL,
   process_limit_date timestamp without time zone default NULL,
   recommendation_limit_date timestamp without time zone default NULL,
   closing_date timestamp without time zone default NULL,
@@ -1751,8 +1750,6 @@ CREATE OR REPLACE VIEW res_view_letterbox AS
     mlb.nature_id,
     mlb.alt_identifier,
     mlb.admission_date,
-    mlb.sve_start_date,
-    mlb.sve_identifier,
     mlb.process_limit_date,
     mlb.recommendation_limit_date,
     mlb.closing_date,
@@ -1762,6 +1759,7 @@ CREATE OR REPLACE VIEW res_view_letterbox AS
     mlb.flag_alarm1,
     mlb.flag_alarm2,
     mlb.is_multicontacts,
+    r.sve_start_date,
     r.subject,
     r.identifier,
     r.title,
-- 
GitLab