CREATE SEQUENCE s_vmap.seq_common INCREMENT BY 1 MINVALUE 1 NO MAXVALUE START WITH 1;
ALTER TABLE s_vmap.seq_common OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.seq_common TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.seq_common TO vmap_user;
CREATE TABLE s_vmap.version( version character varying(10) NOT NULL, build integer NOT NULL, date timestamp with time zone NOT NULL, active boolean, CONSTRAINT pk_version PRIMARY KEY (version));
ALTER TABLE s_vmap.version OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.version TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.version TO vmap_user;
COMMENT ON COLUMN s_vmap.layer.layer_id IS 'layer name';
COMMENT ON COLUMN s_vmap.layer.layertheme_id IS 'theme id';
COMMENT ON COLUMN s_vmap.layer.service_id IS 'service name';
COMMENT ON COLUMN s_vmap.layer.description IS 'layer description';
COMMENT ON COLUMN s_vmap.layer.layer_list IS 'wms, bing etc.. layer list, can be multiple for wms services only (ex: "zone_activite_audelor,za_terrain_audelor")';
COMMENT ON COLUMN s_vmap.layer.crs_list IS 'getCapabilities CRS (ex: "EPSG:2154|EPSG:3857|CRS:84"). Available coordinates systems for the layer';
COMMENT ON COLUMN s_vmap.layer.bo_id IS 'id of the business object';
COMMENT ON COLUMN s_vmap.layer.is_dynamic IS 'true to avoid caches';
COMMENT ON COLUMN s_vmap.layer.is_filtered IS 'true to use layer filter';
CREATE TABLE s_vmap.layer_event (layer_id int4 NOT NULL, event_id varchar(50) NOT NULL, PRIMARY KEY (layer_id, event_id));
ALTER TABLE s_vmap.layer_event OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.layer_event TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.layer_event TO vmap_user;
CREATE TABLE s_vmap.maptheme (maptheme_id SERIAL NOT NULL, name varchar(100), description text, PRIMARY KEY (maptheme_id));
ALTER TABLE s_vmap.maptheme OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.maptheme TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.maptheme TO vmap_user;
COMMENT ON COLUMN s_vmap.maptheme.name IS 'theme name';
COMMENT ON COLUMN s_vmap.maptheme.description IS 'theme description';
CREATE TABLE s_vmap.map (map_id int4 DEFAULT nextval('s_vmap.seq_common') NOT NULL, crs_id varchar(20) NOT NULL, name varchar(100) NOT NULL, description text, extent varchar(225) NOT NULL, catalog_index int4, thumbnail text, maptheme_id int4, CONSTRAINT map_pkey PRIMARY KEY (map_id));
ALTER TABLE s_vmap.map OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.map TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.map TO vmap_user;
COMMENT ON COLUMN s_vmap.map.map_id IS 'map name';
COMMENT ON COLUMN s_vmap.map.crs_id IS 'EPSG system code (ex EPSG:2154)';
COMMENT ON COLUMN s_vmap.map.description IS 'map description';
COMMENT ON COLUMN s_vmap.map.extent IS 'extent of the map';
COMMENT ON COLUMN s_vmap.map.catalog_index IS 'index in the catalog';
COMMENT ON COLUMN s_vmap.map.maptheme_id IS 'theme';
CREATE TABLE s_vmap.module (module_id varchar(50) NOT NULL, description text, label varchar(50), rolname varchar(100) NOT NULL, PRIMARY KEY (module_id));
ALTER TABLE s_vmap.module OWNER TO u_vitis;
COMMENT ON TABLE s_vmap.module IS 'La gestion des droits sur chacun des modules se fait grâce aux privilèges.Les privilèges sont les roles groupes de Postgres';
GRANT SELECT ON TABLE s_vmap.map TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.map TO vmap_user;
CREATE TABLE s_vmap.printtemplate (printtemplate_id SERIAL NOT NULL, name varchar(100) NOT NULL UNIQUE, rt_format_id varchar(2) NOT NULL, rt_orientation_id varchar(8) NOT NULL, definition text NOT NULL, outputformats_id varchar(255) NOT NULL, sql text, ressource_id varchar(100), business_object_id varchar(50), PRIMARY KEY (printtemplate_id));
ALTER TABLE s_vmap.printtemplate OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.printtemplate TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.printtemplate TO vmap_user;
CREATE TABLE s_vmap.printtemplate_group (printtemplate_id int4 NOT NULL, group_id int4 NOT NULL, PRIMARY KEY (printtemplate_id, group_id));
ALTER TABLE s_vmap.printtemplate_group OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.printtemplate_group TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.printtemplate_group TO vmap_user;
CREATE TABLE s_vmap.rt_format (rt_format_id varchar(2) NOT NULL, PRIMARY KEY (rt_format_id));
ALTER TABLE s_vmap.rt_format OWNER TO u_vitis;
GRANT SELECT ON TABLE s_vmap.rt_format TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.rt_format TO vmap_user;
CREATE TABLE s_vmap.rt_orientation (rt_orientation_id varchar(8) NOT NULL, PRIMARY KEY (rt_orientation_id));
ALTER TABLE s_vmap.rt_orientation OWNER TO u_vitis;
GRANT SELECT ON TABLE s_vmap.rt_orientation TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.rt_orientation TO vmap_user;
CREATE TABLE s_vmap.printparameter (printparameter_id SERIAL NOT NULL, printtemplate_id int4 NOT NULL, name varchar(100) NOT NULL, editable bool, label varchar(100), placeholder text, defaultvalue text, PRIMARY KEY (printparameter_id));
ALTER TABLE s_vmap.printparameter OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.printparameter TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.printparameter TO vmap_user;
CREATE TABLE s_vmap.rt_outputformats (outputformats_id varchar(255) NOT NULL, PRIMARY KEY (outputformats_id));
ALTER TABLE s_vmap.rt_outputformats OWNER TO u_vitis;
GRANT SELECT ON TABLE s_vmap.rt_outputformats TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.rt_outputformats TO vmap_user;
CREATE TABLE s_vmap.printstyle (printstyle_id SERIAL NOT NULL, name varchar(100) NOT NULL UNIQUE, definition text, PRIMARY KEY (printstyle_id));
ALTER TABLE s_vmap.printstyle OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.printstyle TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.printstyle TO vmap_user;
CREATE TABLE s_vmap.user_printstyle (printstyle_id int4 NOT NULL, user_id int4 NOT NULL, PRIMARY KEY (printstyle_id, user_id));
ALTER TABLE s_vmap.user_printstyle OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.user_printstyle TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.user_printstyle TO vmap_user;
CREATE TABLE s_vmap.business_object (business_object_id character varying(50) NOT NULL, title character varying(100), id_field character varying(30), database character varying(30), schema character varying(30), "table" character varying(30), sql_summary text, sql_list text, sorted_by character varying(100), geom_column character varying(30), search_field character varying(50), result_field character varying(50), search_use_strict character varying(30), event_id character varying(50));
ALTER TABLE s_vmap.business_object OWNER TO u_vitis;
COMMENT ON TABLE s_vmap.business_object IS 'contains the parameters of elements to show when making a layer query';
COMMENT ON COLUMN s_vmap.business_object.business_object_id IS 'ex: "veremes_cadastre_commune"';
COMMENT ON COLUMN s_vmap.business_object.id_field IS 'unique id field of the table';
COMMENT ON COLUMN s_vmap.business_object.database IS 'database where find the data of the business object';
COMMENT ON COLUMN s_vmap.business_object.schema IS 'schema where find the data of the business object';
COMMENT ON COLUMN s_vmap.business_object."table" IS 'table where find the data of the business object';
COMMENT ON COLUMN s_vmap.business_object.sql_summary IS 'sql request to get the infos showed on first (example popup)';
COMMENT ON COLUMN s_vmap.business_object.sql_list IS 'sql request to get the infos to show on detail mode';
COMMENT ON COLUMN s_vmap.business_object.sorted_by IS 'sorted_by sql attr';
REVOKE ALL ON TABLE s_vmap.business_object FROM PUBLIC;
REVOKE ALL ON TABLE s_vmap.business_object FROM u_vitis;
GRANT ALL ON TABLE s_vmap.business_object TO u_vitis;
GRANT ALL ON TABLE s_vmap.business_object TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.business_object TO vmap_user;
COMMENT ON COLUMN s_vmap.business_object.geom_column IS 'column witch contains the geometry of the BO';
CREATE OR REPLACE VIEW s_vmap.v_layer AS SELECT s_vmap.layertheme.name AS theme_name, s_vmap.service.name AS service_name, s_vmap.service.service_type_id, s_vmap.service.url AS service_url, s_vmap.service."key" AS service_key, s_vmap.service.service_type_version, s_vmap.service.thumbnail AS service_thumbnail, s_vmap.service.lang AS service_lang, s_vmap.service.imagery AS service_imagery, s_vmap.business_object.title AS bo_title, s_vmap.business_object.id_field AS bo_id_field, s_vmap.business_object."database" AS bo_database, s_vmap.business_object."schema" AS bo_schema, s_vmap.business_object."table" AS bo_table, s_vmap.business_object.sql_summary AS bo_sql_summary, s_vmap.business_object.sql_list AS bo_sql_list, s_vmap.business_object.sorted_by AS bo_sorted_by, s_vmap.business_object.geom_column AS bo_geom_column, s_vmap.business_object.search_field AS bo_search_field, s_vmap.business_object.result_field AS bo_result_field, s_vmap.business_object.search_use_strict AS bo_search_use_strict, s_vmap.layer.layer_id, s_vmap.layer.layertheme_id, s_vmap.layer.service_id, s_vmap.layer.name, s_vmap.layer.description, s_vmap.layer.layer_list, s_vmap.layer.crs_list, s_vmap.layer.bo_id, s_vmap.layer.is_dynamic, s_vmap.layer.is_filtered FROM s_vmap.layer LEFT JOIN s_vmap.business_object ON s_vmap.layer.bo_id = s_vmap.business_object.business_object_id LEFT JOIN s_vmap.layertheme ON s_vmap.layer.layertheme_id = s_vmap.layertheme.layertheme_id INNER JOIN s_vmap.service ON s_vmap.layer.service_id = s_vmap.service.service_id;
GRANT ALL ON TABLE s_vmap.v_layer TO vitis_admin;
GRANT ALL ON TABLE s_vmap.v_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_layer TO vitis_user;
GRANT SELECT ON TABLE s_vmap.v_layer TO vmap_user;
CREATE VIEW s_vmap.v_map AS SELECT s_vmap.maptheme.name AS theme_name, s_vmap.maptheme.description AS theme_description, s_vmap.rt_crs.name AS crs_name, s_vmap.map.map_id, s_vmap.map.crs_id, s_vmap.map.name, s_vmap.map.description, s_vmap.map.extent, s_vmap.map.catalog_index, s_vmap.map.thumbnail, s_vmap.map.maptheme_id FROM s_vmap.maptheme RIGHT JOIN s_vmap.map ON s_vmap.maptheme.maptheme_id = s_vmap.map.maptheme_id INNER JOIN s_vmap.rt_crs ON s_vmap.map.crs_id = s_vmap.rt_crs.crs_id;
GRANT ALL ON TABLE s_vmap.v_map TO vitis_admin;
GRANT ALL ON TABLE s_vmap.v_map TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_map TO vitis_user;
GRANT SELECT ON TABLE s_vmap.v_map TO vmap_user;
CREATE UNIQUE INDEX maptheme_name ON s_vmap.maptheme (name);
CREATE UNIQUE INDEX service_name ON s_vmap.service (name);
CREATE UNIQUE INDEX rt_crs_name ON s_vmap.rt_crs (name);
CREATE UNIQUE INDEX theme_name ON s_vmap.layertheme (name);
CREATE UNIQUE INDEX layer_name ON s_vmap.layer (name);
CREATE UNIQUE INDEX map_name ON s_vmap.map (name);
ALTER TABLE s_vmap.map ADD CONSTRAINT fk_map_rt_crs FOREIGN KEY (crs_id) REFERENCES s_vmap.rt_crs (crs_id) ON UPDATE Cascade ON DELETE Restrict;
ALTER TABLE s_vmap.layer ADD CONSTRAINT fk_layer_service FOREIGN KEY (service_id) REFERENCES s_vmap.service (service_id) ON UPDATE Cascade ON DELETE Restrict;
ALTER TABLE s_vmap.service ADD CONSTRAINT fk_rt_service_service_type FOREIGN KEY (service_type_id) REFERENCES s_vmap.rt_service_type (service_type_id) ON UPDATE Cascade ON DELETE Restrict;
ALTER TABLE s_vmap.map_layer ADD CONSTRAINT fk_map_layer_layer FOREIGN KEY (layer_id) REFERENCES s_vmap.layer (layer_id) ON UPDATE Cascade ON DELETE Cascade;
ALTER TABLE s_vmap.map_layer ADD CONSTRAINT fk_map_layer_map FOREIGN KEY (map_id) REFERENCES s_vmap.map (map_id) ON UPDATE Cascade ON DELETE Cascade;
ALTER TABLE s_vmap.map_group ADD CONSTRAINT fk_map_group_group FOREIGN KEY (group_id) REFERENCES s_vitis."group" (group_id) ON UPDATE Cascade ON DELETE Cascade;
ALTER TABLE s_vmap.map_group ADD CONSTRAINT fk_map_group_map FOREIGN KEY (map_id) REFERENCES s_vmap.map (map_id) ON UPDATE Cascade ON DELETE Cascade;
ALTER TABLE s_vmap.map ADD CONSTRAINT fk_map_maptheme FOREIGN KEY (maptheme_id) REFERENCES s_vmap.maptheme (maptheme_id) ON UPDATE Cascade ON DELETE Restrict;
ALTER TABLE s_vmap.module ADD CONSTRAINT fk_module_privilege FOREIGN KEY (rolname) REFERENCES s_vitis.privileges (rolname) ON UPDATE Cascade ON DELETE Cascade;
ALTER TABLE s_vmap.printtemplate_group ADD CONSTRAINT fk_printtemplate_group_group FOREIGN KEY (group_id) REFERENCES s_vitis."group" (group_id) ON UPDATE Cascade ON DELETE Cascade;
ALTER TABLE ONLY s_vmap.business_object ADD CONSTRAINT business_object_pkey PRIMARY KEY (business_object_id);
ALTER TABLE s_vmap.user_printstyle ADD CONSTRAINT fk_user_printstyle_user FOREIGN KEY (user_id) REFERENCES s_vitis."user" (user_id) ON UPDATE Cascade ON DELETE Cascade;
ALTER TABLE s_vmap.printtemplate_group ADD CONSTRAINT FKprinttempl72315 FOREIGN KEY (printtemplate_id) REFERENCES s_vmap.printtemplate (printtemplate_id) ON UPDATE Cascade ON DELETE Cascade;
CREATE OR REPLACE VIEW s_vmap.v_map_layer AS SELECT v_layer.layer_id,v_layer.name,v_layer.theme_name,map_layer.layer_visible,map_layer.map_id,map_layer.layer_index,map_layer.layer_opacity,v_layer.layertheme_id,v_layer.service_id FROM s_vmap.v_layer,s_vmap.map_layer WHERE v_layer.layer_id=map_layer.layer_id;
GRANT ALL ON TABLE s_vmap.v_map_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_map_layer TO vmap_user;
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Onglet "Thèmes des calques" du mode "vmap"', 'vmap_36');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Titre de la section "general" de l''onglet "vmap_layer_theme"', 'vmap_37');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Button d''ajout de l''onglet vmap_layer_theme', 'vmap_38');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Button de suppression de l''onglet vmap_layer_theme', 'vmap_39');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ layertheme_id de l''onglet vmap_layer_theme', 'vmap_40');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ name de l''onglet vmap_layer_theme', 'vmap_41');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ description de l''onglet vmap_layer_theme', 'vmap_42');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_36', 'fr', 'Thèmes des calques');
INSERT INTO s_vitis.vm_table_button (button_class, event, label_id, ressource_id, tab_id) VALUES ( 'add_smallFlexigrid', 'AddSectionForm', 'vmap_81', 'vmap/printparameters', (SELECT tab_id FROM s_vitis.vm_tab WHERE name = 'vmap_admin_print_parameter'));
INSERT INTO s_vitis.vm_table_button (button_class, event, label_id, ressource_id, tab_id) VALUES ('deleteFlexigrid', 'DeleteSelection', 'vmap_82', 'vmap/printparameters', (SELECT tab_id FROM s_vitis.vm_tab WHERE name = 'vmap_admin_print_parameter'));
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ printparameter_id de l''onglet vmap_admin_print_parameter', 'vmap_83');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ name de l''onglet vmap_admin_print_parameter', 'vmap_84');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_83', 'fr', 'ID');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_83', 'en', 'ID');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_84', 'fr', 'Nom');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_84', 'en', 'Name');
INSERT INTO s_vitis.vm_table_field (name, sortable, resizeable, "index", width, align, label_id, ressource_id, tab_id) VALUES ('printparameter_id', true, true, 1, 30, 'right', 'vmap_83', 'vmap/printparameters', (SELECT tab_id FROM s_vitis.vm_tab WHERE name='vmap_admin_print_parameter'));
INSERT INTO s_vitis.vm_table_field (name, sortable, resizeable, "index", width, align, label_id, ressource_id, tab_id) VALUES ('name', true, true, 2, 200, 'left', 'vmap_84', 'vmap/printparameters', (SELECT tab_id FROM s_vitis.vm_tab WHERE name='vmap_admin_print_parameter'));
CREATE OR REPLACE VIEW s_vmap.v_print_parameter AS SELECT printparameter.printparameter_id, printparameter.printtemplate_id, printparameter.name, printparameter.editable, printparameter.label, printparameter.placeholder, printparameter.defaultvalue, printtemplate.name AS print_template FROM s_vmap.printparameter LEFT JOIN s_vmap.printtemplate ON printparameter.printtemplate_id = printtemplate.printtemplate_id;
ALTER TABLE s_vmap.v_print_parameter OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_print_parameter TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_print_parameter TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_print_parameter TO vmap_user;
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ label de l''onglet vmap_admin_print_parameter', 'vmap_85');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ print_template de l''onglet vmap_admin_print_parameter', 'vmap_86');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ placeholder de l''onglet vmap_admin_print_parameter', 'vmap_87');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ defaultvalue de l''onglet vmap_admin_print_parameter', 'vmap_88');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ editable de l''onglet vmap_admin_print_parameter', 'vmap_89');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_85', 'fr', 'Libellé');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_85', 'en', 'Label');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_86', 'fr', 'Modèle');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_86', 'en', 'Template');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_87', 'fr', 'Placeholder');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_87', 'en', 'Placeholder');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_88', 'fr', 'Valeur par défaut');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_89', 'fr', 'Modifiable');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_89', 'en', 'Editable');
INSERT INTO s_vitis.vm_table_field (name, sortable, resizeable, "index", width, align, label_id, ressource_id, tab_id) VALUES ('label', true, true, 3, 200, 'left', 'vmap_85', 'vmap/printparameters', (SELECT tab_id FROM s_vitis.vm_tab WHERE name='vmap_admin_print_parameter'));
INSERT INTO s_vitis.vm_table_field (name, sortable, resizeable, "index", width, align, label_id, ressource_id, tab_id) VALUES ('print_template', true, true, 4, 200, 'left', 'vmap_86', 'vmap/printparameters', (SELECT tab_id FROM s_vitis.vm_tab WHERE name='vmap_admin_print_parameter'));
INSERT INTO s_vitis.vm_table_field (name, sortable, resizeable, "index", width, align, label_id, ressource_id, template, tab_id) VALUES ('placeholder', true, true, 4, 80, 'center', 'vmap_87', 'vmap/printparameters', '<divdata-app-print-parameter-placeholder-column="{{row.entity[col.field]}}"></div>', (SELECT tab_id FROM s_vitis.vm_tab WHERE name='vmap_admin_print_parameter'));
INSERT INTO s_vitis.vm_table_field (name, sortable, resizeable, "index", width, align, label_id, ressource_id, template, tab_id) VALUES ('defaultvalue', true, true, 5, 110, 'center', 'vmap_88', 'vmap/printparameters', '<divdata-app-print-parameter-default-value-column="{{row.entity[col.field]}}"></div>', (SELECT tab_id FROM s_vitis.vm_tab WHERE name='vmap_admin_print_parameter'));
INSERT INTO s_vitis.vm_table_field (name, sortable, resizeable, "index", width, align, label_id, ressource_id, template, tab_id) VALUES ('editable', true, true, 6, 80, 'center', 'vmap_89', 'vmap/printparameters', '<divdata-app-set-boolean-icon-column="{{row.entity[col.field]}}"></div>', (SELECT tab_id FROM s_vitis.vm_tab WHERE name='vmap_admin_print_parameter'));
CREATE OR REPLACE VIEW s_vmap.v_template AS SELECT printtemplate.printtemplate_id, printtemplate.name, printtemplate.rt_format_id, printtemplate.rt_orientation_id, printtemplate.definition, printtemplate.outputformats_id, printtemplate.sql, printtemplate.ressource_id, printtemplate.business_object_id, business_object.title AS business_object FROM s_vmap.printtemplate LEFT JOIN s_vmap.business_object ON printtemplate.business_object_id = business_object.business_object_id;
ALTER TABLE s_vmap.v_template OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_template TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_template TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_template TO vmap_user;
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ rt_format_id de l''onglet vmap_admin_template', 'vmap_90');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ rt_orientation_id de l''onglet vmap_admin_template', 'vmap_91');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ outputformats_id de l''onglet vmap_admin_template', 'vmap_92');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_90', 'fr', 'Format');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_90', 'en', 'Format');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_91', 'fr', 'Orientation');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_91', 'en', 'Orientation');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_92', 'fr', 'Format de sortie');
INSERT INTO s_vmap.service (service_type_id, name, description, url, key, service_type_version, thumbnail, lang, imagery) VALUES ('osm', 'Open Street Maps', 'services regroupant les couches osm', 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png', '', '1.3.0', 'images/imagettes/osm.png', NULL, NULL);
INSERT INTO s_vmap.service ( service_type_id, name, description, url, key, service_type_version, thumbnail, lang, imagery) VALUES ( 'osm', 'OpenSeaMap', 'Phares et autres éléments maritimes', 'http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', NULL, NULL, 'images/imagettes/seamap.png', NULL, NULL);
INSERT INTO s_vmap.service (service_type_id, name, description, url, key, service_type_version, thumbnail, lang, imagery) VALUES ('osm', 'OpenCycleMap', 'Used by hundreds of applications and websites from around the globe, OpenCycleMap is an award-winning global map for cycling.', 'http://tile.thunderforest.com/cycle/{z}/{x}/{y}.png', NULL, NULL, 'images/imagettes/opencyclemap.png', NULL, NULL);
INSERT INTO s_vmap.service (service_type_id, name, description, url, key, service_type_version, thumbnail, lang, imagery) VALUES ('osm', 'Transport', 'Recently chosen by OpenStreetMap for their front page, this map shows public transportation in great detail.', 'http://tile.thunderforest.com/transport/{z}/{x}/{y}.png', NULL, NULL, 'images/imagettes/transport-294.png', NULL, NULL);
INSERT INTO s_vmap.service (service_type_id, name, description, url, key, service_type_version, thumbnail, lang, imagery) VALUES ('osm', 'Landscape', 'A global style focused on information about the natural world - great for rural context.', 'http://tile.thunderforest.com/landscape/{z}/{x}/{y}.png', NULL, NULL, 'images/imagettes/landscape-294.png', NULL, NULL);
INSERT INTO s_vmap.service (service_type_id, name, description, url, key, service_type_version, thumbnail, lang, imagery) VALUES ('osm', 'Outdoors', 'For all the outdoor enthusiasts - hiking, skiing and other activities.', 'http://tile.thunderforest.com/outdoors/{z}/{x}/{y}.png', NULL, NULL, 'images/imagettes/outdoors-294.png', NULL, NULL);
INSERT INTO s_vmap.service (service_type_id, name, description, url, key, service_type_version, thumbnail, lang, imagery) VALUES ('osm', 'Transport Dark', 'A dark variant of the Transport map.', 'http://tile.thunderforest.com/transport-dark/{z}/{x}/{y}.png', NULL, NULL, 'images/imagettes/transport-dark-294.png', NULL, NULL);
INSERT INTO s_vmap.layer (layertheme_id, service_id, name, description, layer_list, crs_list, bo_id) VALUES ((SELECT layertheme_id FROM s_vmap.layertheme WHERE name = 'Géobretagne'), (SELECT service_id FROM s_vmap.service WHERE name = 'Géobretagne'), 'Liaisons vertes', 'Liaisons vertes de la région lorientaise', 'liaisons_vertes_audelor', 'EPSG:2154|CRS:84', NULL);
INSERT INTO s_vmap.layer (layertheme_id, service_id, name, description, layer_list, crs_list, bo_id) VALUES ((SELECT layertheme_id FROM s_vmap.layertheme WHERE name = 'Géobretagne'), (SELECT service_id FROM s_vmap.service WHERE name = 'Géobretagne'), 'Terrains zone d''activités', 'Terrains (Zones d''Activités du Pays de Lorient)', 'za_terrain_audelor', 'EPSG:2154|CRS:84', NULL);
INSERT INTO s_vmap.layer (layertheme_id, service_id, name, description, layer_list, crs_list, bo_id) VALUES ((SELECT layertheme_id FROM s_vmap.layertheme WHERE name = 'Géobretagne'), (SELECT service_id FROM s_vmap.service WHERE name = 'Géobretagne'), 'Zone d''activités audelor', 'Zones d''Activités du Pays de Lorient', 'zone_activite_audelor', 'EPSG:2154|CRS:84', NULL);
INSERT INTO s_vmap.layer (layertheme_id, service_id, name, description, layer_list, crs_list, bo_id) VALUES ((SELECT layertheme_id FROM s_vmap.layertheme WHERE name = 'Open Street Maps'), (SELECT service_id FROM s_vmap.service WHERE name = 'Open Street Maps'), 'Open Street Maps', 'Fond osm', NULL, 'EPSG:3857', NULL);
INSERT INTO s_vmap.maptheme (name, description) VALUES ('Thème Géobretagne', 'Cartes Géobretagne avec fond OSM');
INSERT INTO s_vmap.map (crs_id, name, description, extent, catalog_index, thumbnail, maptheme_id) VALUES ('EPSG:2154', 'Carte OSM Géobretagne', 'Carte Geobretagne avec un fond osm', '176015|6730574|282342|6792233', 2, 'images/imagettes/osm.png', (SELECT maptheme_id FROM s_vmap.maptheme WHERE name = 'Thème Géobretagne'));
INSERT INTO s_vmap.rt_format(rt_format_id) VALUES ('A4');
INSERT INTO s_vmap.rt_format(rt_format_id) VALUES ('A3');
INSERT INTO s_vmap.rt_format(rt_format_id) VALUES ('A2');
INSERT INTO s_vmap.rt_format(rt_format_id) VALUES ('A1');
INSERT INTO s_vitis."group" ("group_id", "name") VALUES ((SELECT nextval('s_vitis.seq_common'::regclass)), 'demo');
INSERT INTO s_vmap.map_group (map_id, group_id) VALUES ((SELECT map_id FROM s_vmap.map WHERE name = 'Carte OSM Géobretagne'), (SELECT group_id FROM s_vitis.group WHERE name = 'demo'));
INSERT INTO s_vmap.map_layer (map_id, layer_id, layer_index, layer_visible, layer_opacity) VALUES ((SELECT map_id FROM s_vmap.map WHERE name = 'Carte OSM Géobretagne'), (SELECT layer_id FROM s_vmap.layer WHERE name = 'Open Street Maps'), 1, true, 100);
INSERT INTO s_vmap.map_layer (map_id, layer_id, layer_index, layer_visible, layer_opacity) VALUES ((SELECT map_id FROM s_vmap.map WHERE name = 'Carte OSM Géobretagne'), (SELECT layer_id FROM s_vmap.layer WHERE name = 'Liaisons vertes'), 2, true, 100);
INSERT INTO s_vmap.map_layer (map_id, layer_id, layer_index, layer_visible, layer_opacity) VALUES ((SELECT map_id FROM s_vmap.map WHERE name = 'Carte OSM Géobretagne'), (SELECT layer_id FROM s_vmap.layer WHERE name = 'Terrains zone d''activités'), 3, true, 100);
INSERT INTO s_vmap.map_layer (map_id, layer_id, layer_index, layer_visible, layer_opacity) VALUES ((SELECT map_id FROM s_vmap.map WHERE name = 'Carte OSM Géobretagne'), (SELECT layer_id FROM s_vmap.layer WHERE name = 'Zone d''activités audelor'), 4, true, 100);
INSERT INTO s_vmap.rt_orientation(rt_orientation_id) VALUES ('portrait');
INSERT INTO s_vmap.rt_orientation(rt_orientation_id) VALUES ('paysage');
INSERT INTO s_vmap.rt_outputformats(outputformats_id) VALUES ('pdf');
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Titre de la section vmap_config', 'vmap_95');
INSERT INTO s_vmap.printparameter (printtemplate_id, name, editable, label, placeholder, defaultvalue) VALUES ((select printtemplate_id from s_vmap.printtemplate where name = 'Modèle par défaut'), 'title', true, 'Titre', 'Titre du document', NULL);
INSERT INTO s_vmap.printparameter (printtemplate_id, name, editable, label, placeholder, defaultvalue) VALUES ((select printtemplate_id from s_vmap.printtemplate where name = 'Modèle par défaut'), 'footer', false, NULL, NULL, 'Tout droits réservés');
INSERT INTO s_vmap.printparameter (printtemplate_id, name, editable, label, placeholder, defaultvalue) VALUES ((select printtemplate_id from s_vmap.printtemplate where name = 'Modèle par défaut'), 'headline', true, 'Sous titre', 'Sous titre de la carte', NULL);
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Formulaire de filtre', 'vmap_102');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_102', 'fr', 'Formulaire de filtre');
INSERT INTO s_vitis.vm_section (section_id, label_id, name, index, event, tab_id, template, ressource_id, module) VALUES ((select nextval('s_vitis.seq_vm'::regclass)), 'vmap_102', 'studio', 4, 'loadStudioVmap(''layer_filter'')', (select tab_id from s_vitis.vm_tab where name = 'vmap_layers'), 'modules/vmap/template/studio.html', NULL, 'vmap');
CREATE OR REPLACE VIEW s_vmap.v_user_printstyle AS SELECT * FROM s_vmap.printstyle where printstyle_id = (SELECT printstyle_id FROM s_vmap.user_printstyle where user_id = (SELECT user_id FROM s_vitis.user where login = current_user));
ALTER TABLE s_vmap.v_user_printstyle OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_user_printstyle TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_user_printstyle TO vmap_user;
]]>
</code>
</query>
<query>
<type>update</type>
<version>2016.01.01</version>
<code>
<![CDATA[
]]>
</code>
</query>
<query>
<type>update</type>
<version>2016.02.00</version>
<code>
<![CDATA[
DELETE FROM s_vmap.rt_format WHERE rt_format_id='A1';
DELETE FROM s_vmap.rt_format WHERE rt_format_id='A2';
INSERT INTO s_vmap.printparameter (printtemplate_id, name, editable, label, placeholder, defaultvalue) VALUES ((select printtemplate_id from s_vmap.printtemplate where name = 'Modèle par défaut'), 'sources', true, 'Sources', 'Sources la carte', NULL);
UPDATE s_vitis.vm_translation SET translation='Éditable' WHERE translation='Modifiable';
CREATE OR REPLACE VIEW s_vmap.v_user_template AS SELECT DISTINCT printtemplate.printtemplate_id, printtemplate.name, printtemplate.rt_format_id, printtemplate.rt_orientation_id, printtemplate.definition, printtemplate.outputformats_id, printtemplate.sql, printtemplate.ressource_id, printtemplate.business_object_id, business_object.title AS business_object, group_id FROM s_vmap.printtemplate LEFT JOIN s_vmap.printtemplate_group on printtemplate.printtemplate_id = printtemplate_group.printtemplate_id LEFT JOIN s_vmap.business_object ON printtemplate.business_object_id::text = business_object.business_object_id::text;
ALTER TABLE s_vmap.v_user_template OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_user_template TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_user_template TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_user_template TO vmap_user;
-- PrintReport
CREATE TABLE s_vmap.printreport (printreport_id SERIAL NOT NULL, name varchar(100) NOT NULL UNIQUE, rt_format_id varchar(2) NOT NULL, rt_orientation_id varchar(8) NOT NULL, outputformats_id varchar(255) NOT NULL, business_object_id varchar(100) NOT NULL, htmldefinition text NOT NULL, jsonobjects text NOT NULL, multiobject bool NOT NULL, PRIMARY KEY (printreport_id));
-- INSERT INTO s_vmap.layer (layer_id, layertheme_id, service_id, name, description, layer_list, crs_list, bo_id, is_dynamic, is_filtered) VALUES ((SELECT nextval('s_vmap.seq_common')), (select layertheme_id from s_vmap.layertheme where name= 'Cadastre'), (select service_id from s_vmap.service where name= 'Veremap'), 'Cadastre', 'Ensemble des couches cadastrales fournies par défaut lors de l''installation du module cadastre de Veremap :' || chr(13) || '- Cadastre_batiment' || chr(13) || '- Cadastre_commune' || chr(13) || '- Cadastre_habillage_surfacique' || chr(13) || '- Cadastre_lieu_dit' || chr(13) || '- Cadastre_parcelle_text' || chr(13) || '- Cadastre_parcelle' || chr(13) || '- Cadastre_section', 'Cadastre_communes_vitis,Cadastre_parcelles_vitis,Cadastre_habillage_surfaciques_vitis,Cadastre_batiments_vitis,Cadastre_parcelle_texts_vitis,Cadastre_lieu_dits_vitis,Cadastre_sections_vitis', 'EPSG:2154', NULL, false, false);
-- INSERT INTO s_vmap.map (map_id, crs_id, name, description, extent, catalog_index, thumbnail, maptheme_id) VALUES (-1, 'EPSG:2154', 'Cadastre', 'Carte contenant le calque "Cadastre" et OSM', '-707041|6173507|2094580|7169553', NULL, 'images/imagettes/cadastre.jpg', (select maptheme_id from s_vmap.maptheme where name= 'Cadastre'));
-- INSERT INTO s_vmap.map_group (map_id, group_id) VALUES (-1, (select group_id from s_vitis."group" where name= 'Cadastre'));
-- INSERT INTO s_vmap.map_layer (map_id, layer_id, layer_index, layer_visible, layer_opacity) VALUES (-1, (select layer_id from s_vmap.layer where name= 'Cadastre'), 2, true, 100);
-- INSERT INTO s_vmap.map_layer (map_id, layer_id, layer_index, layer_visible, layer_opacity) VALUES (-1, (select layer_id from s_vmap.layer where name= 'Open Street Maps'), 1, true, 100);
]]>
</code>
</query>
<query>
<type>update</type>
<version>2016.03.00</version>
<code>
<![CDATA[
ALTER TABLE s_vmap.business_object ADD COLUMN index integer;
UPDATE s_vmap.service SET thumbnail='osm.png' WHERE thumbnail='images/imagettes/osm.png';
UPDATE s_vmap.service SET thumbnail='seamap.png' WHERE thumbnail='images/imagettes/seamap.png';
UPDATE s_vmap.service SET thumbnail='opencyclemap.png' WHERE thumbnail='images/imagettes/opencyclemap.png';
UPDATE s_vmap.service SET thumbnail='transport-294.png' WHERE thumbnail='images/imagettes/transport-294.png';
UPDATE s_vmap.service SET thumbnail='landscape-294.png' WHERE thumbnail='images/imagettes/landscape-294.png';
UPDATE s_vmap.service SET thumbnail='outdoors-294.png' WHERE thumbnail='images/imagettes/outdoors-294.png';
UPDATE s_vmap.service SET thumbnail='transport-dark-294.png' WHERE thumbnail='images/imagettes/transport-dark-294.png';
UPDATE s_vmap.map SET thumbnail='geobret.png' WHERE thumbnail='images/imagettes/osm.png';
]]>
</code>
</query>
<query>
<type>update</type>
<version>2016.03.01</version>
<code>
<![CDATA[
-- Utilisation du composant DocumentViewer (Vitis) pour l'apperçu des images dans les listes
UPDATE s_vitis.vm_table_field SET template='<div data-app-document-viewer data-path="signaletique/pictures" data-file="{{::row.entity[col.field]}}" data-max-popover="200" data-img-class="" data-popover-class="" ></div>' WHERE template='<divdata-app-map-thumbnail-column="{{row.entity[col.field]}}"></div>';
UPDATE s_vitis.vm_table_field SET template='<divdata-app-document-viewerdata-path="signaletique/pictures"data-file="{{::row.entity[col.field]}}"data-max-popover="200"data-img-class=""data-popover-class=""></div>' WHERE template='<divdata-app-service-thumbnail-column="{{row.entity[col.field]}}"></div>';
]]>
</code>
</query>
<query>
<type>update</type>
<version>2017.01.00</version>
<code>
<![CDATA[
INSERT INTO s_vmap.rt_service_type(service_type_id) VALUES ('wmts');
ALTER TABLE s_vmap.service ADD COLUMN service_type_type varchar(30);
ALTER TABLE s_vmap.service ADD COLUMN service_options text;
ALTER TABLE s_vmap.layer ADD COLUMN matrix_set varchar(255);
ALTER TABLE s_vmap.layer ADD COLUMN layer_style varchar(255);
ALTER TABLE s_vmap.layer ADD COLUMN layer_format varchar(30);
ALTER TABLE s_vmap.layer ADD COLUMN layer_options text;
CREATE OR REPLACE VIEW s_vmap.v_layer AS SELECT s_vmap.layertheme.name AS theme_name, s_vmap.service.name AS service_name, s_vmap.service.service_type_id, s_vmap.service.url AS service_url, s_vmap.service."key" AS service_key, s_vmap.service.service_type_version, s_vmap.service.thumbnail AS service_thumbnail, s_vmap.service.lang AS service_lang, s_vmap.service.imagery AS service_imagery, s_vmap.business_object.title AS bo_title, s_vmap.business_object.id_field AS bo_id_field, s_vmap.business_object."database" AS bo_database, s_vmap.business_object."schema" AS bo_schema, s_vmap.business_object."table" AS bo_table, s_vmap.business_object.sql_summary AS bo_sql_summary, s_vmap.business_object.sql_list AS bo_sql_list, s_vmap.business_object.sorted_by AS bo_sorted_by, s_vmap.business_object.geom_column AS bo_geom_column, s_vmap.business_object.search_field AS bo_search_field, s_vmap.business_object.result_field AS bo_result_field, s_vmap.business_object.search_use_strict AS bo_search_use_strict, s_vmap.layer.layer_id, s_vmap.layer.layertheme_id, s_vmap.layer.service_id, s_vmap.layer.name, s_vmap.layer.description, s_vmap.layer.layer_list, s_vmap.layer.crs_list, s_vmap.layer.bo_id, s_vmap.layer.is_dynamic, s_vmap.layer.is_filtered, s_vmap.layer.matrix_set, s_vmap.layer.layer_style, s_vmap.layer.layer_format, s_vmap.layer.layer_options, s_vmap.service.service_type_type, s_vmap.service.service_options FROM s_vmap.layer LEFT JOIN s_vmap.business_object ON s_vmap.layer.bo_id = s_vmap.business_object.business_object_id LEFT JOIN s_vmap.layertheme ON s_vmap.layer.layertheme_id = s_vmap.layertheme.layertheme_id INNER JOIN s_vmap.service ON s_vmap.layer.service_id = s_vmap.service.service_id;
GRANT ALL ON TABLE s_vmap.v_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_layer TO vmap_user;
INSERT INTO s_vmap.rt_service_type(service_type_id) VALUES ('xyz');
CREATE OR REPLACE VIEW s_vmap.v_map_layer AS SELECT v_layer.layer_id,v_layer.name,v_layer.theme_name,map_layer.layer_visible,map_layer.map_id,map_layer.layer_index,map_layer.layer_opacity,v_layer.layertheme_id,v_layer.service_id FROM s_vmap.v_layer,s_vmap.map_layer WHERE v_layer.layer_id=map_layer.layer_id;
GRANT ALL ON TABLE s_vmap.v_map_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_map_layer TO vmap_user;
GRANT ALL ON TABLE s_vmap.v_map_layer TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_map_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_map_layer TO vmap_user;
ALTER TABLE s_vmap.v_map_layer OWNER TO u_vitis;
-- Couche -> calque
UPDATE s_vitis.vm_string SET string = 'Onglet "Calques" du mode "vmap"' WHERE string_id = 'vmap_4';
UPDATE s_vitis.vm_string SET string = 'Titre de la section "calques de la carte" de l''onglet "vmap_map"' WHERE string_id = 'vmap_35';
UPDATE s_vitis.vm_string SET string = 'Onglet "Thèmes des calques" du mode "vmap"' WHERE string_id = 'vmap_36';
UPDATE s_vitis.vm_translation SET translation = 'Calques' WHERE translation_id = 'vmap_4' AND lang = 'fr';
UPDATE s_vitis.vm_translation SET translation = 'Ajouter un calque' WHERE translation_id = 'vmap_26' AND lang = 'fr';
UPDATE s_vitis.vm_translation SET translation = 'Supprimer les calques' WHERE translation_id = 'vmap_27' AND lang = 'fr';
UPDATE s_vitis.vm_translation SET translation = 'Calques de la carte' WHERE translation_id = 'vmap_35' AND lang = 'fr';
UPDATE s_vitis.vm_translation SET translation = 'Thèmes des calques' WHERE translation_id = 'vmap_36' AND lang = 'fr';
-- Armand le 30/01/2017 à 10:39
ALTER TABLE s_vmap.business_object ADD COLUMN add_form_size integer;
ALTER TABLE s_vmap.business_object ADD COLUMN edit_form_size integer;
ALTER TABLE s_vmap.business_object ADD COLUMN display_form_size integer;
UPDATE s_vmap.business_object SET add_form_size=1;
UPDATE s_vmap.business_object SET edit_form_size=1;
UPDATE s_vmap.business_object SET display_form_size=1;
]]>
</code>
</query>
<query>
<type>update</type>
<version>2017.02.00</version>
<code>
<![CDATA[
-- Armand le 01/03/2017
ALTER TABLE s_vmap.service ADD COLUMN service_vm4ms boolean;
-- Armand le 15/02/2017 à 17:31: ajout du bouton importer
UPDATE s_vitis.vm_table_field SET align='left', width=300 WHERE table_field_id=147;
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Button d''ajout de l''onglet vmap_map', 'vmap_113');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_113', 'fr', 'Importer');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_113', 'en', 'Import');
INSERT INTO s_vitis.vm_table_button (button_class, event, label_id, ressource_id, tab_id) VALUES ('add_smallFlexigrid', 'importBusinessObject', 'vmap_113', 'vmap/businessobjects', (SELECT tab_id FROM s_vitis.vm_tab WHERE name = 'vmap_business_object'));
-- Armand le 17/03/2017: libéllés des coordsys
UPDATE s_vmap.rt_crs SET name='[EPSG:2154]-RGF93.Lambert-93' WHERE crs_id='EPSG:2154';
UPDATE s_vmap.rt_crs SET name='[EPSG:3857]-WGS84.Spherical Mercator' WHERE crs_id='EPSG:3857';
UPDATE s_vmap.rt_crs SET name='[EPSG:4326]-WGS84.LL' WHERE crs_id='EPSG:4326';
UPDATE s_vitis.vm_table_field SET width='240' WHERE name='crs_name' and ressource_id='vmap/maps';
-- Armand le 31/03/2017: revoke grant vitis_user vitis_admin
REVOKE ALL PRIVILEGES ON s_vmap.v_map FROM vitis_admin;
REVOKE ALL PRIVILEGES ON s_vmap.v_map FROM vitis_user;
ALTER TABLE s_vmap.v_printreport OWNER TO u_vitis;
-- Armand le 31/03/2017
DELETE FROM s_vitis.vm_table_field WHERE tab_id=97 AND name='last_update_date';
DELETE FROM s_vitis.vm_table_field WHERE tab_id=97 AND name='last_update_author';
-- Frédéric le 03/04/2017 à 10:06
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Champ bo_id de l''onglet vmap_layer', 'vmap_114');
INSERT INTO s_vitis.vm_table_field (name, sortable, resizeable, "index", width, align, label_id, ressource_id, tab_id) VALUES ('bo_id', true, true, 7, 200, 'left', 'vmap_114', 'vmap/layers' ,(SELECT tab_id FROM s_vitis.vm_tab WHERE name='vmap_layer'));
-- Frédéric le 07/04/2017 à 11:41
CREATE OR REPLACE VIEW s_vmap.v_user_printstyle AS SELECT * FROM s_vmap.printstyle where printstyle_id IN (SELECT printstyle_id FROM s_vmap.user_printstyle where user_id = (SELECT user_id FROM s_vitis.user where login = current_user));
-- Armand le 19/04/2016
UPDATE s_vmap.service SET url='https://geobretagne.fr/geoserver/audelor/wms' WHERE url='http://geobretagne.fr/geoserver/audelor/wms?service=wms';
-- UPDATE s_vmap.service SET url='http://[veremap_serveur]/cgi-bin/wmsmap' WHERE url='http://[veremap_serveur]/cgi-bin/wmsmap?service=wms';
]]>
</code>
</query>
<query>
<type>update</type>
<version>2017.02.01</version>
<code>
<![CDATA[
-- Sébastien le 05/05/2017
UPDATE s_vmap.maptheme SET maptheme_id = nextval('s_vmap.maptheme_maptheme_id_seq') WHERE name = 'Cadastre';
DELETE FROM s_vitis.vm_table_field WHERE "name" = 'crs_list' and ressource_id = 'vmap/layers';
-- Frédéric le 08/06/2017 à 10:14
DELETE FROM s_vitis.vm_table_field WHERE "name" = 'last_update_date' and ressource_id = 'vmap/businessobjects';
DELETE FROM s_vitis.vm_table_field WHERE "name" = 'last_update_author' and ressource_id = 'vmap/businessobjects';
DELETE FROM s_vitis.vm_translation WHERE translation_id IN ('vmap_56', 'vmap_57');
DELETE FROM s_vitis.vm_string WHERE string_id IN ('vmap_56', 'vmap_57');
-- Armand le 22/06/2017 à 16:46
UPDATE s_vmap.layer SET bo_id = NULL WHERE bo_id IS NOT NULL AND NOT EXISTS(SELECT business_object_id FROM s_vmap.business_object WHERE business_object_id = bo_id);
ALTER TABLE s_vmap.business_object ALTER COLUMN "table" TYPE character varying(63);
ALTER TABLE s_vmap.business_object ALTER COLUMN business_object_id TYPE character varying(100);
CREATE OR REPLACE VIEW s_vmap.v_layer AS SELECT layertheme.name AS theme_name, service.name AS service_name, service.service_type_id, service.url AS service_url, service.key AS service_key, service.service_type_version, service.thumbnail AS service_thumbnail, service.lang AS service_lang, service.imagery AS service_imagery, business_object.title AS bo_title, business_object.id_field AS bo_id_field, business_object.database AS bo_database, business_object.schema AS bo_schema, business_object."table" AS bo_table, business_object.sql_summary AS bo_sql_summary, business_object.sql_list AS bo_sql_list, business_object.sorted_by AS bo_sorted_by, business_object.geom_column AS bo_geom_column, business_object.search_field AS bo_search_field, business_object.result_field AS bo_result_field, business_object.search_use_strict AS bo_search_use_strict, layer.layer_id, layer.layertheme_id, layer.service_id, layer.name, layer.description, layer.layer_list, layer.crs_list, layer.bo_id, layer.is_dynamic, layer.is_filtered, layer.matrix_set, layer.layer_style, layer.layer_format, layer.layer_options, service.service_type_type, service.service_options FROM s_vmap.layer LEFT JOIN s_vmap.business_object ON layer.bo_id::text = business_object.business_object_id::text LEFT JOIN s_vmap.layertheme ON layer.layertheme_id = layertheme.layertheme_id JOIN s_vmap.service ON layer.service_id = service.service_id;
ALTER TABLE s_vmap.v_layer OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_layer TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_layer TO vitis_admin;
GRANT ALL ON TABLE s_vmap.v_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_layer TO vitis_user;
GRANT SELECT ON TABLE s_vmap.v_layer TO vmap_user;
CREATE OR REPLACE VIEW s_vmap.v_map_layer AS SELECT v_layer.layer_id, v_layer.name, v_layer.theme_name, map_layer.layer_visible, map_layer.map_id, map_layer.layer_index, map_layer.layer_opacity, v_layer.layertheme_id, v_layer.service_id FROM s_vmap.v_layer, s_vmap.map_layer WHERE v_layer.layer_id = map_layer.layer_id;
ALTER TABLE s_vmap.v_map_layer OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_map_layer TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_map_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_map_layer TO vmap_user;
GRANT ALL ON TABLE s_vmap.v_map_layer TO vitis_admin;
GRANT SELECT ON TABLE s_vmap.v_map_layer TO vitis_user;
CREATE OR REPLACE VIEW s_vmap.v_printreport AS SELECT printreport.printreport_id, printreport.name, printreport.rt_format_id, printreport.rt_orientation_id, printreport.outputformats_id, printreport.business_object_id, printreport.htmldefinition, printreport.jsonobjects, printreport.multiobject, business_object.title AS business_object_title, business_object.id_field AS business_object_id_field, business_object.database AS business_object_database, business_object.schema AS business_object_schema, business_object."table" AS business_object_table, business_object.geom_column AS business_object_geom_column FROM s_vmap.business_object JOIN s_vmap.printreport ON business_object.business_object_id::text = printreport.business_object_id::text JOIN s_vmap.rt_orientation ON printreport.rt_orientation_id::text = rt_orientation.rt_orientation_id::text JOIN s_vmap.rt_format ON printreport.rt_format_id::text = rt_format.rt_format_id::text JOIN s_vmap.rt_outputformats ON printreport.outputformats_id::text = rt_outputformats.outputformats_id::text;
ALTER TABLE s_vmap.v_printreport OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_printreport TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_printreport TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_printreport TO vmap_user;
CREATE OR REPLACE VIEW s_vmap.v_user_template AS SELECT DISTINCT printtemplate.printtemplate_id, printtemplate.name, printtemplate.rt_format_id, printtemplate.rt_orientation_id, printtemplate.definition, printtemplate.outputformats_id, printtemplate.sql, printtemplate.ressource_id, printtemplate.business_object_id, business_object.title AS business_object, printtemplate_group.group_id FROM s_vmap.printtemplate LEFT JOIN s_vmap.printtemplate_group ON printtemplate.printtemplate_id = printtemplate_group.printtemplate_id LEFT JOIN s_vmap.business_object ON printtemplate.business_object_id::text = business_object.business_object_id::text;
ALTER TABLE s_vmap.v_user_template OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_user_template TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_user_template TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_user_template TO vmap_user;
CREATE OR REPLACE VIEW s_vmap.v_template AS SELECT printtemplate.printtemplate_id, printtemplate.name, printtemplate.rt_format_id, printtemplate.rt_orientation_id, printtemplate.definition, printtemplate.outputformats_id, printtemplate.sql, printtemplate.ressource_id, printtemplate.business_object_id, business_object.title AS business_object FROM s_vmap.printtemplate LEFT JOIN s_vmap.business_object ON printtemplate.business_object_id::text = business_object.business_object_id::text;
ALTER TABLE s_vmap.v_template OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_template TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_template TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_template TO vmap_user;
-- Frédéric le 25/07/2017 à 14:43
UPDATE s_vmap.layer SET bo_id = NULL WHERE bo_id IN(SELECT bo_id FROM s_vmap.layer WHERE bo_id NOT IN (SELECT business_object_id FROM s_vmap.business_object));
ALTER TABLE s_vmap.layer DROP CONSTRAINT IF EXISTS fk_layer_business_object;
ALTER TABLE s_vmap.layer ADD CONSTRAINT fk_layer_business_object FOREIGN KEY (bo_id) REFERENCES s_vmap.business_object (business_object_id) MATCH SIMPLE ON UPDATE CASCADE ON DELETE SET NULL;
-- Armand le 31/07/2017 à 17:13: ajout de la colonne selection_buffer
ALTER TABLE s_vmap.business_object ADD COLUMN selection_buffer double precision;
CREATE OR REPLACE VIEW s_vmap.v_layer AS SELECT s_vmap.layertheme.name AS theme_name, s_vmap.service.name AS service_name, s_vmap.service.service_type_id, s_vmap.service.url AS service_url, s_vmap.service."key" AS service_key, s_vmap.service.service_type_version, s_vmap.service.thumbnail AS service_thumbnail, s_vmap.service.lang AS service_lang, s_vmap.service.imagery AS service_imagery, s_vmap.business_object.title AS bo_title, s_vmap.business_object.id_field AS bo_id_field, s_vmap.business_object."database" AS bo_database, s_vmap.business_object."schema" AS bo_schema, s_vmap.business_object."table" AS bo_table, s_vmap.business_object.sql_summary AS bo_sql_summary, s_vmap.business_object.sql_list AS bo_sql_list, s_vmap.business_object.sorted_by AS bo_sorted_by, s_vmap.business_object.geom_column AS bo_geom_column, s_vmap.business_object.search_field AS bo_search_field, s_vmap.business_object.result_field AS bo_result_field, s_vmap.business_object.search_use_strict AS bo_search_use_strict, s_vmap.layer.layer_id, s_vmap.layer.layertheme_id, s_vmap.layer.service_id, s_vmap.layer.name, s_vmap.layer.description, s_vmap.layer.layer_list, s_vmap.layer.crs_list, s_vmap.layer.bo_id, s_vmap.layer.is_dynamic, s_vmap.layer.is_filtered, s_vmap.layer.matrix_set, s_vmap.layer.layer_style, s_vmap.layer.layer_format, s_vmap.layer.layer_options, s_vmap.service.service_type_type, s_vmap.service.service_options, s_vmap.business_object.selection_buffer AS bo_selection_buffer FROM s_vmap.layer LEFT JOIN s_vmap.business_object ON s_vmap.layer.bo_id = s_vmap.business_object.business_object_id LEFT JOIN s_vmap.layertheme ON s_vmap.layer.layertheme_id = s_vmap.layertheme.layertheme_id INNER JOIN s_vmap.service ON s_vmap.layer.service_id = s_vmap.service.service_id;
GRANT ALL ON TABLE s_vmap.v_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_layer TO vmap_user;
UPDATE s_vmap.business_object SET selection_buffer=5;
-- Armand le 18/08/2017 à 11h34 Associer plusieurs objets métiers à un calque
CREATE TABLE s_vmap.layer_businessobject (layer_id int4 NOT NULL, business_object_id varchar(100) NOT NULL, PRIMARY KEY (layer_id, business_object_id));
INSERT INTO s_vmap.layer_businessobject (layer_id, business_object_id) SELECT layer_id, bo_id FROM s_vmap.layer WHERE layer.bo_id IS NOT NULL;
COMMENT ON COLUMN s_vmap.layer.bo_id IS 'DEPRECATED';
ALTER TABLE s_vmap.layer_businessobject OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.layer_businessobject TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.layer_businessobject TO vmap_user;
DROP VIEW s_vmap.v_map_layer;
DROP VIEW s_vmap.v_layer;
CREATE OR REPLACE VIEW s_vmap.v_layer AS SELECT s_vmap.layer.layer_id, s_vmap.layer.layertheme_id, s_vmap.layer.service_id, s_vmap.layer.name, s_vmap.layer.description, s_vmap.layer.layer_list, s_vmap.layer.crs_list, s_vmap.layer.is_dynamic, s_vmap.layer.is_filtered, s_vmap.layer.matrix_set, s_vmap.layer.layer_style, s_vmap.layer.layer_format, s_vmap.layer.layer_options, s_vmap.layertheme.name AS theme_name, s_vmap.service.name AS service_name, s_vmap.service.service_type_id, s_vmap.service.url AS service_url, s_vmap.service."key" AS service_key, s_vmap.service.service_type_version, s_vmap.service.thumbnail AS service_thumbnail, s_vmap.service.lang AS service_lang, s_vmap.service.imagery AS service_imagery, s_vmap.service.service_type_type, s_vmap.service.service_options, string_agg(layer_businessobject.business_object_id, '|') AS bo_id_list FROM s_vmap.layer LEFT JOIN s_vmap.layer_businessobject ON s_vmap.layer.layer_id = s_vmap.layer_businessobject.layer_id LEFT JOIN s_vmap.business_object ON s_vmap.layer_businessobject.business_object_id = s_vmap.business_object.business_object_id LEFT JOIN s_vmap.layertheme ON s_vmap.layer.layertheme_id = s_vmap.layertheme.layertheme_id INNER JOIN s_vmap.service ON s_vmap.layer.service_id = s_vmap.service.service_id GROUP BY s_vmap.layer.layer_id, s_vmap.layertheme.name, s_vmap.service.name, s_vmap.service.service_type_id, s_vmap.service.url, s_vmap.service."key", s_vmap.service.service_type_version, s_vmap.service.thumbnail, s_vmap.service.lang, s_vmap.service.imagery, s_vmap.service.service_type_type, s_vmap.service.service_options;
ALTER TABLE s_vmap.v_layer OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_layer TO vmap_user;
CREATE OR REPLACE VIEW s_vmap.v_map_layer AS SELECT v_layer.layer_id, v_layer.name, v_layer.theme_name, map_layer.layer_visible, map_layer.map_id, map_layer.layer_index, map_layer.layer_opacity, v_layer.layertheme_id, v_layer.service_id FROM s_vmap.v_layer, s_vmap.map_layer WHERE v_layer.layer_id = map_layer.layer_id;
ALTER TABLE s_vmap.v_map_layer OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_map_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_map_layer TO vmap_user;
ALTER TABLE s_vmap.layer DROP CONSTRAINT IF EXISTS fk_layer_business_object;
ALTER TABLE s_vmap.layer DROP CONSTRAINT IF EXISTS fk_s_vmap_bo_layer;
-- Admand 23/08/2017: utilisation de plusieurs bo pour un seul calque
UPDATE s_vitis.vm_table_field SET name='bo_id_list' where name='bo_id' and ressource_id='vmap/layers';
-- Armand 31/08/2017 16h51: Ajout du cadastre light
ALTER TABLE s_vmap.module ADD COLUMN rolname_list varchar(255);
UPDATE s_vmap.module SET rolname_list='vmap_cadastre_user|vmap_cadastre_light_user' WHERE module_id = 'cadastre';
-- Armand 19/09/2017 15:46 Le champ business_object_id de la table s_vmap.printtemplate est trop court 50 au lieu de 100.
DROP VIEW s_vmap.v_template;
DROP VIEW s_vmap.v_user_template;
ALTER TABLE s_vmap.printtemplate ALTER COLUMN business_object_id TYPE character varying(100);
CREATE OR REPLACE VIEW s_vmap.v_template AS SELECT printtemplate.printtemplate_id, printtemplate.name, printtemplate.rt_format_id, printtemplate.rt_orientation_id, printtemplate.definition, printtemplate.outputformats_id, printtemplate.sql, printtemplate.ressource_id, printtemplate.business_object_id, business_object.title AS business_object FROM s_vmap.printtemplate LEFT JOIN s_vmap.business_object ON printtemplate.business_object_id::text = business_object.business_object_id::text;
ALTER TABLE s_vmap.v_template OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_template TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_template TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_template TO vmap_user;
CREATE OR REPLACE VIEW s_vmap.v_user_template AS SELECT DISTINCT printtemplate.printtemplate_id, printtemplate.name, printtemplate.rt_format_id, printtemplate.rt_orientation_id, printtemplate.definition, printtemplate.outputformats_id, printtemplate.sql, printtemplate.ressource_id, printtemplate.business_object_id, business_object.title AS business_object, printtemplate_group.group_id FROM s_vmap.printtemplate LEFT JOIN s_vmap.printtemplate_group ON printtemplate.printtemplate_id = printtemplate_group.printtemplate_id LEFT JOIN s_vmap.business_object ON printtemplate.business_object_id::text = business_object.business_object_id::text;
ALTER TABLE s_vmap.v_user_template OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_user_template TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_user_template TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_user_template TO vmap_user;
]]>
</code>
</query>
<query>
<type>update</type>
<version>2017.03.01</version>
<code>
<![CDATA[
]]>
</code>
</query>
<query>
<type>update</type>
<version>2017.03.02</version>
<code>
<![CDATA[
-- Frédéric 07/11/2017 à 09:58
ALTER TABLE s_vmap.layer_businessobject DROP CONSTRAINT IF EXISTS fk_business_object_id_layer_businessobject;
ALTER TABLE s_vmap.layer_businessobject ADD CONSTRAINT fk_business_object_id_layer_businessobject FOREIGN KEY (business_object_id) REFERENCES s_vmap.business_object (business_object_id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE CASCADE;
-- Frédéric 07/11/2017 à 15:23
UPDATE s_vitis.vm_table_button SET event = 'deleteVmapBusinessObject' WHERE label_id = 'vmap_59';
]]>
</code>
</query>
<query>
<type>update</type>
<version>2017.03.03</version>
<code>
<![CDATA[
]]>
</code>
</query>
<query>
<type>update</type>
<version>2017.04.00</version>
<code>
<![CDATA[
-- Armand 28/12/2017 09:59 ajout des colonnes service_login et service_password pour pouvoir donner des mots de passe à n'importe quel type de service
ALTER TABLE s_vmap.service ADD COLUMN service_login varchar(100);
ALTER TABLE s_vmap.service ADD COLUMN service_password varchar(100);
CREATE OR REPLACE VIEW s_vmap.v_layer AS SELECT s_vmap.layer.layer_id, s_vmap.layer.layertheme_id, s_vmap.layer.service_id, s_vmap.layer.name, s_vmap.layer.description, s_vmap.layer.layer_list, s_vmap.layer.crs_list, s_vmap.layer.is_dynamic, s_vmap.layer.is_filtered, s_vmap.layer.matrix_set, s_vmap.layer.layer_style, s_vmap.layer.layer_format, s_vmap.layer.layer_options, s_vmap.layertheme.name AS theme_name, s_vmap.service.name AS service_name, s_vmap.service.service_type_id, s_vmap.service.url AS service_url, s_vmap.service."key" AS service_key, s_vmap.service.service_type_version, s_vmap.service.thumbnail AS service_thumbnail, s_vmap.service.lang AS service_lang, s_vmap.service.imagery AS service_imagery, s_vmap.service.service_type_type, s_vmap.service.service_options, string_agg(layer_businessobject.business_object_id, '|') AS bo_id_list, s_vmap.service.service_login, s_vmap.service.service_password FROM s_vmap.layer LEFT JOIN s_vmap.layer_businessobject ON s_vmap.layer.layer_id = s_vmap.layer_businessobject.layer_id LEFT JOIN s_vmap.business_object ON s_vmap.layer_businessobject.business_object_id = s_vmap.business_object.business_object_id LEFT JOIN s_vmap.layertheme ON s_vmap.layer.layertheme_id = s_vmap.layertheme.layertheme_id INNER JOIN s_vmap.service ON s_vmap.layer.service_id = s_vmap.service.service_id GROUP BY s_vmap.layer.layer_id, s_vmap.layertheme.name, s_vmap.service.name, s_vmap.service.service_type_id, s_vmap.service.url, s_vmap.service."key", s_vmap.service.service_type_version, s_vmap.service.thumbnail, s_vmap.service.lang, s_vmap.service.imagery, s_vmap.service.service_type_type, s_vmap.service.service_options, s_vmap.service.service_login, s_vmap.service.service_password;
ALTER TABLE s_vmap.v_layer OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_layer TO vmap_user;
]]>
</code>
</query>
<query>
<type>update</type>
<version>2018.01.00</version>
<code>
<![CDATA[
-- Armand 19/01/2018 Ajouter un champ "Titre des formulaires" pour les infobules et les formulaires objet métier #3083
ALTER TABLE s_vmap.business_object ADD COLUMN formtitle varchar(255);
UPDATE s_vmap.business_object SET formtitle=title;
ALTER TABLE s_vmap.business_object ADD COLUMN summarytitle varchar(255);
UPDATE s_vmap.business_object SET summarytitle=title;
-- Armand 26/01/2018 Appliquer le filtre lié au calque aux objets métiers liés à ce dernier #3144
ALTER TABLE s_vmap.layer ADD COLUMN is_bo_filtered boolean;
UPDATE s_vmap.layer set is_bo_filtered=true;
CREATE OR REPLACE VIEW s_vmap.v_layer AS SELECT s_vmap.layer.layer_id, s_vmap.layer.layertheme_id, s_vmap.layer.service_id, s_vmap.layer.name, s_vmap.layer.description, s_vmap.layer.layer_list, s_vmap.layer.crs_list, s_vmap.layer.is_dynamic, s_vmap.layer.is_filtered, s_vmap.layer.matrix_set, s_vmap.layer.layer_style, s_vmap.layer.layer_format, s_vmap.layer.layer_options, s_vmap.layertheme.name AS theme_name, s_vmap.service.name AS service_name, s_vmap.service.service_type_id, s_vmap.service.url AS service_url, s_vmap.service."key" AS service_key, s_vmap.service.service_type_version, s_vmap.service.thumbnail AS service_thumbnail, s_vmap.service.lang AS service_lang, s_vmap.service.imagery AS service_imagery, s_vmap.service.service_type_type, s_vmap.service.service_options, string_agg(layer_businessobject.business_object_id, '|') AS bo_id_list, s_vmap.service.service_login, s_vmap.service.service_password, s_vmap.layer.is_bo_filtered FROM s_vmap.layer LEFT JOIN s_vmap.layer_businessobject ON s_vmap.layer.layer_id = s_vmap.layer_businessobject.layer_id LEFT JOIN s_vmap.business_object ON s_vmap.layer_businessobject.business_object_id = s_vmap.business_object.business_object_id LEFT JOIN s_vmap.layertheme ON s_vmap.layer.layertheme_id = s_vmap.layertheme.layertheme_id INNER JOIN s_vmap.service ON s_vmap.layer.service_id = s_vmap.service.service_id GROUP BY s_vmap.layer.layer_id, s_vmap.layertheme.name, s_vmap.service.name, s_vmap.service.service_type_id, s_vmap.service.url, s_vmap.service."key", s_vmap.service.service_type_version, s_vmap.service.thumbnail, s_vmap.service.lang, s_vmap.service.imagery, s_vmap.service.service_type_type, s_vmap.service.service_options, s_vmap.service.service_login, s_vmap.service.service_password;
ALTER TABLE s_vmap.v_layer OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_layer TO vmap_user;
-- Armand 02/02/2018 Ajouter un lien vers la doc ReadTheDocs
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Documentation ReadTheDocs', 'vmap_115');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_115', 'fr', 'Documentation');
INSERT INTO s_vitis.vm_translation (translation_id, lang, translation) VALUES ('vmap_115', 'en', 'Documentation');
INSERT INTO s_vitis.vm_section(label_id, name, index, event, tab_id, template, ressource_id, module) VALUES ('vmap_115','administration',1,'Javascript:reloadSectionForm',(select tab_id from s_vitis.vm_tab where mode_id='help'),'modules/vmap/template/vitis/documentationHelpTpl.html','','vmap');
-- Armand 07/02/2018 suppression des contraines d'unicité sur les nom des services, calques, carte, themes des calques, thermes des cartes
DROP INDEX s_vmap.layer_name;
CREATE INDEX layer_name ON s_vmap.layer (name);
DROP INDEX s_vmap.service_name;
CREATE INDEX service_name ON s_vmap.service (name);
DROP INDEX s_vmap.map_name;
CREATE INDEX map_name ON s_vmap.map (name);
DROP INDEX s_vmap.maptheme_name;
CREATE INDEX maptheme_name ON s_vmap.maptheme (name);
DROP INDEX s_vmap.theme_name;
CREATE INDEX theme_name ON s_vmap.layertheme (name);
]]>
</code>
</query>
<query>
<type>update</type>
<version>2018.01.01</version>
<code>
<![CDATA[
]]>
</code>
</query>
<query>
<type>update</type>
<version>2018.02.00</version>
<code>
<![CDATA[
-- Armand le 27/03/2018 à 10:00: ajout du bouton emporter vex et renommage du bouton importer
UPDATE s_vitis.vm_string SET string='Bouton importer VEX' WHERE string_id='vmap_113';
UPDATE s_vitis.vm_translation SET translation='Importer VEX' WHERE translation_id='vmap_113' AND lang='fr';
UPDATE s_vitis.vm_translation SET translation='Import VEX' WHERE translation_id='vmap_113' AND lang='en';
INSERT INTO s_vitis.vm_string (string, string_id) VALUES ('Bouton exporter VEX', 'vmap_116');
INSERT INTO s_vitis.vm_table_button (button_class, event, label_id, ressource_id, tab_id) VALUES ('add_smallFlexigrid', 'exportBusinessObject', 'vmap_116', 'vmap/businessobjects', (SELECT tab_id FROM s_vitis.vm_tab WHERE name = 'vmap_business_object'));
-- Armand le 27/03/2018 à 11:40: renommage des fonctions "importBusinessObject" "exportBusinessObject" en "importVex" "exportVex"
UPDATE s_vitis.vm_table_button SET event='importVex' where event='importBusinessObject';
UPDATE s_vitis.vm_table_button SET event='exportVex' where event='exportBusinessObject';
-- Armand 04/04/2018 16:25: ajout de la colonne vm4ms_layer dans s_vmap.v_layer
CREATE OR REPLACE VIEW s_vmap.v_layer AS SELECT s_vmap.layer.layer_id, s_vmap.layer.layertheme_id, s_vmap.layer.service_id, s_vmap.layer.name, s_vmap.layer.description, s_vmap.layer.layer_list, s_vmap.layer.crs_list, s_vmap.layer.is_dynamic, s_vmap.layer.is_filtered, s_vmap.layer.matrix_set, s_vmap.layer.layer_style, s_vmap.layer.layer_format, s_vmap.layer.layer_options, s_vmap.layertheme.name AS theme_name, s_vmap.service.name AS service_name, s_vmap.service.service_type_id, s_vmap.service.url AS service_url, s_vmap.service."key" AS service_key, s_vmap.service.service_type_version, s_vmap.service.thumbnail AS service_thumbnail, s_vmap.service.lang AS service_lang, s_vmap.service.imagery AS service_imagery, s_vmap.service.service_type_type, s_vmap.service.service_options, string_agg(layer_businessobject.business_object_id, '|') AS bo_id_list, s_vmap.service.service_login, s_vmap.service.service_password, s_vmap.layer.is_bo_filtered, s_vmap.service.service_vm4ms FROM s_vmap.layer LEFT JOIN s_vmap.layer_businessobject ON s_vmap.layer.layer_id = s_vmap.layer_businessobject.layer_id LEFT JOIN s_vmap.business_object ON s_vmap.layer_businessobject.business_object_id = s_vmap.business_object.business_object_id LEFT JOIN s_vmap.layertheme ON s_vmap.layer.layertheme_id = s_vmap.layertheme.layertheme_id INNER JOIN s_vmap.service ON s_vmap.layer.service_id = s_vmap.service.service_id GROUP BY s_vmap.layer.layer_id, s_vmap.layertheme.name, s_vmap.service.name, s_vmap.service.service_type_id, s_vmap.service.url, s_vmap.service."key", s_vmap.service.service_type_version, s_vmap.service.thumbnail, s_vmap.service.lang, s_vmap.service.imagery, s_vmap.service.service_type_type, s_vmap.service.service_options, s_vmap.service.service_login, s_vmap.service.service_password, s_vmap.service.service_vm4ms;
ALTER TABLE s_vmap.v_layer OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_layer TO vmap_user;
-- Armand 23/04/2018 15:36 ajout de la fonction UpdateAndTransformGeometrySRID
CREATE OR REPLACE FUNCTION public.updateandtransformgeometrysrid(catalogn_name CHARACTER varying, SCHEMA_NAME CHARACTER varying, TABLE_NAME CHARACTER varying, COLUMN_NAME CHARACTER varying, new_srid_in integer) RETURNS text AS $BODY$ DECLARE myrec RECORD; okay boolean; cname varchar; real_schema name; unknown_srid integer; new_srid integer := new_srid_in; BEGIN IF ( schema_name != '' ) THEN okay = false; FOR myrec IN SELECT nspname FROM pg_namespace WHERE text(nspname) = schema_name LOOP okay := true; END LOOP; IF ( okay <> true ) THEN RAISE EXCEPTION 'Invalid schema name'; ELSE real_schema = schema_name; END IF; ELSE SELECT INTO real_schema current_schema()::text; END IF; okay = false; FOR myrec IN SELECT type, coord_dimension FROM geometry_columns WHERE f_table_schema = text(real_schema) and f_table_name = table_name and f_geometry_column = column_name LOOP okay := true; END LOOP; IF (NOT okay) THEN RAISE EXCEPTION 'column not found in geometry_columns table'; RETURN false; END IF; IF ( new_srid > 0 ) THEN IF ( SELECT count(*) = 0 from spatial_ref_sys where srid = new_srid ) THEN RAISE EXCEPTION 'invalid SRID: % not found in spatial_ref_sys', new_srid; RETURN false; END IF; ELSE unknown_srid := ST_SRID('POINT EMPTY'::geometry); IF ( new_srid != unknown_srid ) THEN new_srid := unknown_srid; RAISE NOTICE 'SRID value % converted to the officially unknown SRID value %', new_srid_in, new_srid; END IF; END IF; IF postgis_constraint_srid(real_schema, table_name, column_name) IS NOT NULL THEN cname = 'enforce_srid_' || column_name; EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' DROP constraint ' || quote_ident(cname); EXECUTE 'UPDATE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' SET ' || quote_ident(column_name) || ' = ST_Transform(' || quote_ident(column_name) || ', ' || new_srid::text || ')'; EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ADD constraint ' || quote_ident(cname) || ' CHECK (st_srid(' || quote_ident(column_name) || ') = ' || new_srid::text || ')'; ELSE EXECUTE 'ALTER TABLE ' || quote_ident(real_schema) || '.' || quote_ident(table_name) || ' ALTER COLUMN ' || quote_ident(column_name) || ' TYPE geometry(' || postgis_type_name(myrec.type, myrec.coord_dimension, true) || ', ' || new_srid::text || ') USING ST_Transform(' || quote_ident(column_name) || ',' || new_srid::text || ');' ; END IF; RETURN real_schema || '.' || table_name || '.' || column_name ||' SRID changed to ' || new_srid::text; END; $BODY$ LANGUAGE PLPGSQL VOLATILE STRICT COST 100;
ALTER FUNCTION public.updateandtransformgeometrysrid(CHARACTER varying, CHARACTER varying, CHARACTER varying, CHARACTER varying, integer) OWNER TO u_vitis;
COMMENT ON FUNCTION public.updateandtransformgeometrysrid(CHARACTER varying, CHARACTER varying, CHARACTER varying, CHARACTER varying, integer) IS 'args: catalog_name, schema_name, table_name, column_name, srid - Updates the SRID of all features in a geometry column, geometry_columns metadata and srid. If it was enforced with constraints, the constraints will be updated with new srid constraint. If the old was enforced by type definition, the type definition will be changed.';
CREATE OR REPLACE FUNCTION public.updateandtransformgeometrysrid(CHARACTER varying, CHARACTER varying, CHARACTER varying, integer) RETURNS text AS $BODY$ DECLARE ret text; BEGIN SELECT updateandtransformgeometrysrid('',$1,$2,$3,$4) into ret; RETURN ret; END; $BODY$ LANGUAGE PLPGSQL VOLATILE STRICT COST 100;
ALTER FUNCTION public.updateandtransformgeometrysrid(CHARACTER varying, CHARACTER varying, CHARACTER varying, integer) OWNER TO u_vitis;
COMMENT ON FUNCTION public.updateandtransformgeometrysrid(CHARACTER varying, CHARACTER varying, CHARACTER varying, integer) IS 'args: schema_name, table_name, column_name, srid - Updates the SRID of all features in a geometry column, geometry_columns metadata and srid. If it was enforced with constraints, the constraints will be updated with new srid constraint. If the old was enforced by type definition, the type definition will be changed.';
-- Armand 26/04/2018 14:27 Ajout des colonnes min_edition_scale et max_edition_scale
ALTER TABLE s_vmap.business_object ADD COLUMN max_edition_scale numeric(255);
ALTER TABLE s_vmap.business_object ADD COLUMN min_edition_scale varchar(255);
]]>
</code>
</query>
<query>
<type>update</type>
<version>2018.02.00</version>
<code>
<![CDATA[
-- Armand le 09/07/2018 : ajout des colonnes permettant le GetFeatureInfo
ALTER TABLE s_vmap.layer ADD COLUMN is_queryable_getfeatureinfo boolean;
CREATE OR REPLACE VIEW s_vmap.v_layer AS SELECT s_vmap.layer.layer_id, s_vmap.layer.layertheme_id, s_vmap.layer.service_id, s_vmap.layer.name, s_vmap.layer.description, s_vmap.layer.layer_list, s_vmap.layer.crs_list, s_vmap.layer.is_dynamic, s_vmap.layer.is_filtered, s_vmap.layer.matrix_set, s_vmap.layer.layer_style, s_vmap.layer.layer_format, s_vmap.layer.layer_options, s_vmap.layertheme.name AS theme_name, s_vmap.service.name AS service_name, s_vmap.service.service_type_id, s_vmap.service.url AS service_url, s_vmap.service."key" AS service_key, s_vmap.service.service_type_version, s_vmap.service.thumbnail AS service_thumbnail, s_vmap.service.lang AS service_lang, s_vmap.service.imagery AS service_imagery, s_vmap.service.service_type_type, s_vmap.service.service_options, string_agg(layer_businessobject.business_object_id, '|') AS bo_id_list, s_vmap.service.service_login, s_vmap.service.service_password, s_vmap.layer.is_bo_filtered, s_vmap.service.service_vm4ms, s_vmap.layer.is_queryable_getfeatureinfo FROM s_vmap.layer LEFT JOIN s_vmap.layer_businessobject ON s_vmap.layer.layer_id = s_vmap.layer_businessobject.layer_id LEFT JOIN s_vmap.business_object ON s_vmap.layer_businessobject.business_object_id = s_vmap.business_object.business_object_id LEFT JOIN s_vmap.layertheme ON s_vmap.layer.layertheme_id = s_vmap.layertheme.layertheme_id INNER JOIN s_vmap.service ON s_vmap.layer.service_id = s_vmap.service.service_id GROUP BY s_vmap.layer.layer_id, s_vmap.layertheme.name, s_vmap.service.name, s_vmap.service.service_type_id, s_vmap.service.url, s_vmap.service."key", s_vmap.service.service_type_version, s_vmap.service.thumbnail, s_vmap.service.lang, s_vmap.service.imagery, s_vmap.service.service_type_type, s_vmap.service.service_options, s_vmap.service.service_login, s_vmap.service.service_password, s_vmap.service.service_vm4ms;
ALTER TABLE s_vmap.v_layer OWNER TO u_vitis;
GRANT ALL ON TABLE s_vmap.v_layer TO vmap_admin;
GRANT SELECT ON TABLE s_vmap.v_layer TO vmap_user;
]]>
</code>
</query>
<query>
<type>update</type>
<version>2018.02.02</version>
<code>
<![CDATA[
]]>
</code>
</query>
</queriesCollection>
<query>
<type>update</type>
<version>2018.03.00</version>
<code>
<![CDATA[
-- Armand le 07/09/2018 : Des formats A2 A1 A0 dans les impressions
INSERT INTO s_vmap.rt_format(rt_format_id) SELECT 'A2' WHERE NOT EXISTS (SELECT rt_format_id FROM s_vmap.rt_format WHERE rt_format_id = 'A2');
INSERT INTO s_vmap.rt_format(rt_format_id) SELECT 'A1' WHERE NOT EXISTS (SELECT rt_format_id FROM s_vmap.rt_format WHERE rt_format_id = 'A1');
INSERT INTO s_vmap.rt_format(rt_format_id) SELECT 'A0' WHERE NOT EXISTS (SELECT rt_format_id FROM s_vmap.rt_format WHERE rt_format_id = 'A0');