mirror of
https://github.com/thiloho/archtika.git
synced 2025-11-22 02:41:35 +01:00
Fix bugs for triggers executing because of table ON keywords
This commit is contained in:
@@ -56,7 +56,7 @@ BEGIN
|
||||
AND user_has_website_access.collaborator_permission_level < 30))) INTO has_access;
|
||||
IF NOT has_access AND user_has_website_access.raise_error THEN
|
||||
RAISE insufficient_privilege
|
||||
USING message = 'You do not have the required permissions for this action.';
|
||||
USING message = 'Insufficient permissions';
|
||||
END IF;
|
||||
END;
|
||||
$$
|
||||
|
||||
@@ -27,15 +27,30 @@ BEGIN
|
||||
INSERT INTO internal.change_log (website_id, table_name, operation, new_value)
|
||||
VALUES (_website_id, TG_TABLE_NAME, TG_OP, HSTORE (NEW));
|
||||
RETURN NEW;
|
||||
ELSIF TG_OP = 'UPDATE' THEN
|
||||
INSERT INTO internal.change_log (website_id, table_name, operation, old_value, new_value)
|
||||
VALUES (_website_id, TG_TABLE_NAME, TG_OP, HSTORE (OLD) - HSTORE (NEW), HSTORE (NEW) - HSTORE (OLD));
|
||||
ELSIF TG_OP = 'UPDATE'
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
id
|
||||
FROM
|
||||
internal.website
|
||||
WHERE
|
||||
id = _website_id) THEN
|
||||
INSERT INTO internal.change_log (website_id, table_name, operation, old_value, new_value)
|
||||
VALUES (_website_id, TG_TABLE_NAME, TG_OP, HSTORE (OLD) - HSTORE (NEW), HSTORE (NEW) - HSTORE (OLD));
|
||||
RETURN NEW;
|
||||
ELSIF TG_OP = 'DELETE' THEN
|
||||
INSERT INTO internal.change_log (website_id, table_name, operation, old_value)
|
||||
VALUES (_website_id, TG_TABLE_NAME, TG_OP, HSTORE (OLD));
|
||||
ELSIF TG_OP = 'DELETE'
|
||||
AND EXISTS (
|
||||
SELECT
|
||||
id
|
||||
FROM
|
||||
internal.website
|
||||
WHERE
|
||||
id = _website_id) THEN
|
||||
INSERT INTO internal.change_log (website_id, table_name, operation, old_value)
|
||||
VALUES (_website_id, TG_TABLE_NAME, TG_OP, HSTORE (OLD));
|
||||
RETURN NEW;
|
||||
END IF;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$
|
||||
LANGUAGE plpgsql
|
||||
|
||||
Reference in New Issue
Block a user