diff --git a/install/class/Class_Install.php b/install/class/Class_Install.php index 37e61efa4d9ad985d0b06d1760b57d003bda8a5f..b3b2ef8a9cf81d623544ef5662a82b7c4a060928 100755 --- a/install/class/Class_Install.php +++ b/install/class/Class_Install.php @@ -47,6 +47,7 @@ class Install extends functions array('FULLTEXT_ATTACH', 'fulltext_attachments'), array('FULLTEXT_ATTACH_VERSION', 'fulltext_attachments_version'), array('TEMPLATES', 'templates'), + array('ARCHIVETRANSFER', 'archive_transfer'), ); public function __construct() diff --git a/sql/data_fr.sql b/sql/data_fr.sql index d95f51688f5023631d407c1d31c27011ac05d2de..376057568a4ecdcc7380a576da73e9f19f331d01 100755 --- a/sql/data_fr.sql +++ b/sql/data_fr.sql @@ -80,6 +80,7 @@ INSERT INTO usergroups_services (group_id, service_id) VALUES ('COURRIER', 'file INSERT INTO usergroups_services (group_id, service_id) VALUES ('COURRIER', 'notes_restriction'); INSERT INTO usergroups_services (group_id, service_id) VALUES ('COURRIER', 'delete_document_in_detail'); INSERT INTO usergroups_services (group_id, service_id) VALUES ('COURRIER', 'edit_document_in_detail'); +INSERT INTO usergroups_services (group_id, service_id) VALUES ('COURRIER', 'save_numeric_package'); INSERT INTO usergroups_services (group_id, service_id) VALUES ('AGENT', 'adv_search_mlb'); INSERT INTO usergroups_services (group_id, service_id) VALUES ('AGENT', 'index_mlb'); INSERT INTO usergroups_services (group_id, service_id) VALUES ('AGENT', 'search_contacts'); @@ -1003,6 +1004,8 @@ INSERT INTO docserver_types (docserver_type_id, docserver_type_label, enabled, i VALUES ('TNL', 'Thumbnails', 'Y', 'N', 0, 'N', 'NONE', 'N', 'NONE', 'N', 'NONE', 'Y', 'NONE'); INSERT INTO docserver_types (docserver_type_id, docserver_type_label, enabled, is_container, container_max_number, is_compressed, compression_mode, is_meta, meta_template, is_logged, log_template, is_signed, fingerprint_mode) VALUES ('TEMPLATES', 'TEMPLATES', 'Y', 'N', 0, 'N', 'NONE', 'N', 'NONE', 'N', 'NONE', 'N', 'NONE'); +INSERT INTO docserver_types (docserver_type_id, docserver_type_label, enabled, is_container, container_max_number, is_compressed, compression_mode, is_meta, meta_template, is_logged, log_template, is_signed, fingerprint_mode) +VALUES ('ARCHIVETRANSFER', 'Archive Transfer', 'Y', 'N', 0, 'N', 'NONE', 'N', 'NONE', 'N', 'NONE', 'Y', 'SHA256'); TRUNCATE TABLE docservers; INSERT INTO docservers (docserver_id, docserver_type_id, device_label, is_readonly, enabled, size_limit_number, actual_size_number, path_template, ext_docserver_info, chain_before, chain_after, creation_date, closing_date, coll_id, priority_number, docserver_location_id, adr_priority_number) @@ -1033,7 +1036,8 @@ INSERT INTO docservers (docserver_id, docserver_type_id, device_label, is_readon VALUES ('FULLTEXT_ATTACH_VERSION', 'FULLTEXT', 'Server for attachments version documents fulltext', 'N', 'Y', 50000000000, 0, '/opt/maarch/docservers/fulltext_attachments_version/', NULL, NULL, NULL, '2015-03-16 14:47:49.197164', NULL, 'attachments_version_coll', 103, 'NANTERRE', 103); INSERT INTO docservers (docserver_id, docserver_type_id, device_label, is_readonly, enabled, size_limit_number, actual_size_number, path_template, ext_docserver_info, chain_before, chain_after, creation_date, closing_date, coll_id, priority_number, docserver_location_id, adr_priority_number) VALUES ('TEMPLATES', 'TEMPLATES', '[system] Templates', 'N', 'Y', 50000000000, 71511, '/opt/maarch/docservers/templates/', NULL, NULL, NULL, '2012-04-01 14:49:05.095119', NULL, 'templates', 1, 'NANTERRE', 1); - +INSERT INTO docservers (docserver_id, docserver_type_id, device_label, is_readonly, enabled, size_limit_number, actual_size_number, path_template, ext_docserver_info, chain_before, chain_after, creation_date, closing_date, coll_id, priority_number, docserver_location_id, adr_priority_number) +VALUES ('ARCHIVETRANSFER', 'ARCHIVETRANSFER', 'Fast internal disc bay for archive transfer', 'N', 'Y', 50000000000, 1, '/opt/maarch/docservers/archive_transfer/', NULL, NULL, NULL, '2017-01-13 14:47:49.197164', NULL, 'archive_transfer_coll', 10, 'NANTERRE', 2); ------------ --SUPERADMIN USER ------------ diff --git a/sql/develop.sql b/sql/develop.sql index a8c1a71ca0b940ab06c78f84fdfdeeaceea92d9a..0301119563fc9a4127928e9bbe8f9468033a6b67 100755 --- a/sql/develop.sql +++ b/sql/develop.sql @@ -638,3 +638,84 @@ DO $$ BEGIN DROP TABLE IF EXISTS user_baskets_secondary; END IF; END$$; + + + +/****** M2M *******/ +ALTER TABLE unit_identifier DROP COLUMN IF EXISTS disposition; +ALTER TABLE unit_identifier ADD disposition text default NULL; + +ALTER TABLE sendmail DROP COLUMN IF EXISTS message_exchange_id; +ALTER TABLE sendmail ADD message_exchange_id text default NULL; + +ALTER TABLE IF EXISTS seda RENAME TO message_exchange; + +ALTER TABLE message_exchange DROP COLUMN IF EXISTS file_path; +ALTER TABLE message_exchange ADD file_path text default NULL; + +ALTER TABLE message_exchange DROP COLUMN IF EXISTS res_id_master; +ALTER TABLE message_exchange ADD res_id_master numeric default NULL; + +/** ADD NEW COLUMN IS TRANSFERABLE **/ +ALTER TABLE contact_addresses DROP COLUMN IF EXISTS external_contact_id; +ALTER TABLE contact_addresses ADD COLUMN external_contact_id character varying(128); + +DROP SEQUENCE IF EXISTS contact_communication_id_seq CASCADE; +CREATE SEQUENCE contact_communication_id_seq +INCREMENT 1 +MINVALUE 1 +MAXVALUE 9223372036854775807 +START 1 +CACHE 1; + +DROP TABLE IF EXISTS contact_communication; +CREATE TABLE contact_communication +( + id bigint NOT NULL DEFAULT nextval('contact_communication_id_seq'::regclass), + contact_id bigint NOT NULL, + type character varying(255) NOT NULL, + value character varying(255) NOT NULL, + CONSTRAINT contact_communication_pkey PRIMARY KEY (id) +) WITH (OIDS=FALSE); + +DROP VIEW IF EXISTS view_contacts; +CREATE OR REPLACE VIEW view_contacts AS + SELECT c.contact_id, c.contact_type, c.is_corporate_person, c.society, c.society_short, c.firstname AS contact_firstname +, c.lastname AS contact_lastname, c.title AS contact_title, c.function AS contact_function, c.other_data AS contact_other_data +, c.user_id AS contact_user_id, c.entity_id AS contact_entity_id, c.creation_date, c.update_date, c.enabled AS contact_enabled, ca.id AS ca_id +, ca.contact_purpose_id, ca.departement, ca.firstname, ca.lastname, ca.title, ca.function, ca.occupancy +, ca.address_num, ca.address_street, ca.address_complement, ca.address_town, ca.address_postal_code, ca.address_country +, ca.phone, ca.email, ca.website, ca.salutation_header, ca.salutation_footer, ca.other_data, ca.user_id, ca.entity_id, ca.is_private, ca.enabled, ca.external_contact_id +, cp.label as contact_purpose_label, ct.label as contact_type_label + FROM contacts_v2 c + RIGHT JOIN contact_addresses ca ON c.contact_id = ca.contact_id + LEFT JOIN contact_purposes cp ON ca.contact_purpose_id = cp.id + LEFT JOIN contact_types ct ON c.contact_type = ct.id; + +ALTER TABLE sendmail DROP COLUMN IF EXISTS res_version_att_id_list; +ALTER TABLE sendmail ADD COLUMN res_version_att_id_list character varying(255); + +ALTER TABLE message_exchange DROP COLUMN IF EXISTS docserver_id; +ALTER TABLE message_exchange ADD docserver_id character varying(32) DEFAULT NULL; + +ALTER TABLE message_exchange DROP COLUMN IF EXISTS path; +ALTER TABLE message_exchange ADD path character varying(255) DEFAULT NULL; + +ALTER TABLE message_exchange DROP COLUMN IF EXISTS filename; +ALTER TABLE message_exchange ADD filename character varying(255) DEFAULT NULL; + +ALTER TABLE message_exchange DROP COLUMN IF EXISTS fingerprint; +ALTER TABLE message_exchange ADD fingerprint character varying(255) DEFAULT NULL; + +ALTER TABLE message_exchange DROP COLUMN IF EXISTS filesize; +ALTER TABLE message_exchange ADD filesize bigint; + +DELETE FROM docservers WHERE docserver_id = 'ARCHIVETRANSFER'; +INSERT INTO docservers (docserver_id, docserver_type_id, device_label, is_readonly, enabled, size_limit_number, actual_size_number, path_template, ext_docserver_info, chain_before, chain_after, creation_date, closing_date, coll_id, priority_number, docserver_location_id, adr_priority_number) +VALUES ('ARCHIVETRANSFER', 'ARCHIVETRANSFER', 'Fast internal disc bay for archive transfer', 'N', 'Y', 50000000000, 1, '/opt/maarch/docservers/archive_transfer/', NULL, NULL, NULL, '2017-01-13 14:47:49.197164', NULL, 'archive_transfer_coll', 10, 'NANTERRE', 2); + +DELETE FROM docserver_types WHERE docserver_type_id = 'ARCHIVETRANSFER'; +INSERT INTO docserver_types (docserver_type_id, docserver_type_label, enabled, is_container, container_max_number, is_compressed, compression_mode, is_meta, meta_template, is_logged, log_template, is_signed, fingerprint_mode) +VALUES ('ARCHIVETRANSFER', 'Archive Transfer', 'Y', 'N', 0, 'N', 'NONE', 'N', 'NONE', 'N', 'NONE', 'Y', 'SHA256'); + +ALTER TABLE sendmail ALTER COLUMN res_id DROP NOT NULL; diff --git a/sql/structure.sql b/sql/structure.sql index 65bbe4f157e26c5341c3fc48c58390783752ad63..c4ab512a0b24c842fc8b60e4d73f3685f92ee653 100755 --- a/sql/structure.sql +++ b/sql/structure.sql @@ -1253,6 +1253,7 @@ CREATE TABLE contact_addresses entity_id character varying(32) NOT NULL, is_private character(1) NOT NULL DEFAULT 'N'::bpchar, enabled character varying(1) NOT NULL DEFAULT 'Y'::bpchar, + external_contact_id character varying(128), CONSTRAINT contact_addresses_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); @@ -1268,6 +1269,25 @@ CREATE TABLE saved_queries ( CONSTRAINT saved_queries_pkey PRIMARY KEY (query_id) ) WITH (OIDS=FALSE); +DROP SEQUENCE IF EXISTS contact_communication_id_seq CASCADE; +CREATE SEQUENCE contact_communication_id_seq +INCREMENT 1 +MINVALUE 1 +MAXVALUE 9223372036854775807 +START 1 +CACHE 1; + +DROP TABLE IF EXISTS contact_communication; +CREATE TABLE contact_communication +( + id bigint NOT NULL DEFAULT nextval('contact_communication_id_seq'::regclass), + contact_id bigint NOT NULL, + type character varying(255) NOT NULL, + value character varying(255) NOT NULL, + CONSTRAINT contact_communication_pkey PRIMARY KEY (id) +) WITH (OIDS=FALSE); + + CREATE SEQUENCE doctypes_first_level_id_seq INCREMENT 1 MINVALUE 1 @@ -1969,7 +1989,7 @@ CREATE TABLE sendmail ( email_id serial NOT NULL, coll_id character varying(32) NOT NULL, - res_id bigint NOT NULL, + res_id bigint, user_id character varying(128) NOT NULL, to_list text DEFAULT NULL, cc_list text DEFAULT NULL, @@ -1986,6 +2006,7 @@ CREATE TABLE sendmail creation_date timestamp without time zone NOT NULL, send_date timestamp without time zone DEFAULT NULL, sender_email character varying(255) DEFAULT NULL, + message_exchange_id text DEFAULT NULL, CONSTRAINT sendmail_pkey PRIMARY KEY (email_id ) ); @@ -2379,7 +2400,7 @@ CREATE OR REPLACE VIEW view_contacts AS , c.user_id AS contact_user_id, c.entity_id AS contact_entity_id, c.creation_date, c.update_date, c.enabled AS contact_enabled, ca.id AS ca_id , ca.contact_purpose_id, ca.departement, ca.firstname, ca.lastname, ca.title, ca.function, ca.occupancy , ca.address_num, ca.address_street, ca.address_complement, ca.address_town, ca.address_postal_code, ca.address_country -, ca.phone, ca.email, ca.website, ca.salutation_header, ca.salutation_footer, ca.other_data, ca.user_id, ca.entity_id, ca.is_private, ca.enabled +, ca.phone, ca.email, ca.website, ca.salutation_header, ca.salutation_footer, ca.other_data, ca.user_id, ca.entity_id, ca.is_private, ca.enabled, ca.external_contact_id , cp.label as contact_purpose_label, ct.label as contact_type_label FROM contacts_v2 c RIGHT JOIN contact_addresses ca ON c.contact_id = ca.contact_id @@ -2593,39 +2614,48 @@ CREATE FUNCTION order_alphanum(text) RETURNS text AS $$ $$ LANGUAGE SQL; -CREATE TABLE seda +CREATE TABLE message_exchange ( - "message_id" character varying(255) NOT NULL, - "schema" character varying(16), - "type" character varying(128) NOT NULL, - "status" character varying(128) NOT NULL, + "message_id" text NOT NULL, + "schema" text, + "type" text NOT NULL, + "status" text NOT NULL, "date" timestamp NOT NULL, - "reference" character varying(255) NOT NULL, + "reference" text NOT NULL, - "account_id" character varying(128), - "sender_org_identifier" character varying(255) NOT NULL, - "sender_org_name" character varying(255), - "recipient_org_identifier" character varying(255) NOT NULL, - "recipient_org_name" character varying(255), - - "archival_agreement_reference" character varying(255), - "reply_code" character varying(255), + "account_id" text, + "sender_org_identifier" text NOT NULL, + "sender_org_name" text, + "recipient_org_identifier" text NOT NULL, + "recipient_org_name" text, + + "archival_agreement_reference" text, + "reply_code" text, "operation_date" timestamp, "reception_date" timestamp, - "related_reference" character varying(255), - "request_reference" character varying(255), - "reply_reference" character varying(255), - "derogation" character(1), + "related_reference" text, + "request_reference" text, + "reply_reference" text, + "derogation" boolean, "data_object_count" integer, "size" numeric, "data" text, - "active" character(1), - "archived" character(1), + "active" boolean, + "archived" boolean, + + "res_id_master" numeric default NULL, + + "docserver_id" character varying(32) NOT NULL, + "path" character varying(255) DEFAULT NULL, + "filename" character varying(255) DEFAULT NULL, + "fingerprint" character varying(255) DEFAULT NULL, + "filesize" bigint, + "file_path" text default NULL, PRIMARY KEY ("message_id") ) @@ -2635,9 +2665,10 @@ WITH ( CREATE TABLE unit_identifier ( - "message_id" character varying(255) NOT NULL, - "tablename" character varying(255) NOT NULL, - "res_id" character varying(255) NOT NULL + "message_id" text NOT NULL, + "tablename" text NOT NULL, + "res_id" text NOT NULL, + "disposition" text default NULL ); DROP TABLE IF EXISTS users_baskets;