DatabaseProgramming: AutoClose ticket trigger.sql

File AutoClose ticket trigger.sql, 741 bytes (added by 231094, 3 weeks ago)
Line 
1CREATE OR REPLACE FUNCTION trg_fn_auto_close_ticket()
2RETURNS TRIGGER
3LANGUAGE plpgsql
4AS $$
5BEGIN
6--zatvoranje
7 IF NEW.status IN ('resolved', 'closed')
8 AND OLD.status NOT IN ('resolved', 'closed')
9 AND NEW.closed_at IS NULL
10 THEN
11 NEW.closed_at := CURRENT_TIMESTAMP;
12 END IF;
13--ako povtorno se otvori
14 IF OLD.status IN ('resolved', 'closed')
15 AND NEW.status IN ('open', 'in_progress', 'escalated')
16 THEN
17 NEW.closed_at := NULL;
18 END IF;
19
20 RETURN NEW;
21END;
22$$;
23
24
25DROP TRIGGER IF EXISTS trg_auto_close_ticket ON crm_tickets;
26
27CREATE TRIGGER trg_auto_close_ticket
28BEFORE UPDATE OF status ON crm_tickets
29FOR EACH ROW
30EXECUTE FUNCTION trg_fn_auto_close_ticket();