[rt-users] RT4 Custom status transitions

Lieven Bridts Lieven.Bridts at ocmwpuurs.be
Mon Feb 27 09:17:10 EST 2012


Hello you all,

I did the upgrade to RT4 and configured an extra status "wait-ok". All seems well, except one thing.
When a ticket has the status "wait-ok" we can't change its status anymore. Only the option "wait-ok" is visible in the dropdown
You can find the LifeCycle as I defined it in RT_SiteConfig.pm hereby.
Did I make some kind of typo? Something else? Thanks for looking in to it.

# Lifecycles
Set(%Lifecycles,
    default => {
        initial         => [ 'new' ],
        active          => [ 'open', 'wait-ok','stalled' ],
        inactive        => [ 'resolved', 'rejected', 'deleted' ],

        defaults => {
            on_create => 'new',
            on_merge  => 'resolved',
            approved  => 'open',
            denied    => 'rejected',
        },

        transitions => {
            ''       => [qw(new open resolved wait-ok)],

            # from   => [ to list ],
            new      => [qw(open stalled resolved rejected deleted wait-ok)],
            open     => [qw(new stalled resolved rejected deleted wait-ok)],
            stalled  => [qw(open rejected resolved deleted wait-ok)],
            resolved => [qw(open stalled rejected deleted wait-ok)],
            rejected => [qw(open stalled resolved deleted wait-ok)],
            deleted  => [qw(open stalled rejected resolved wait-ok)],
            wait-ok  => [qw(open stalled rejected deleted resolved)],
        },
        rights => {
            '* -> deleted'  => 'DeleteTicket',
            '* -> *'        => 'ModifyTicket',
        },
        actions => [
            'new -> open'      => {
                label  => 'Open It', # loc
                update => 'Respond',
            },
            'new -> resolved'  => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'new -> rejected'  => {
                label  => 'Reject', # loc
                update => 'Respond',
            },
            'new -> deleted'   => {
                label  => 'Delete', # loc
            },
            'new -> wait-ok'    => {
                label  => 'Wait for OK', # loc
            },

            'open -> stalled'  => {
                label  => 'Stall', # loc
                update => 'Comment',
            },
            'open -> resolved' => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'open -> rejected' => {
                label  => 'Reject', # loc
                update => 'Respond',
            },
            'open -> wait-ok'    => {
                label  => 'Wait for OK', # loc
            },

            'stalled -> open'  => {
                label  => 'Open It', # loc
            },
            'stalled -> wait-ok'    => {
                label  => 'Wait for OK', # loc
            },
            'resolved -> open' => {
               label  => 'Re-open', # loc
                update => 'Comment',
            },
            'resolved -> wait-ok'    => {
                label  => 'Wait for OK', # loc
            },
            'rejected -> open' => {
                label  => 'Re-open', # loc
                update => 'Comment',
            },
            'rejected -> wait-ok'    => {
                label  => 'Wait for OK', # loc
            },
            'deleted -> open'  => {
                label  => 'Undelete', # loc
            },
            'deleted -> wait-ok'    => {
                label  => 'Wait for OK', # loc
            },
            'wait-ok -> open' => {
                label  => 'Re-open', # loc
            },
            'wait-ok -> resolved' => {
                label  => 'Resolve', # loc
            },
            'wait-ok -> deleted' => {
                label  => 'Delete', # loc
            },
            'wait-ok -> rejected' => {
                label  => 'Reject', # loc
            },
        ],
    },
# don't change lifecyle of the approvals, they are not capable to deal with
# custom statuses
    approvals => {
        initial         => [ 'new' ],
        active          => [ 'open', 'stalled' ],
        inactive        => [ 'resolved', 'rejected', 'deleted' ],

        defaults => {
            on_create => 'new',
            on_merge => 'resolved',
        },

        transitions => {
            ''       => [qw(new open resolved)],

            # from   => [ to list ],
            new      => [qw(open stalled resolved rejected deleted)],
            open     => [qw(new stalled resolved rejected deleted)],
            stalled  => [qw(new open rejected resolved deleted)],
            resolved => [qw(new open stalled rejected deleted)],
            rejected => [qw(new open stalled resolved deleted)],
            deleted  => [qw(new open stalled rejected resolved)],
        },
        rights => {
            '* -> deleted'  => 'DeleteTicket',
            '* -> rejected' => 'ModifyTicket',
            '* -> *'        => 'ModifyTicket',
        },
        actions => [
            'new -> open'      => {
                label  => 'Open It', # loc
                update => 'Respond',
            },
            'new -> resolved'  => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'new -> rejected'  => {
                label  => 'Reject', # loc
                update => 'Respond',
            },
            'new -> deleted'   => {
                label  => 'Delete', # loc
            },

            'open -> stalled'  => {
                label  => 'Stall', # loc
                update => 'Comment',
            },
            'open -> resolved' => {
                label  => 'Resolve', # loc
                update => 'Comment',
            },
            'open -> rejected' => {
                label  => 'Reject', # loc
                update => 'Respond',
            },

            'stalled -> open'  => {
                label  => 'Open It', # loc
            },
            'resolved -> open' => {
                label  => 'Re-open', # loc
                update => 'Comment',
            },
            'rejected -> open' => {
                label  => 'Re-open', # loc
                update => 'Comment',
            },
            'deleted -> open'  => {
                label  => 'Undelete', # loc
            },
        ],
    },
);


Thx,
Lieven Bridts
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20120227/76e127e2/attachment.htm>


More information about the rt-users mailing list