]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/src/sql/Pg/upgrade/ZZZZ.schema.use-ws-lib-for-messages.sql
LP#1442254: adjust how sending library set for messages created from notes
[working/Evergreen.git] / Open-ILS / src / sql / Pg / upgrade / ZZZZ.schema.use-ws-lib-for-messages.sql
1 BEGIN;
2
3 CREATE OR REPLACE FUNCTION actor.convert_usr_note_to_message () RETURNS TRIGGER AS $$
4 DECLARE
5         sending_ou INTEGER;
6 BEGIN
7         IF NEW.pub THEN
8                 IF TG_OP = 'UPDATE' THEN
9                         IF OLD.pub = TRUE THEN
10                                 RETURN NEW;
11                         END IF;
12                 END IF;
13
14                 SELECT INTO sending_ou aw.owning_lib
15                 FROM auditor.get_audit_info() agai
16                 JOIN actor.workstation aw ON (aw.id = agai.eg_ws);
17                 IF sending_ou IS NULL THEN
18                         SELECT INTO sending_ou home_ou
19                         FROM actor.usr
20                         WHERE id = NEW.creator;
21                 END IF;
22                 INSERT INTO actor.usr_message (usr, title, message, sending_lib)
23                         VALUES (NEW.usr, NEW.title, NEW.value, sending_ou);
24         END IF;
25
26         RETURN NEW;
27 END;
28 $$ LANGUAGE PLPGSQL;
29
30 COMMIT;