Mercurial > gemma
changeset 212:229f385448fa
Make map extent mandatory
The extent of the countries responsibility area seems a
reasonable default.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Mon, 23 Jul 2018 17:41:31 +0200 |
parents | e7826710d9c4 |
children | 2fad2931a5a6 |
files | schema/demo-data/users.sql schema/gemma.sql schema/manage_users.sql |
diffstat | 3 files changed, 12 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/schema/demo-data/users.sql Mon Jul 23 16:45:27 2018 +0200 +++ b/schema/demo-data/users.sql Mon Jul 23 17:41:31 2018 +0200 @@ -5,12 +5,12 @@ -- responsibility areas from responsibility_areas.sql are imported -- Fill in Profiles -COPY users.user_profiles (username, country, email_adress) FROM stdin; -sophie AT sophie@example.com -lucian RO lucian@example.com -oana RO oana@example.com -penka BG penka@example.com -vanja BG vanja@example.com +COPY users.user_profiles (username, country, email_adress, map_extent) FROM stdin; +sophie AT sophie@example.com BOX(9.52115482500011 46.3786430870001,17.1483378500001 49.0097744750001) +lucian RO lucian@example.com BOX(20.2428259690001 43.6500499480001,29.6995548840001 48.2748322560001) +oana RO oana@example.com BOX(20.2428259690001 43.6500499480001,29.6995548840001 48.2748322560001) +penka BG penka@example.com BOX(22.3450232340001 41.238104147,28.6035262380001 44.228434539) +vanja BG vanja@example.com BOX(22.3450232340001 41.238104147,28.6035262380001 44.228434539) \. COMMIT;
--- a/schema/gemma.sql Mon Jul 23 16:45:27 2018 +0200 +++ b/schema/gemma.sql Mon Jul 23 17:41:31 2018 +0200 @@ -136,7 +136,7 @@ CREATE TABLE user_profiles ( username varchar PRIMARY KEY, country char(2) NOT NULL REFERENCES responsibility_areas, - map_extent box2d, + map_extent box2d NOT NULL, email_adress varchar NOT NULL UNIQUE )
--- a/schema/manage_users.sql Mon Jul 23 16:45:27 2018 +0200 +++ b/schema/manage_users.sql Mon Jul 23 17:41:31 2018 +0200 @@ -14,6 +14,11 @@ RETURNS void AS $$ BEGIN + IF map_extent IS NULL + THEN + map_extent = ST_Extent(area) FROM users.responsibility_areas ra + WHERE ra.country = create_user.country; + END IF; INSERT INTO users.user_profiles VALUES ( username, country, map_extent, email_adress); EXECUTE format(