miha

                Never    
JSON
       
            transitions => {
                ''          => [qw(pending open closed)],
                pending     => [qw(open  open resolved closed)],
                processing  => [qw(open panding resolved closed)],
                delivery    => [qw(pending open resolved closed)],
                delivered   => [qw(pending resolved closed)],
                returned    => [qw(pending resolved closed)],
                deleted     => [qw(pending open pending resolved closed)],
            },

            # Rights for different actions
            rights => {

                # These rights are in the default lifecycle
                '* -> closed'  => 'DeleteTicket',
                '* -> *'        => 'ModifyTicket',

                # Maybe we want to create rights to keep QA rigid
            },

            # Actions for the web UI
            actions => [
                'new -> pending' => {
                    label  => 'Open For Processing',
                    update => 'Comment',
                },
                'pending -> open' => {
                    label  => 'Open',
                    update => 'Respond',
                },
                'pending -> resolved' => {
                    label  => 'Resolved',
                },
                'open -> closed' => {
                    label  => 'Closed',
                    update => 'Respond',
                },
                'Closed -> pending' => {
                    label  => 'Rewoked',
                    update => 'Respond',
                },
            ],
        },

        # Status mapping different different lifecycles
        __maps__ => {
            'default -> orders' => {
                'new'      => 'new',
                'open'     => 'open',
                'stalled'  => 'open',
                'resolved' => 'resolved',
                'rejected' => 'closed',
                'deleted'  => 'closed',
            },
            'orders -> default' => {
                'pending'    => 'new',
                'processing' => 'open',
                'resolved'  => 'resolved',
                'open'   => 'open', # closest matching we have in 'default'
                'closed'   => 'rejected',
                'closed'    => 'deleted',
            },
        },
    );

Raw Text