default to a session cookie instead of setting an explicit timeout, weird timezone...
[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 # Enable blacklist for e-mail notifications (matches via case insensitive regex)
62 #Set(@NotifyBlacklist,(qw(reddit.com slashdot.org frank)));
63
64 # Define default lifecycle to include resolved_quiet status workflow
65 Set(%Lifecycles,
66   default => {
67     initial         => [qw(new)], # loc_qw
68     active          => [qw(open stalled)], # loc_qw
69     inactive        => [qw(resolved resolved_quiet rejected deleted)], # loc_qw
70
71     defaults => {
72         on_create => 'new',
73         on_merge  => 'resolved',
74         approved  => 'open',
75         denied    => 'rejected',
76         reminder_on_open     => 'open',
77         reminder_on_resolve  => 'resolved',
78     },
79
80     transitions => {
81         ""       => [qw(new open resolved)],
82
83         # from   => [ to list ],
84         new       => [qw(open stalled resolved resolved_quiet rejected  deleted)],
85         open      => [qw(new stalled resolved resolved_quiet rejected  deleted)],
86         stalled   => [qw(new open rejected resolved resolved_quiet deleted)],
87         resolved  => [qw(new open stalled rejected deleted)],
88         resolved_quiet => [qw(resolved)],
89         rejected  => [qw(new open stalled resolved resolved_quiet deleted)],
90         deleted   => [qw(new open stalled rejected resolved resolved_quiet)],
91     },
92
93     rights => {
94         '* -> deleted'  => 'DeleteTicket',
95         '* -> *'        => 'ModifyTicket',
96     },
97     actions => [
98         'new -> open'            => { label  => 'Open It',       update => 'Respond' },
99         'new -> resolved'        => { label  => 'Resolve',       update => 'Comment' },
100         'new -> resolved_quiet'  => { label  => 'Quiet Resolve', update => 'Comment' },
101         'new -> rejected'        => { label  => 'Reject',        update => 'Respond' },
102         'new -> deleted'         => { label  => 'Delete',                            },
103         'open -> stalled'        => { label  => 'Stall',         update => 'Comment' },
104         'open -> resolved'       => { label  => 'Resolve',       update => 'Comment' },
105         'open -> resolved_quiet' => { label  => 'Quiet Resolve', update => 'Comment' },
106         'open -> rejected'       => { label  => 'Reject',        update => 'Respond' },
107         'stalled -> open'        => { label  => 'Open It',                           },
108         'resolved -> open'       => { label  => 'Re-open',       update => 'Comment' },
109         'rejected -> open'       => { label  => 'Re-open',       update => 'Comment' },
110         'deleted -> open'        => { label  => 'Undelete',                          },
111     ],
112   },
113 # don't change lifecyle of the approvals, they are not capable to deal with
114 # custom statuses
115   approvals => {
116     initial         => [ 'new' ],
117     active          => [ 'open', 'stalled' ],
118     inactive        => [ 'resolved', 'rejected', 'deleted' ],
119
120     defaults => {
121       on_create => 'new',
122       on_merge => 'resolved',
123       reminder_on_open     => 'open',
124       reminder_on_resolve  => 'resolved',
125     },
126
127     transitions => {
128       ''       => [qw(new open resolved)],
129
130       # from   => [ to list ],
131       new      => [qw(open stalled resolved rejected deleted)],
132       open     => [qw(new stalled resolved rejected deleted)],
133       stalled  => [qw(new open rejected resolved deleted)],
134       resolved => [qw(new open stalled rejected deleted)],
135       rejected => [qw(new open stalled resolved deleted)],
136       deleted  => [qw(new open stalled rejected resolved)],
137     },
138     rights => {
139       '* -> deleted'  => 'DeleteTicket',
140       '* -> rejected' => 'ModifyTicket',
141       '* -> *'        => 'ModifyTicket',
142     },
143     actions => [
144       'new -> open'      => { label  => 'Open It', update => 'Respond' },
145       'new -> resolved'  => { label  => 'Resolve', update => 'Comment' },
146       'new -> rejected'  => { label  => 'Reject',  update => 'Respond' },
147       'new -> deleted'   => { label  => 'Delete',                      },
148       'open -> stalled'  => { label  => 'Stall',   update => 'Comment' },
149       'open -> resolved' => { label  => 'Resolve', update => 'Comment' },
150       'open -> rejected' => { label  => 'Reject',  update => 'Respond' },
151       'stalled -> open'  => { label  => 'Open It',                     },
152       'resolved -> open' => { label  => 'Re-open', update => 'Comment' },
153       'rejected -> open' => { label  => 'Re-open', update => 'Comment' },
154       'deleted -> open'  => { label  => 'Undelete',                    },
155     ],
156   },
157 );
158
159 # Lifecycle 'default' from RT_Config.pm
160 # Customer may set the lifecycle on their ticket queue as 'hide_resolve_quiet'
161 # to suppress the 'resolve_quiet' ticket status
162 Set(%Lifecycles,
163     hide_resolve_quiet => {
164         initial         => [qw(new)], # loc_qw
165         active          => [qw(open stalled)], # loc_qw
166         inactive        => [qw(resolved rejected deleted)], # loc_qw
167
168         defaults => {
169             on_create => 'new',
170             on_merge  => 'resolved',
171             approved  => 'open',
172             denied    => 'rejected',
173             reminder_on_open     => 'open',
174             reminder_on_resolve  => 'resolved',
175         },
176
177         transitions => {
178             ""       => [qw(new open resolved)],
179
180             # from   => [ to list ],
181             new      => [qw(    open stalled resolved rejected deleted)],
182             open     => [qw(new      stalled resolved rejected deleted)],
183             stalled  => [qw(new open         rejected resolved deleted)],
184             resolved => [qw(new open stalled          rejected deleted)],
185             rejected => [qw(new open stalled resolved          deleted)],
186             deleted  => [qw(new open stalled rejected resolved        )],
187         },
188         rights => {
189             '* -> deleted'  => 'DeleteTicket',
190             '* -> *'        => 'ModifyTicket',
191         },
192         actions => [
193             'new -> open'      => { label  => 'Open It', update => 'Respond' }, # loc{label}
194             'new -> resolved'  => { label  => 'Resolve', update => 'Comment' }, # loc{label}
195             'new -> rejected'  => { label  => 'Reject',  update => 'Respond' }, # loc{label}
196             'new -> deleted'   => { label  => 'Delete',                      }, # loc{label}
197             'open -> stalled'  => { label  => 'Stall',   update => 'Comment' }, # loc{label}
198             'open -> resolved' => { label  => 'Resolve', update => 'Comment' }, # loc{label}
199             'open -> rejected' => { label  => 'Reject',  update => 'Respond' }, # loc{label}
200             'stalled -> open'  => { label  => 'Open It',                     }, # loc{label}
201             'resolved -> open' => { label  => 'Re-open', update => 'Comment' }, # loc{label}
202             'rejected -> open' => { label  => 'Re-open', update => 'Comment' }, # loc{label}
203             'deleted -> open'  => { label  => 'Undelete',                    }, # loc{label}
204         ],
205     },
206 # don't change lifecyle of the approvals, they are not capable to deal with
207 # custom statuses
208     approvals => {
209         initial         => [ 'new' ],
210         active          => [ 'open', 'stalled' ],
211         inactive        => [ 'resolved', 'rejected', 'deleted' ],
212
213         defaults => {
214             on_create => 'new',
215             on_merge => 'resolved',
216             reminder_on_open     => 'open',
217             reminder_on_resolve  => 'resolved',
218         },
219
220         transitions => {
221             ''       => [qw(new open resolved)],
222
223             # from   => [ to list ],
224             new      => [qw(open stalled resolved rejected deleted)],
225             open     => [qw(new stalled resolved rejected deleted)],
226             stalled  => [qw(new open rejected resolved deleted)],
227             resolved => [qw(new open stalled rejected deleted)],
228             rejected => [qw(new open stalled resolved deleted)],
229             deleted  => [qw(new open stalled rejected resolved)],
230         },
231         rights => {
232             '* -> deleted'  => 'DeleteTicket',
233             '* -> rejected' => 'ModifyTicket',
234             '* -> *'        => 'ModifyTicket',
235         },
236         actions => [
237             'new -> open'      => { label  => 'Open It', update => 'Respond' }, # loc{label}
238             'new -> resolved'  => { label  => 'Resolve', update => 'Comment' }, # loc{label}
239             'new -> rejected'  => { label  => 'Reject',  update => 'Respond' }, # loc{label}
240             'new -> deleted'   => { label  => 'Delete',                      }, # loc{label}
241             'open -> stalled'  => { label  => 'Stall',   update => 'Comment' }, # loc{label}
242             'open -> resolved' => { label  => 'Resolve', update => 'Comment' }, # loc{label}
243             'open -> rejected' => { label  => 'Reject',  update => 'Respond' }, # loc{label}
244             'stalled -> open'  => { label  => 'Open It',                     }, # loc{label}
245             'resolved -> open' => { label  => 'Re-open', update => 'Comment' }, # loc{label}
246             'rejected -> open' => { label  => 'Re-open', update => 'Comment' }, # loc{label}
247             'deleted -> open'  => { label  => 'Undelete',                    }, # loc{label}
248         ],
249     },
250 );
251
252 1;