Using getting stuck when choosing new Custom Lifecycle

Hi All,

Im having a strange issue, I know I have missed a step, but cant see
where. I have added in three new statuses, (aw-int aw-ext aw-qa) each new
status meaning “awaiting-xxx” I have carried out the update to
RT_SiteConfig.pm as usual. I have restarted RT and I can see the new
statuses. If any user or admin selects a status, it saves and reports
correctly. The issue is that we can not then change the status from any of
the new statuses to an original status. i.e. from aw-ext TO stalled.

The new statuses have been added like this:

Set(%Lifecycles,
default => {
initial => [ ‘new’ ],
active => [ ‘open’, ‘aw-ext’, ‘aw-int’, ‘aw-qa’, ‘stalled’
],

← AND HERE →

from => [ to list ],

        new      => [qw(open aw-ext aw-int aw-qa stalled resolved

rejected deleted)],
open => [qw(new aw-ext aw-int aw-qa stalled resolved
rejected deleted)],
stalled => [qw(new open aw-ext aw-int aw-qa rejected resolved
deleted)],
resolved => [qw(new open aw-ext aw-int aw-qa stalled rejected
deleted)],
rejected => [qw(new open aw-ext aw-int aw-qa stalled resolved
deleted)],
deleted => [qw(new open aw-ext aw-int aw-qa stalled rejected
resolved)],
aw-ext => [qw(new open aw-int aw-qa stalled rejected
resolved)],
aw-int => [qw(new open aw-ext aw-qa stalled rejected
resolved)],
aw-qa => [qw(new open aw-ext aw-int stalled rejected
resolved)],

<-AND HERE->

actions => [
‘new → open’ => { label => ‘Open It’, update =>
‘Respond’ },
‘new → resolved’ => { label => ‘Resolve’, update =>
‘Comment’ },
‘new → rejected’ => { label => ‘Reject’, update =>
‘Respond’ },
‘new → deleted’ => { label => ‘Delete’
},

        'open -> stalled'  => { label => 'Stall',    update =>

‘Comment’ },
‘open → resolved’ => { label => ‘Resolve’, update =>
‘Comment’ },
‘open → rejected’ => { label => ‘Reject’, update =>
‘Respond’ },
‘open → aw-ext’ => { label => ‘AW-ext’, update => ‘Comment’ },
‘open → aw-int’ => { label => ‘AW-int’, update =>
‘Comment’ },
‘open → aw-qa’ => { label => ‘AW-qa’, update =>
‘Comment’ },

        'aw-ext -> stalled'  => { label => 'Stall',    update =>

‘Comment’ },
‘aw-ext → resolved’ => { label => ‘Resolve’, update =>
‘Comment’ },
‘aw-ext → rejected’ => { label => ‘Reject’, update =>
‘Respond’ },
‘aw-ext → aw-int’ => { label => ‘AW-int’, update =>
‘Comment’ },
‘aw-ext → aw-qa’ => { label => ‘AW-qa’, update =>
‘Comment’ },

        'aw-int -> stalled'  => { label => 'Stall',    update =>

‘Comment’ },
‘aw-int → resolved’ => { label => ‘Resolve’, update =>
‘Comment’ },
‘aw-int → rejected’ => { label => ‘Reject’, update =>
‘Respond’ },
‘aw-int → aw-ext’ => { label => ‘AW-ext’, update => ‘Comment’ },
‘aw-int → aw-qa’ => { label => ‘AW-qa’, update =>
‘Comment’ },

        'aw-qa -> stalled'  => { label => 'Stall',    update =>

‘Comment’ },
‘aw-qa → resolved’ => { label => ‘Resolve’, update =>
‘Comment’ },
‘aw-qa → rejected’ => { label => ‘Reject’, update =>
‘Respond’ },
‘aw-qa → aw-ext’ => { label => ‘AW-ext’, update => ‘Comment’ },
‘aw-qa → aw-int’ => { label => ‘AW-int’, update =>
‘Comment’ },

        'stalled -> open'  => { label => 'Open It'

},
‘resolved → open’ => { label => ‘Re-open’, update =>
‘Comment’ },
‘rejected → open’ => { label => ‘Re-open’, update =>
‘Comment’ },
‘deleted → open’ => { label => ‘Undelete’
},

I have NOT Changed the approvals lifecycle

Can anyone point me to what I have missed, I know its human error, I just
cant see where!

Thanks
Ben

T: 01253 394911

W: blackpoolsixth.ac.uk

Blackpool Sixth, Blackpool Old Road, Blackpool, FY3 7LR

This email and any attachments are confidential and are intended solely for
the use of the individual to whom it is addressed. If you are not the
intended recipient of this email and its attachments, you must take no
action based upon them, nor must you copy or show them to anyone. Please
contact the sender if you believe you have received this email in error.
Emails are not secure and cannot be guaranteed to be free of errors or
viruses. It is your responsibility to scan emails and attachments for
viruses before opening them.

Any views or opinions expressed are solely those of the author and do not
necessarily represent those of The Blackpool Sixth Form College.

In my own custom lifecycle, I have one hyphenated status (“in-use”). I don’t remember why (perhaps this is the reason), but I have it in quotation marks as a key in our transitions array:

transitions => {

“in-use” => [qw(allocated recycled stolen lost deleted surplussed destroyed-for-parts scattered-across-the-desert)],
}

Your hyphenated ones aren’t quoted in your array. Perhaps that’s the sticking point? Perl might be trying to do math with the “-” before assigning to it.

Kyle Dippery
Engineering Computing Services
219 RMB
859-257-1346From: rt-users rt-users-bounces@lists.bestpractical.com on behalf of Ben Pintilie ben.pintilie@blackpoolsixth.ac.uk
Sent: Tuesday, February 14, 2017 8:29 AM
To: rt-users@lists.bestpractical.com
Subject: [rt-users] Fwd: Using getting stuck when choosing new Custom Lifecycle

Hi All,

Im having a strange issue, I know I have missed a step, but cant see where. I have added in three new statuses, (aw-int aw-ext aw-qa) each new status meaning “awaiting-xxx” I have carried out the update to RT_SiteConfig.pm as usual. I have restarted RT and I can see the new statuses. If any user or admin selects a status, it saves and reports correctly. The issue is that we can not then change the status from any of the new statuses to an original status. i.e. from aw-ext TO stalled.

The new statuses have been added like this:

Set(%Lifecycles,
default => {
initial => [ ‘new’ ],
active => [ ‘open’, ‘aw-ext’, ‘aw-int’, ‘aw-qa’, ‘stalled’ ],

← AND HERE →

from => [ to list ],

        new      => [qw(open aw-ext aw-int aw-qa stalled resolved rejected deleted)],
        open     => [qw(new aw-ext aw-int aw-qa stalled resolved rejected deleted)],
        stalled  => [qw(new open aw-ext aw-int aw-qa rejected resolved deleted)],
        resolved => [qw(new open aw-ext aw-int aw-qa stalled rejected deleted)],
        rejected => [qw(new open aw-ext aw-int aw-qa stalled resolved deleted)],
        deleted  => [qw(new open aw-ext aw-int aw-qa stalled rejected resolved)],
        aw-ext   => [qw(new open aw-int aw-qa stalled rejected resolved)],
        aw-int   => [qw(new open aw-ext aw-qa stalled rejected resolved)],
        aw-qa    => [qw(new open aw-ext aw-int stalled rejected resolved)],

<-AND HERE->

actions => [
‘new → open’ => { label => ‘Open It’, update => ‘Respond’ },
‘new → resolved’ => { label => ‘Resolve’, update => ‘Comment’ },
‘new → rejected’ => { label => ‘Reject’, update => ‘Respond’ },
‘new → deleted’ => { label => ‘Delete’ },

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

‘open → aw-ext’ => { label => ‘AW-ext’, update => ‘Comment’ },
‘open → aw-int’ => { label => ‘AW-int’, update => ‘Comment’ },
‘open → aw-qa’ => { label => ‘AW-qa’, update => ‘Comment’ },

        'aw-ext -> stalled'  => { label => 'Stall',    update => 'Comment' },
        'aw-ext -> resolved' => { label => 'Resolve',  update => 'Comment' },
        'aw-ext -> rejected' => { label => 'Reject',   update => 'Respond' },
        'aw-ext -> aw-int'   => { label => 'AW-int',   update => 'Comment' },
        'aw-ext -> aw-qa'    => { label => 'AW-qa',    update => 'Comment' },

        'aw-int -> stalled'  => { label => 'Stall',    update => 'Comment' },
        'aw-int -> resolved' => { label => 'Resolve',  update => 'Comment' },
        'aw-int -> rejected' => { label => 'Reject',   update => 'Respond' },

‘aw-int → aw-ext’ => { label => ‘AW-ext’, update => ‘Comment’ },
‘aw-int → aw-qa’ => { label => ‘AW-qa’, update => ‘Comment’ },

        'aw-qa -> stalled'  => { label => 'Stall',    update => 'Comment' },
        'aw-qa -> resolved' => { label => 'Resolve',  update => 'Comment' },
        'aw-qa -> rejected' => { label => 'Reject',   update => 'Respond' },

‘aw-qa → aw-ext’ => { label => ‘AW-ext’, update => ‘Comment’ },
‘aw-qa → aw-int’ => { label => ‘AW-int’, update => ‘Comment’ },

        'stalled -> open'  => { label => 'Open It'                       },
        'resolved -> open' => { label => 'Re-open',  update => 'Comment' },
        'rejected -> open' => { label => 'Re-open',  update => 'Comment' },
        'deleted -> open'  => { label => 'Undelete'                      },

I have NOT Changed the approvals lifecycle

Can anyone point me to what I have missed, I know its human error, I just cant see where!

Thanks
Ben

T: 01253 394911

W: blackpoolsixth.ac.ukhttp://blackpoolsixth.ac.uk/

Blackpool Sixth, Blackpool Old Road, Blackpool, FY3 7LR

This email and any attachments are confidential and are intended solely for the use of the individual to whom it is addressed. If you are not the intended recipient of this email and its attachments, you must take no action based upon them, nor must you copy or show them to anyone. Please contact the sender if you believe you have received this email in error. Emails are not secure and cannot be guaranteed to be free of errors or viruses. It is your responsibility to scan emails and attachments for viruses before opening them.

Any views or opinions expressed are solely those of the author and do not necessarily represent those of The Blackpool Sixth Form College.

In my own custom lifecycle, I have one hyphenated status (“in-use”). I don’t remember why (perhaps this is the reason), but I have it in quotation marks as a key in our transitions array:

transitions => {

“in-use” => [qw(allocated recycled stolen lost deleted surplussed destroyed-for-parts scattered-across-the-desert)],
}

Your hyphenated ones aren’t quoted in your array. Perhaps that’s the sticking point? Perl might be trying to do math with the “-” before assigning to it.

Guaranteed. You need to quote hash keys that contain hyphens.

-m

Matt / Kyle,

Thanks for your fast replies. This has fixed the issue and all is working
well.

I have just checked my notes going back about 10 years and this is the
first time I must have ever used a hyphen in a status! I knew it was
something I did, I would never have found it. Thanks for your help! :slight_smile:

Thanks
Ben

Ben Pintilie
Blackpool Sixth Form College
w: http://www.blackpoolsixth.ac.uk
e: ben.pintilie@blackpoolsixth.ac.ukOn 14 February 2017 at 14:34, Matt Zagrabelny mzagrabe@d.umn.edu wrote:

On Tue, Feb 14, 2017 at 8:14 AM, Dippery, Kyle kyle.dippery@uky.edu wrote:

In my own custom lifecycle, I have one hyphenated status (“in-use”). I
don’t remember why (perhaps this is the reason), but I have it in quotation
marks as a key in our transitions array:

transitions => {

“in-use” => [qw(allocated recycled stolen lost deleted
surplussed destroyed-for-parts scattered-across-the-desert)],
}

Your hyphenated ones aren’t quoted in your array. Perhaps that’s the
sticking point? Perl might be trying to do math with the “-” before
assigning to it.

Guaranteed. You need to quote hash keys that contain hyphens.

-m

T: 01253 394911

W: blackpoolsixth.ac.uk

Blackpool Sixth, Blackpool Old Road, Blackpool, FY3 7LR

This email and any attachments are confidential and are intended solely for
the use of the individual to whom it is addressed. If you are not the
intended recipient of this email and its attachments, you must take no
action based upon them, nor must you copy or show them to anyone. Please
contact the sender if you believe you have received this email in error.
Emails are not secure and cannot be guaranteed to be free of errors or
viruses. It is your responsibility to scan emails and attachments for
viruses before opening them.

Any views or opinions expressed are solely those of the author and do not
necessarily represent those of The Blackpool Sixth Form College.