| 1 | DROP TRIGGER IF EXISTS trg_auto_close_ticket ON public.crm_tickets;
|
|---|
| 2 | CREATE OR REPLACE FUNCTION public.trg_fn_manage_ticket_closed_at()
|
|---|
| 3 | RETURNS trigger
|
|---|
| 4 | LANGUAGE plpgsql
|
|---|
| 5 | AS $$
|
|---|
| 6 | BEGIN
|
|---|
| 7 | IF NEW.status = 'closed' THEN
|
|---|
| 8 | NEW.closed_at := COALESCE(NEW.closed_at, CURRENT_TIMESTAMP);
|
|---|
| 9 | ELSE
|
|---|
| 10 | NEW.closed_at := NULL;
|
|---|
| 11 | END IF;
|
|---|
| 12 | RETURN NEW;
|
|---|
| 13 | END;
|
|---|
| 14 | $$;
|
|---|
| 15 |
|
|---|
| 16 | CREATE TRIGGER trg_auto_close_ticket
|
|---|
| 17 | BEFORE INSERT OR UPDATE ON public.crm_tickets
|
|---|
| 18 | FOR EACH ROW
|
|---|
| 19 | EXECUTE FUNCTION public.trg_fn_manage_ticket_closed_at();
|
|---|