Mercurial > gemma
diff 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 |
line wrap: on
line diff
--- a/schema/manage_users.sql Tue Apr 02 19:24:08 2019 +0200 +++ b/schema/manage_users.sql Tue Apr 02 19:25:17 2019 +0200 @@ -4,7 +4,7 @@ -- SPDX-License-Identifier: AGPL-3.0-or-later -- License-Filename: LICENSES/AGPL-3.0.txt --- Copyright (C) 2018 by via donau +-- Copyright (C) 2018, 2019 by via donau -- – Österreichische Wasserstraßen-Gesellschaft mbH -- Software engineering by Intevation GmbH @@ -68,6 +68,22 @@ STABLE PARALLEL SAFE; +CREATE OR REPLACE FUNCTION users.current_user_area_utm() + RETURNS geometry + AS $$ + DECLARE utm_area geometry; + BEGIN + SELECT ST_Transform(area::geometry, best_utm(area)) + INTO STRICT utm_area + FROM users.responsibility_areas + WHERE country = users.current_user_country(); + RETURN utm_area; + END; + $$ + LANGUAGE plpgsql + STABLE PARALLEL SAFE; + + CREATE OR REPLACE FUNCTION internal.create_user() RETURNS trigger AS $$ BEGIN