use utf8; # Any configuration directives you include here will override # RT's default configuration file, RT_Config.pm # # To include a directive here, just copy the equivalent statement # from RT_Config.pm and change the value. We've included a single # sample value below. # # If this file includes non-ASCII characters, it must be encoded in # UTF-8. # # This file is actually a perl module, so you can include valid # perl code, as well. # # The converse is also true, if this file isn't valid perl, you're # going to run into trouble. To check your SiteConfig file, use # this command: # # perl -c /path/to/your/etc/RT_SiteConfig.pm #Set( $rtname, 'example.com'); # These settings should have been inserted by the initial Freeside install. # Sometimes you may want to change domain, timezone, or freeside::URL later, # everything else should probably stay untouched. Set($rtname, '%%%RT_DOMAIN%%%'); Set($Organization, '%%%RT_DOMAIN%%%'); Set($Timezone, '%%%RT_TIMEZONE%%%'); Set($WebRemoteUserAuth, 1); Set($WebFallbackToInternal, 1); #no Set($WebRemoteUserAutocreate, 1); $RT::URI::freeside::IntegrationType = 'Internal'; $RT::URI::freeside::URL = '%%%FREESIDE_URL%%%'; $RT::URI::freeside::URL =~ m(^(https?://[^/]+)(/.*)?$)i; Set($WebBaseURL, $1); Set($WebPath, "$2/rt"); Set($DatabaseHost , ''); # These settings are user-editable. Set($UsernameFormat, 'verbose'); #back to concise to hide email addresses #uncomment to use #Set($DefaultSummaryRows, 10); Set($MessageBoxWidth, 80); Set($MessageBoxRichTextHeight, 368); #redirects to ticket display on quick create #Set($DisplayTicketAfterQuickCreate, 1); #Set(@Plugins,(qw(Extension::QuickDelete RT::FM))); # Enable blacklist for e-mail notifications (matches via case insensitive regex) #Set(@NotifyBlacklist,(qw(reddit.com slashdot.org frank))); # Define default lifecycle to include resolved_quiet status workflow Set(%Lifecycles, default => { initial => [qw(new)], # loc_qw active => [qw(open stalled)], # loc_qw inactive => [qw(resolved resolved_quiet rejected deleted)], # loc_qw 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 => [qw(open stalled resolved resolved_quiet rejected deleted)], open => [qw(new stalled resolved resolved_quiet rejected deleted)], stalled => [qw(new open rejected resolved resolved_quiet deleted)], resolved => [qw(new open stalled rejected deleted)], resolved_quiet => [qw(resolved)], rejected => [qw(new open stalled resolved resolved_quiet deleted)], deleted => [qw(new open stalled rejected resolved resolved_quiet)], }, rights => { '* -> deleted' => 'DeleteTicket', '* -> *' => 'ModifyTicket', }, actions => [ 'new -> open' => { label => 'Open It', update => 'Respond' }, 'new -> resolved' => { label => 'Resolve', update => 'Comment' }, 'new -> resolved_quiet' => { label => 'Quiet 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 -> resolved_quiet' => { label => 'Quiet Resolve', update => 'Comment' }, 'open -> rejected' => { label => 'Reject', update => 'Respond' }, 'stalled -> open' => { label => 'Open It', }, 'resolved -> open' => { label => 'Re-open', update => 'Comment' }, 'rejected -> open' => { label => 'Re-open', update => 'Comment' }, 'deleted -> open' => { label => 'Undelete', }, ], }, # 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' }, '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' }, 'stalled -> open' => { label => 'Open It', }, 'resolved -> open' => { label => 'Re-open', update => 'Comment' }, 'rejected -> open' => { label => 'Re-open', update => 'Comment' }, 'deleted -> open' => { label => 'Undelete', }, ], }, ); # Lifecycle 'default' from RT_Config.pm # Customer may set the lifecycle on their ticket queue as 'hide_resolve_quiet' # to suppress the 'resolve_quiet' ticket status Set(%Lifecycles, hide_resolve_quiet => { initial => [qw(new)], # loc_qw active => [qw(open stalled)], # loc_qw inactive => [qw(resolved rejected deleted)], # loc_qw 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 => [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', '* -> *' => '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} ], }, ); 1;