summaryrefslogtreecommitdiff
path: root/sql/modules/Drafts.sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql/modules/Drafts.sql')
-rw-r--r--sql/modules/Drafts.sql9
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/modules/Drafts.sql b/sql/modules/Drafts.sql
index e5a7b940..850fae4e 100644
--- a/sql/modules/Drafts.sql
+++ b/sql/modules/Drafts.sql
@@ -91,7 +91,9 @@ $$
declare
t_table text;
begin
- SELECT table_name into t_table FROM transactions where id = in_id;
+ DELETE FROM acc_trans WHERE trans_id = in_id;
+ SELECT lower(table_name) into t_table FROM transactions where id = in_id;
+
IF t_table = 'ar' THEN
DELETE FROM ar WHERE id = in_id AND approved IS FALSE;
ELSIF t_table = 'ap' THEN
@@ -101,7 +103,10 @@ begin
ELSE
raise exception 'Invalid table % in draft_delete for transaction %', t_table, in_id;
END IF;
- RETURN FOUND;
+ IF NOT FOUND THEN
+ RAISE EXCEPTION 'Invalid transaction id %', in_id;
+ END IF;
+ RETURN TRUE;
END;
$$ LANGUAGE PLPGSQL SECURITY DEFINER;