comparison schema/manage_users.sql @ 2912:93fa55bce126

Add utility function to get users area of responsibility
author Tom Gottfried <tom@intevation.de>
date Tue, 02 Apr 2019 19:25:17 +0200
parents 5bb1e3c1f364
children 69292eb68984
comparison
equal deleted inserted replaced
2911:a75c546ef498 2912:93fa55bce126
2 -- without warranty, see README.md and license for details. 2 -- without warranty, see README.md and license for details.
3 3
4 -- SPDX-License-Identifier: AGPL-3.0-or-later 4 -- SPDX-License-Identifier: AGPL-3.0-or-later
5 -- License-Filename: LICENSES/AGPL-3.0.txt 5 -- License-Filename: LICENSES/AGPL-3.0.txt
6 6
7 -- Copyright (C) 2018 by via donau 7 -- Copyright (C) 2018, 2019 by via donau
8 -- – Österreichische Wasserstraßen-Gesellschaft mbH 8 -- – Österreichische Wasserstraßen-Gesellschaft mbH
9 -- Software engineering by Intevation GmbH 9 -- Software engineering by Intevation GmbH
10 10
11 -- Author(s): 11 -- Author(s):
12 -- * Tom Gottfried <tom@intevation.de> 12 -- * Tom Gottfried <tom@intevation.de>
66 $$ 66 $$
67 LANGUAGE SQL 67 LANGUAGE SQL
68 STABLE PARALLEL SAFE; 68 STABLE PARALLEL SAFE;
69 69
70 70
71 CREATE OR REPLACE FUNCTION users.current_user_area_utm()
72 RETURNS geometry
73 AS $$
74 DECLARE utm_area geometry;
75 BEGIN
76 SELECT ST_Transform(area::geometry, best_utm(area))
77 INTO STRICT utm_area
78 FROM users.responsibility_areas
79 WHERE country = users.current_user_country();
80 RETURN utm_area;
81 END;
82 $$
83 LANGUAGE plpgsql
84 STABLE PARALLEL SAFE;
85
86
71 CREATE OR REPLACE FUNCTION internal.create_user() RETURNS trigger 87 CREATE OR REPLACE FUNCTION internal.create_user() RETURNS trigger
72 AS $$ 88 AS $$
73 BEGIN 89 BEGIN
74 IF NEW.map_extent IS NULL 90 IF NEW.map_extent IS NULL
75 THEN 91 THEN