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