Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Set(%Lifecycles,
- default => {
- initial => [ 'new' ],
- active => [ 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment'],
- inactive => [ 'resolved', 'Dispatched', 'rejected', 'deleted' ],
- defaults => {
- on_create => 'new',
- on_merge => 'resolved',
- approved => 'open',
- denied => 'rejected',
- reminder_on_open => 'open',
- reminder_on_resolve => 'resolved',
- },
- transitions => {
- "" => [qw(new open resolved)],
- # from => [ to list ],
- new => ['open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'resolved', 'Dispatched', 'rejected', 'deleted'],
- open => ['new', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'resolved', 'Dispatched', 'rejected', 'deleted'],
- stalled => ['new', 'open', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- awCollec => ['new', 'open', 'stalled', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- awUnit => ['new', 'open', 'stalled', 'Awaiting Collection', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- unitrecd => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- fmipActi => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- awAuth => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- awEucl => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- awGSX => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- awParts => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- repCompl => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Awaiting Shipment', 'rejected', 'resolved', 'Dispatched', 'deleted'],
- awShipme => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete' , 'rejected', 'resolved', 'Dispatched', 'deleted'],
- resolved => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'Dispatched', 'rejected', 'deleted'],
- dispatch => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'resolved', 'deleted'],
- rejected => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'resolved', 'Dispatched', 'deleted'],
- deleted => ['new', 'open', 'stalled', 'Awaiting Collection', 'Awaiting Unit', 'Unit Received / Diagnostics', 'FMIP Active / Passcode Required','Awaiting Authorisation','Awaiting EUCL', 'Awaiting GSX', 'Awaiting Parts', 'Repair Complete', 'Awaiting Shipment', 'rejected', 'Dispatched', 'resolved'],
- },
- rights => {
- '* -> deleted' => 'DeleteTicket',
- '* -> *' => 'ModifyTicket',
- },
- actions => [
- 'new -> open' => { label => 'Open It', update => 'Respond' }, # loc{label}
- 'new -> resolved' => { label => 'Resolve', update => 'Comment' }, # loc{label}
- 'new -> rejected' => { label => 'Reject', update => 'Respond' }, # loc{label}
- 'new -> deleted' => { label => 'Delete', }, # loc{label}
- 'open -> stalled' => { label => 'Stall', update => 'Comment' }, # loc{label}
- 'open -> resolved' => { label => 'Resolve', update => 'Comment' }, # loc{label}
- 'open -> rejected' => { label => 'Reject', update => 'Respond' }, # loc{label}
- 'stalled -> open' => { label => 'Open It', }, # loc{label}
- 'resolved -> open' => { label => 'Re-open', update => 'Comment' }, # loc{label}
- 'rejected -> open' => { label => 'Re-open', update => 'Comment' }, # loc{label}
- 'deleted -> open' => { label => 'Undelete', }, # loc{label}
- ],
- },
- # 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',
- reminder_on_open => 'open',
- reminder_on_resolve => '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', update => 'Respond' }, # loc{label}
- 'new -> resolved' => { label => 'Resolve', update => 'Comment' }, # loc{label}
- 'new -> rejected' => { label => 'Reject', update => 'Respond' }, # loc{label}
- 'new -> deleted' => { label => 'Delete', }, # loc{label}
- 'open -> stalled' => { label => 'Stall', update => 'Comment' }, # loc{label}
- 'open -> resolved' => { label => 'Resolve', update => 'Comment' }, # loc{label}
- 'open -> rejected' => { label => 'Reject', update => 'Respond' }, # loc{label}
- 'stalled -> open' => { label => 'Open It', }, # loc{label}
- 'resolved -> open' => { label => 'Re-open', update => 'Comment' }, # loc{label}
- 'rejected -> open' => { label => 'Re-open', update => 'Comment' }, # loc{label}
- 'deleted -> open' => { label => 'Undelete', }, # loc{label}
- ],
- },
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement