[rt-users] Prevent status change?

Yves-Alexis Perez corsac at corsac.net
Thu Jan 29 12:29:43 EST 2009


Hi,

I would like to ask if it sounds possible to implement some kind of
basic workflows in RT (3.8), especially preventing some status changes.

We are currently designing a hotline/helpdesk, and we need some people
not to be able to change the status of some tickets. Because the
workflow we want to implement say it's not possible to go from open to
resolved directly, or stuff like that.

Basically, I'd like to be able to configure RT and tell it which
transitions are authorized and which ones aren't, but it doesn't seem
possible atm.

Scrips doesn't seem ok either, because they can be applied on a running
transaction, but can't prevent a transaction to occur. So I could see
that a new transaction changes the status, but the only thing I could do
would be to change it back, with another transcaction.

I'm looking at RT code now, and it seems to see if it would be possible
(using Callbacks for example), to prevent some transitions (for example
by looking at the “next” status and the “current” status, and only
allowing some combination.

But it seems that there is no common callback. Modifying ticket status
seems to be possible in Create.html (obviously), with a BeforeCreate
callback which seems to be able to set a $skip_create preventing the
creation, in Update.html with no usable callback, and in
Modify/ModifyAll.html, without usable callback either.

Is there a (clean) way to do that and implement some basic workflow in
RT 3.8? I know it should be possible to do that “the dirty way” as, for
example, there are CustomField with strong requirements, and if the
edition doesn't pass the CustomField validation, it'll be rejected.

It'd be even better if there wasn't any way for an user to do unwanted
things “a priori”, but if I can only do that after he validates, but
before the transaction occurs, it'd be ok too I guess.

Cheers and many thanks for any help,
-- 
Yves-Alexis




More information about the rt-users mailing list