1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
use strict;
use warnings;
my $config;
BEGIN {
$config = <<END;
Set(\%Lifecycles,
default => {
initial => [qw(new)],
active => [qw(open stalled)],
inactive => [qw(resolved rejected deleted)],
defaults => {
on_create => 'new',
},
transitions => {
'' => [qw(new open resolved)],
new => [qw(open resolved rejected deleted)],
open => [qw(stalled resolved rejected deleted)],
stalled => [qw(open)],
resolved => [qw(open)],
rejected => [qw(open)],
deleted => [qw(open)],
},
actions => {
'new -> open' => {label => 'Open It', update => 'Respond'},
'new -> resolved' => {label => 'Resolve', update => 'Comment'},
'new -> rejected' => {label => 'Reject', update => 'Respond'},
'new -> deleted' => {label => 'Delete', update => ''},
'open -> stalled' => {label => 'Stall', update => 'Comment'},
'open -> resolved' => {label => 'Resolve', update => 'Comment'},
'open -> rejected' => {label => 'Reject', update => 'Respond'},
'stalled -> open' => {label => 'Open It', update => ''},
'resolved -> open' => {label => 'Re-open', update => 'Comment'},
'rejected -> open' => {label => 'Re-open', update => 'Comment'},
'deleted -> open' => {label => 'Undelete', update => ''},
},
},
delivery => {
initial => ['ordered'],
active => ['on way', 'delayed'],
inactive => ['delivered'],
defaults => {
on_create => 'ordered',
},
transitions => {
'' => ['ordered'],
ordered => ['on way', 'delayed'],
'on way' => ['delivered'],
delayed => ['on way'],
delivered => [],
},
actions => {
'ordered -> on way' => {label => 'Put On Way', update => 'Respond'},
'ordered -> delayed' => {label => 'Delay', update => 'Respond'},
'on way -> delivered' => {label => 'Done', update => 'Respond'},
'delayed -> on way' => {label => 'Put On Way', update => 'Respond'},
},
},
triage => {
initial => ['untriaged'],
active => ['ordinary', 'escalated'],
inactive => ['resolved'],
defaults => {
on_create => 'untriaged',
},
transitions => {
'' => ['untriaged'],
untriaged => ['ordinary', 'escalated'],
ordinary => ['resolved'],
escalated => ['resolved'],
resolved => [],
},
rights => {
'* -> escalated' => 'EscalateTicket',
},
},
racing => {
type => 'racecar',
active => ['on-your-mark', 'get-set', 'go'],
inactive => ['first', 'second', 'third', 'no-place'],
},
"sales" => {
type => 'ticket',
initial => ['initial'],
active => ['active', 'case-Variant'],
inactive => ['inactive'],
},
"sales-engineering" => {
"initial" => ["sales"],
"active" => [
"engineering",
"stalled"
],
"inactive" => [
"resolved",
"rejected",
"deleted"
],
},
);
END
}
use RT::Test config => $config, tests => undef;
1;
|