<div dir="ltr"><div><div><div>Hi All,<br><br></div>I tried this lifecycle on a new installed RT, it still has the same problem. I cannot find any clue of it. Please help!<br><br><br></div>BR,<br></div>Chrilly<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 24, 2015 at 5:12 PM, Chrilly Cheng <span dir="ltr"><<a href="mailto:chrilde@gmail.com" target="_blank">chrilde@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>Hi All,<br><br></div>I was trying to create a new lifecycle based on our workflow. It works until I try to set some Status changes rights in config file. I cannot grant those rights to any user or group with root permission. I'm using 4.0.7 version. I copied the error log and my settings at below, please someone kindly help to check on it, thanks a lot.<br><br></div><div>I was unable to grant 'Update ticket to inactive' rights.<br></div>Error log:<br>[error]: Invalid right. Couldn't canonicalize right 'Reopen Case' (/usr/share/request-tracker4/lib/RT/ACE.pm:410)<br>[error]: Invalid right. Couldn't canonicalize right 'Update ticket to inactive' (/usr/share/request-tracker4/lib/RT/ACE.pm:410)<br>[error]: Invalid right. Couldn't canonicalize right 'AutoSet by Crontool task(' (/usr/share/request-tracker4/lib/RT/ACE.pm:410)<br>[warn]: Tried to revoke the invalid right 'Reopen Case', ignoring it. (/usr/share/request-tracker4/lib/RT/Principal.pm:217)<br>[warn]: Tried to revoke the invalid right 'Update ticket to inactive', ignoring it. (/usr/share/request-tracker4/lib/RT/Principal.pm:217)<br>[warn]: Tried to revoke the invalid right 'AutoSet by Crontool task(', ignoring it. (/usr/share/request-tracker4/lib/RT/Principal.pm:217)<br><br></div>Here is the lifecycle setting:<br>Set(%Lifecycles,<br><br> # modify the default lifecycle<br> newlifecycle => {<br> # All the appropriate ticket statuses<br> initial => [ 'InProgress' ],<br> active => [ 'PeerReviewed','WaitingforApproval','Scheduled','ScheduledTimePassed' ],<br> inactive => [ 'ChangeCompleted','ChangeUnsuccessful','ChangeBackedOut','DidNotStart' ],<br><br> # Default ticket statuses for certain actions<br> defaults => {<br> on_create => 'InProgress',<br> },<br><br> # Status change restrictions<br> transitions => {<br> 'InProgress' => [qw(PeerReviewed)],<br> 'PeerReviewed' => [qw(WaitingforApproval)],<br> 'WaitingforApproval' => [qw(InProgress Scheduled)],<br> 'Scheduled' => [qw(InProgress ScheduledTimePassed)],<br> 'ScheduledTimePassed' => [qw(ChangeCompleted ChangeUnsuccessful ChangeBackedOut DidNotStart)],<br> },<br><br> # Rights for different actions<br> rights => {<br><br> # These rights are in the default lifecycle<br> 'WaitingforApproval -> Scheduled' => 'Right to approve ticket',<br> '* -> InProgress' => 'Right to unapprove ticket',<br> 'Scheduled -> ScheduledTimePassed' => 'AutoSet by Crontool task(Do not grant)',<br> 'ScheduledTimePassed -> *' => 'Update ticket to inactive status',<br> },<br><br> # Actions for the web UI<br> actions => [<br> 'InProgress -> PeerReviewed' => {<br> label => 'Peer Review Completed',<br> update => 'Comment',<br> },<br> 'PeerReviewed -> WaitingforApproval' => {<br> label => 'Submit for Approval',<br> update => 'Correspond',<br> },<br> 'WaitingforApproval -> Scheduled' => {<br> label => 'Approve it',<br> update => 'Commment',<br> },<br> 'WaitingforApproval -> InProgress' => {<br> label => 'Unapprove it',<br> update => 'Comment',<br> },<br> 'Scheduled -> InProgress'=> {<br> label => 'Unapprove it',<br> update => 'Correpond',<br> },<br> 'ScheduledTimePassed -> ChangeCompleted' => {<br> label => 'Change Completed Successfully',<br> update => 'Comment',<br> },<br> 'ScheduledTimePassed -> ChangeUnsuccessful' => {<br> label => 'Change Unsuccessful',<br> update => 'Comment',<br> },<br> 'ScheduledTimePassed -> ChangeBackedOut' => {<br> label => 'Change Backed Out',<br> update => 'Comment',<br> },<br> 'ScheduledTimePassed -> DidNotStart' => {<br> label => 'Did Not Start',<br> update => 'Comment',<br> },<br> ],<br> },<br> # Status mapping different lifecycles<br> __maps__ => {<br> 'default -> newlifecycle' => {<br> 'new' => 'InProgress',<br> 'open' => 'WaitingforApproval',<br> 'stalled' => 'Scheduled',<br> 'resolved' => 'ChangeCompleted',<br> 'rejected' => 'ChangeBackedOut',<br> 'deleted' => 'DidNotStart',<br> },<br> 'newlifecycle -> default' => {<br> 'InProgress' => 'new',<br> 'PeerReviewed' => 'open',<br> 'WaitingforApproval' => 'open',<br> 'Scheduled' => 'open',<br> 'ScheduledTimePassed' => 'open',<br> 'ChangeCompleted' => 'resolved',<br> 'ChangeUnsuccessful' => 'resolved',<br> 'ChangeBackedOut' => 'rejected',<br> 'DidNotStart' => 'rejected'<br> },<br> },<br> );<br><br></div>Any comments would be appreciated, thanks a lot.<br><br><br></div>BR,<br></div>Chrilly<br></div>
</blockquote></div><br></div>