6420d11ef83d952ef17b4f7d0396b333ba33f5bf
[freeside.git] / rt / etc / RT_SiteConfig.pm
1 use utf8;
2
3 # Any configuration directives you include  here will override
4 # RT's default configuration file, RT_Config.pm
5 #
6 # To include a directive here, just copy the equivalent statement
7 # from RT_Config.pm and change the value. We've included a single
8 # sample value below.
9 #
10 # If this file includes non-ASCII characters, it must be encoded in
11 # UTF-8.
12 #
13 # This file is actually a perl module, so you can include valid
14 # perl code, as well.
15 #
16 # The converse is also true, if this file isn't valid perl, you're
17 # going to run into trouble. To check your SiteConfig file, use
18 # this command:
19 #
20 #   perl -c /path/to/your/etc/RT_SiteConfig.pm
21
22 #Set( $rtname, 'example.com');
23
24 # These settings should have been inserted by the initial Freeside install.
25 # Sometimes you may want to change domain, timezone, or freeside::URL later,
26 # everything else should probably stay untouched.
27
28 Set($rtname, '%%%RT_DOMAIN%%%');
29 Set($Organization, '%%%RT_DOMAIN%%%');
30
31 Set($Timezone, '%%%RT_TIMEZONE%%%');
32
33 Set($WebRemoteUserAuth, 1);
34 Set($WebFallbackToInternal, 1); #no
35 Set($WebRemoteUserAutocreate, 1);
36
37 $RT::URI::freeside::IntegrationType = 'Internal';
38 $RT::URI::freeside::URL = '%%%FREESIDE_URL%%%';
39
40 $RT::URI::freeside::URL =~ m(^(https?://[^/]+)(/.*)?$)i;
41 Set($WebBaseURL, $1);
42 Set($WebPath, "$2/rt");
43
44 Set($DatabaseHost   , '');
45
46 # These settings are user-editable.
47
48 Set($UsernameFormat, 'verbose'); #back to concise to hide email addresses
49
50 #uncomment to use
51 #Set($DefaultSummaryRows, 10);
52
53 Set($MessageBoxWidth, 80);
54 Set($MessageBoxRichTextHeight, 368);
55
56 #redirects to ticket display on quick create
57 #Set($DisplayTicketAfterQuickCreate, 1);
58
59 #Set(@Plugins,(qw(Extension::QuickDelete RT::FM)));
60
61
62 # Define default lifecycle to include resolved_quiet status workflow
63 Set(%Lifecycles,
64   default => {
65     initial         => [qw(new)], # loc_qw
66     active          => [qw(open stalled)], # loc_qw
67     inactive        => [qw(resolved resolved_quiet rejected deleted)], # loc_qw
68
69     defaults => {
70         on_create => 'new',
71         on_merge  => 'resolved',
72         approved  => 'open',
73         denied    => 'rejected',
74         reminder_on_open     => 'open',
75         reminder_on_resolve  => 'resolved',
76     },
77
78     transitions => {
79         ""       => [qw(new open resolved)],
80
81         # from   => [ to list ],
82         new       => [qw(open stalled resolved resolved_quiet rejected  deleted)],
83         open      => [qw(new stalled resolved resolved_quiet rejected  deleted)],
84         stalled   => [qw(new open rejected resolved resolved_quiet deleted)],
85         resolved  => [qw(new open stalled rejected deleted)],
86         resolved_quiet => [qw(resolved)],
87         rejected  => [qw(new open stalled resolved resolved_quiet deleted)],
88         deleted   => [qw(new open stalled rejected resolved resolved_quiet)],
89     },
90
91     rights => {
92         '* -> deleted'  => 'DeleteTicket',
93         '* -> *'        => 'ModifyTicket',
94     },
95     actions => [
96         'new -> open'            => { label  => 'Open It',       update => 'Respond' },
97         'new -> resolved'        => { label  => 'Resolve',       update => 'Comment' },
98         'new -> resolved_quiet'  => { label  => 'Quiet Resolve', update => 'Comment' },
99         'new -> rejected'        => { label  => 'Reject',        update => 'Respond' },
100         'new -> deleted'         => { label  => 'Delete',                            },
101         'open -> stalled'        => { label  => 'Stall',         update => 'Comment' },
102         'open -> resolved'       => { label  => 'Resolve',       update => 'Comment' },
103         'open -> resolved_quiet' => { label  => 'Quiet Resolve', update => 'Comment' },
104         'open -> rejected'       => { label  => 'Reject',        update => 'Respond' },
105         'stalled -> open'        => { label  => 'Open It',                           },
106         'resolved -> open'       => { label  => 'Re-open',       update => 'Comment' },
107         'rejected -> open'       => { label  => 'Re-open',       update => 'Comment' },
108         'deleted -> open'        => { label  => 'Undelete',                          },
109     ],
110   },
111 # don't change lifecyle of the approvals, they are not capable to deal with
112 # custom statuses
113   approvals => {
114     initial         => [ 'new' ],
115     active          => [ 'open', 'stalled' ],
116     inactive        => [ 'resolved', 'rejected', 'deleted' ],
117
118     defaults => {
119       on_create => 'new',
120       on_merge => 'resolved',
121       reminder_on_open     => 'open',
122       reminder_on_resolve  => 'resolved',
123     },
124
125     transitions => {
126       ''       => [qw(new open resolved)],
127
128       # from   => [ to list ],
129       new      => [qw(open stalled resolved rejected deleted)],
130       open     => [qw(new stalled resolved rejected deleted)],
131       stalled  => [qw(new open rejected resolved deleted)],
132       resolved => [qw(new open stalled rejected deleted)],
133       rejected => [qw(new open stalled resolved deleted)],
134       deleted  => [qw(new open stalled rejected resolved)],
135     },
136     rights => {
137       '* -> deleted'  => 'DeleteTicket',
138       '* -> rejected' => 'ModifyTicket',
139       '* -> *'        => 'ModifyTicket',
140     },
141     actions => [
142       'new -> open'      => { label  => 'Open It', update => 'Respond' },
143       'new -> resolved'  => { label  => 'Resolve', update => 'Comment' },
144       'new -> rejected'  => { label  => 'Reject',  update => 'Respond' },
145       'new -> deleted'   => { label  => 'Delete',                      },
146       'open -> stalled'  => { label  => 'Stall',   update => 'Comment' },
147       'open -> resolved' => { label  => 'Resolve', update => 'Comment' },
148       'open -> rejected' => { label  => 'Reject',  update => 'Respond' },
149       'stalled -> open'  => { label  => 'Open It',                     },
150       'resolved -> open' => { label  => 'Re-open', update => 'Comment' },
151       'rejected -> open' => { label  => 'Re-open', update => 'Comment' },
152       'deleted -> open'  => { label  => 'Undelete',                    },
153     ],
154   },
155 );
156
157 # Lifecycle 'default' from RT_Config.pm
158 # Customer may set the lifecycle on their ticket queue as 'hide_resolve_quiet'
159 # to suppress the 'resolve_quiet' ticket status
160 Set(%Lifecycles,
161     hide_resolve_quiet => {
162         initial         => [qw(new)], # loc_qw
163         active          => [qw(open stalled)], # loc_qw
164         inactive        => [qw(resolved rejected deleted)], # loc_qw
165
166         defaults => {
167             on_create => 'new',
168             on_merge  => 'resolved',
169             approved  => 'open',
170             denied    => 'rejected',
171             reminder_on_open     => 'open',
172             reminder_on_resolve  => 'resolved',
173         },
174
175         transitions => {
176             ""       => [qw(new open resolved)],
177
178             # from   => [ to list ],
179             new      => [qw(    open stalled resolved rejected deleted)],
180             open     => [qw(new      stalled resolved rejected deleted)],
181             stalled  => [qw(new open         rejected resolved deleted)],
182             resolved => [qw(new open stalled          rejected deleted)],
183             rejected => [qw(new open stalled resolved          deleted)],
184             deleted  => [qw(new open stalled rejected resolved        )],
185         },
186         rights => {
187             '* -> deleted'  => 'DeleteTicket',
188             '* -> *'        => 'ModifyTicket',
189         },
190         actions => [
191             'new -> open'      => { label  => 'Open It', update => 'Respond' }, # loc{label}
192             'new -> resolved'  => { label  => 'Resolve', update => 'Comment' }, # loc{label}
193             'new -> rejected'  => { label  => 'Reject',  update => 'Respond' }, # loc{label}
194             'new -> deleted'   => { label  => 'Delete',                      }, # loc{label}
195             'open -> stalled'  => { label  => 'Stall',   update => 'Comment' }, # loc{label}
196             'open -> resolved' => { label  => 'Resolve', update => 'Comment' }, # loc{label}
197             'open -> rejected' => { label  => 'Reject',  update => 'Respond' }, # loc{label}
198             'stalled -> open'  => { label  => 'Open It',                     }, # loc{label}
199             'resolved -> open' => { label  => 'Re-open', update => 'Comment' }, # loc{label}
200             'rejected -> open' => { label  => 'Re-open', update => 'Comment' }, # loc{label}
201             'deleted -> open'  => { label  => 'Undelete',                    }, # loc{label}
202         ],
203     },
204 # don't change lifecyle of the approvals, they are not capable to deal with
205 # custom statuses
206     approvals => {
207         initial         => [ 'new' ],
208         active          => [ 'open', 'stalled' ],
209         inactive        => [ 'resolved', 'rejected', 'deleted' ],
210
211         defaults => {
212             on_create => 'new',
213             on_merge => 'resolved',
214             reminder_on_open     => 'open',
215             reminder_on_resolve  => 'resolved',
216         },
217
218         transitions => {
219             ''       => [qw(new open resolved)],
220
221             # from   => [ to list ],
222             new      => [qw(open stalled resolved rejected deleted)],
223             open     => [qw(new stalled resolved rejected deleted)],
224             stalled  => [qw(new open rejected resolved deleted)],
225             resolved => [qw(new open stalled rejected deleted)],
226             rejected => [qw(new open stalled resolved deleted)],
227             deleted  => [qw(new open stalled rejected resolved)],
228         },
229         rights => {
230             '* -> deleted'  => 'DeleteTicket',
231             '* -> rejected' => 'ModifyTicket',
232             '* -> *'        => 'ModifyTicket',
233         },
234         actions => [
235             'new -> open'      => { label  => 'Open It', update => 'Respond' }, # loc{label}
236             'new -> resolved'  => { label  => 'Resolve', update => 'Comment' }, # loc{label}
237             'new -> rejected'  => { label  => 'Reject',  update => 'Respond' }, # loc{label}
238             'new -> deleted'   => { label  => 'Delete',                      }, # loc{label}
239             'open -> stalled'  => { label  => 'Stall',   update => 'Comment' }, # loc{label}
240             'open -> resolved' => { label  => 'Resolve', update => 'Comment' }, # loc{label}
241             'open -> rejected' => { label  => 'Reject',  update => 'Respond' }, # loc{label}
242             'stalled -> open'  => { label  => 'Open It',                     }, # loc{label}
243             'resolved -> open' => { label  => 'Re-open', update => 'Comment' }, # loc{label}
244             'rejected -> open' => { label  => 'Re-open', update => 'Comment' }, # loc{label}
245             'deleted -> open'  => { label  => 'Undelete',                    }, # loc{label}
246         ],
247     },
248 );
249
250 1;