-- -- workflow_case__end_task_action/3 -- create or replace function workflow_case__end_task_action( integer, character varying, integer ) returns int4 as $$ declare end_task_action__journal_id alias for $1; end_task_action__action alias for $2; end_task_action__task_id alias for $3; v_user_id integer; begin select creation_user into v_user_id from acs_objects where object_id = end_task_action__journal_id; /* Update the workflow state */ if end_task_action__action = 'start' then PERFORM workflow_case__start_task(end_task_action__task_id, v_user_id, end_task_action__journal_id ); else if end_task_action__action = 'finish' then PERFORM workflow_case__finish_task(end_task_action__task_id, end_task_action__journal_id ); else if end_task_action__action = 'cancel' then PERFORM workflow_case__cancel_task(end_task_action__task_id, end_task_action__journal_id ); else if end_task_action__action != 'comment' then raise EXCEPTION '-20000: Unknown action "%"', end_task_action__action; end if; end if; end if; end if; return 0; end;$$ language plpgsql;