2
<table width="100%" bgcolor="{$cell_color}" border="0" cellspacing="0" cellpadding="1" align="center">
5
<table bgcolor="#FFFFFF" width="100%" cellspacing="1" cellpadding="2" border="0">
7
<script type="text/javascript">
9
function validateForm(f)
11
var field = getFormElement(f, 'smtp[from]');
12
if (isWhitespace(field.value)) {
13
alert('{/literal}{t escape=js}Please enter the sender address that will be used for all outgoing notification emails.{/t}{literal}');
14
selectField(f, 'smtp[from]');
17
field = getFormElement(f, 'smtp[host]');
18
if (isWhitespace(field.value)) {
19
alert('{/literal}{t escape=js}Please enter the SMTP server hostname.{/t}{literal}');
20
selectField(f, 'smtp[host]');
23
field = getFormElement(f, 'smtp[port]');
24
if ((isWhitespace(field.value)) || (!isNumberOnly(field.value))) {
25
alert('{/literal}{t escape=js}Please enter the SMTP server port number.{/t}{literal}');
26
selectField(f, 'smtp[port]');
29
var field1 = getFormElement(f, 'smtp[auth]', 0);
30
var field2 = getFormElement(f, 'smtp[auth]', 1);
31
if ((!field1.checked) && (!field2.checked)) {
32
alert('{/literal}{t escape=js}Please indicate whether the SMTP server requires authentication or not.{/t}{literal}');
36
field = getFormElement(f, 'smtp[username]');
37
if (isWhitespace(field.value)) {
38
alert('{/literal}{t escape=js}Please enter the SMTP server username.{/t}{literal}');
39
selectField(f, 'smtp[username]');
42
field = getFormElement(f, 'smtp[password]');
43
if (isWhitespace(field.value)) {
44
alert('{/literal}{t escape=js}Please enter the SMTP server password.{/t}{literal}');
45
selectField(f, 'smtp[password]');
49
var field1 = getFormElement(f, 'smtp[save_outgoing_email]', 0);
50
var field2 = getFormElement(f, 'smtp[save_address]');
51
if ((field1.checked) && (!isEmail(field2.value))) {
52
alert('{/literal}{t escape=js}Please enter the email address of where copies of outgoing emails should be sent to.{/t}{literal}');
53
selectField(f, 'smtp[save_address]');
56
if ((!f.open_signup[0].checked) && (!f.open_signup[1].checked)) {
57
alert('{/literal}{t escape=js}Please choose whether the system should allow visitors to signup for new accounts or not.{/t}{literal}');
60
if (f.open_signup[0].checked) {
61
field = getFormElement(f, 'accounts_projects[]');
62
if (!hasOneSelected(f, 'accounts_projects[]')) {
63
alert('{/literal}{t escape=js}Please select the assigned projects for users that create their own accounts.{/t}{literal}');
64
selectField(f, 'accounts_projects[]');
68
field1 = getFormElement(f, 'email_routing[status]', 0);
70
field1 = getFormElement(f, 'email_routing[address_prefix]');
71
if (isWhitespace(field1.value)) {
72
alert('{/literal}{t escape=js}Please enter the email address prefix for the email routing interface.{/t}{literal}');
73
selectField(f, 'email_routing[address_prefix]');
76
field1 = getFormElement(f, 'email_routing[address_host]');
77
if (isWhitespace(field1.value)) {
78
alert('{/literal}{t escape=js}Please enter the email address hostname for the email routing interface.{/t}{literal}');
79
selectField(f, 'email_routing[address_host]');
83
if ((!f.scm_integration[0].checked) && (!f.scm_integration[1].checked)) {
84
alert('{/literal}{t escape=js}Please choose whether the SCM integration feature should be enabled or not.{/t}{literal}');
87
if (f.scm_integration[0].checked) {
88
field = getFormElement(f, 'checkout_url');
89
if (isWhitespace(field.value)) {
90
alert('{/literal}{t escape=js}Please enter the checkout page URL for your SCM integration tool.{/t}{literal}');
91
selectField(f, 'checkout_url');
94
field = getFormElement(f, 'diff_url');
95
if (isWhitespace(field.value)) {
96
alert('{/literal}{t escape=js}Please enter the diff page URL for your SCM integration tool.{/t}{literal}');
97
selectField(f, 'diff_url');
100
field = getFormElement(f, 'scm_log_url');
101
if (isWhitespace(field.value)) {
102
alert('{/literal}{t escape=js}Please enter the log page URL for your SCM integration tool.{/t}{literal}');
103
selectField(f, 'scm_log_url');
107
if ((!f.support_email[0].checked) && (!f.support_email[1].checked)) {
108
alert('{/literal}{t escape=js}Please choose whether the email integration feature should be enabled or not.{/t}{literal}');
111
if ((!f.daily_tips[0].checked) && (!f.daily_tips[1].checked)) {
112
alert('{/literal}{t escape=js}Please choose whether the daily tips feature should be enabled or not.{/t}{literal}');
117
function disableAuthFields(f, bool)
120
var bgcolor = '#CCCCCC';
122
var bgcolor = '#FFFFFF';
124
var field = getFormElement(f, 'smtp[username]');
125
field.disabled = bool;
126
field.style.backgroundColor = bgcolor;
127
field = getFormElement(f, 'smtp[password]');
128
field.disabled = bool;
129
field.style.backgroundColor = bgcolor;
131
function checkDebugField(f)
133
var field = getFormElement(f, 'smtp[save_outgoing_email]');
140
var bgcolor = '#CCCCCC';
142
var bgcolor = '#FFFFFF';
144
field = getFormElement(f, 'smtp[save_address]');
145
field.disabled = bool;
146
field.style.backgroundColor = bgcolor;
148
function disableSCMFields(f, bool)
151
var bgcolor = '#CCCCCC';
153
var bgcolor = '#FFFFFF';
155
var field = getFormElement(f, 'checkout_url');
156
field.disabled = bool;
157
field.style.backgroundColor = bgcolor;
158
field = getFormElement(f, 'diff_url');
159
field.disabled = bool;
160
field.style.backgroundColor = bgcolor;
162
function disableSignupFields(f, bool)
165
var bgcolor = '#CCCCCC';
167
var bgcolor = '#FFFFFF';
169
var field = getFormElement(f, 'accounts_projects[]');
170
field.disabled = bool;
171
field.style.backgroundColor = bgcolor;
172
field = getFormElement(f, 'accounts_role');
173
field.disabled = bool;
174
field.style.backgroundColor = bgcolor;
176
function disableEmailRoutingFields(f, bool)
179
var bgcolor = '#CCCCCC';
181
var bgcolor = '#FFFFFF';
184
var field = getFormElement(f, 'email_routing[address_prefix]');
185
field.disabled = bool;
186
field.style.backgroundColor = bgcolor;
187
field = getFormElement(f, 'email_routing[address_host]');
188
field.disabled = bool;
189
field.style.backgroundColor = bgcolor;
190
field = getFormElement(f, 'email_routing[host_alias]');
191
field.disabled = bool;
192
field.style.backgroundColor = bgcolor;
193
field = getFormElement(f, 'email_routing[warning][status]', 0);
194
field.disabled = bool;
195
field = getFormElement(f, 'email_routing[warning][status]', 1);
196
field.disabled = bool;
198
function disableNoteRoutingFields(f, bool)
201
var bgcolor = '#CCCCCC';
203
var bgcolor = '#FFFFFF';
205
var field = getFormElement(f, 'note_routing[address_prefix]');
206
field.disabled = bool;
207
field.style.backgroundColor = bgcolor;
208
field = getFormElement(f, 'note_routing[address_host]');
209
field.disabled = bool;
210
field.style.backgroundColor = bgcolor;
212
function disableDraftRoutingFields(f, bool)
215
var bgcolor = '#CCCCCC';
217
var bgcolor = '#FFFFFF';
219
var field = getFormElement(f, 'draft_routing[address_prefix]');
220
field.disabled = bool;
221
field.style.backgroundColor = bgcolor;
222
field = getFormElement(f, 'draft_routing[address_host]');
223
field.disabled = bool;
224
field.style.backgroundColor = bgcolor;
226
function disableErrorEmailFields(f, bool)
229
var bgcolor = '#CCCCCC';
231
var bgcolor = '#FFFFFF';
233
var field = getFormElement(f, 'email_error[addresses]');
234
field.disabled = bool;
235
field.style.backgroundColor = bgcolor;
237
function disableReminderEmailFields(f, bool)
240
var bgcolor = '#CCCCCC';
242
var bgcolor = '#FFFFFF';
244
var field = getFormElement(f, 'email_reminder[addresses]');
245
field.disabled = bool;
246
field.style.backgroundColor = bgcolor;
248
function toggleSubjectBasedRouting(f, enabled)
251
var email_routing_enabled = getFormElement(f, 'email_routing[status]', 0);
252
email_routing_enabled.disabled = enabled;
253
if ((enabled != true) && (email_routing_enabled.checked != true)) {
254
disableEmailRoutingFields(f, true);
256
disableEmailRoutingFields(f, enabled);
258
getFormElement(f, 'email_routing[status]', 1).disabled = enabled;
260
var note_routing_enabled = getFormElement(f, 'note_routing[status]', 0);
261
note_routing_enabled.disabled = enabled;
262
if ((enabled != true) && (note_routing_enabled.checked != true)) {
263
disableNoteRoutingFields(f, true);
265
disableNoteRoutingFields(f, enabled);
267
getFormElement(f, 'note_routing[status]', 1).disabled = enabled;
272
<form name="general_setup_form" onSubmit="return validateForm(this);" method="post" action="{$smarty.server.PHP_SELF}">
273
<input type="hidden" name="cat" value="update">
275
<td colspan="2" class="default">
276
<b>{t}General Setup{/t}</b>
281
<td colspan="2" bgcolor="{$cell_color}" align="center" class="error">
283
{t}ERROR: The system doesn't have the appropriate permissions to create the configuration file in the setup directory{/t}
284
({$app_config_path}). {t}Please contact your local system administrator and ask for write privileges on the provided path.{/t}
285
{elseif $result == -2}
286
{t}ERROR: The system doesn't have the appropriate permissions to update the configuration file in the setup directory{/t}
287
({$app_setup_file}). {t}Please contact your local system administrator and ask for write privileges on the provided filename.{/t}
288
{elseif $result == 1}
289
{t}Thank you, the setup information was saved successfully.{/t}
295
<td width="120" bgcolor="{$cell_color}" class="default_white">
296
<b>{t}Tool Caption:{/t}</b>
298
<td bgcolor="{$light_color}">
299
<input type="text" class="default" name="tool_caption" size="50" value="{$setup.tool_caption|escape:"html"}">
303
<td width="120" bgcolor="{$cell_color}" class="default_white">
304
<b>{t}SMTP (Outgoing Email) Settings:{/t}</b>
306
<td bgcolor="{$light_color}" class="default">
309
<td width="100" class="default" align="right">
310
{t}Sender Email{/t}:
313
<input type="text" class="default" name="smtp[from]" size="30" value="{$setup.smtp.from|escape:"html"}">
314
{include file="error_icon.tpl.html" field="smtp[from]"}
315
<span class="small_default">{t 1="eventum@example.com" 2="Eventum <eventum@example.com>"}(This MUST contain a real email address, e.g. "%1" or "%2"){/t}</span>
319
<td width="100" class="default" align="right">
320
{t}Hostname:{/t}
323
<input type="text" class="default" name="smtp[host]" size="30" value="{$setup.smtp.host|escape:"html"}">
324
{include file="error_icon.tpl.html" field="smtp[host]"}
328
<td width="100" class="default" align="right">
332
<input type="text" class="default" name="smtp[port]" size="5" value="{$setup.smtp.port}">
333
{include file="error_icon.tpl.html" field="smtp[port]"}
337
<td width="100" class="default" align="right">
338
{t}Requires Authentication?{/t}
340
<td width="80%" class="default">
341
<input type="radio" name="smtp[auth]" value="1" {if $setup.smtp.auth}checked{/if} onClick="disableAuthFields(this.form, false);">
342
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'smtp[auth]', 0);disableAuthFields(getForm('general_setup_form'), false);">{t}Yes{/t}</a>
343
<input type="radio" name="smtp[auth]" value="0" {if not $setup.smtp.auth}checked{/if} onClick="disableAuthFields(this.form, true);">
344
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'smtp[auth]', 1);disableAuthFields(getForm('general_setup_form'), true);">{t}No{/t}</a>
348
<td width="100" class="default" align="right">
349
{t}Username{/t}:
352
<input type="text" class="default" name="smtp[username]" size="20" value="{$setup.smtp.username|escape:"html"}">
353
{include file="error_icon.tpl.html" field="smtp[username]"}
357
<td width="100" class="default" align="right">
358
{t}Password{/t}:
361
<input type="password" class="default" name="smtp[password]" size="20" value="{$setup.smtp.password|escape:"html"}" autocomplete="off">
362
{include file="error_icon.tpl.html" field="smtp[password]"}
366
<td colspan="2" class="default">
367
368
<input type="checkbox" name="smtp[save_outgoing_email]" value="yes" {if $setup.smtp.save_outgoing_email == 'yes'}checked{/if} onClick="checkDebugField(this.form);">
369
<a id="link" class="link" href="javascript:void(null);" onClick="toggleCheckbox('general_setup_form', 'smtp[save_outgoing_email]');checkDebugField(getForm('general_setup_form'));">{t}Save a Copy of Every Outgoing Issue Notification Email{/t}</a>
373
<td width="100" class="default" align="right">
374
{t}Email Address to Send Saved Messages:{/t}
377
<input type="text" name="smtp[save_address]" class="default" size="30" value="{$setup.smtp.save_address}">
378
{include file="error_icon.tpl.html" field="smtp[save_address]"}
385
<td width="120" bgcolor="{$cell_color}" class="default_white">
386
<b>{t}Open Account Signup:{/t}</b>
388
<td bgcolor="{$light_color}" class="default">
391
<td colspan="2" class="default_white">
392
<input type="radio" name="open_signup" value="enabled" {if $setup.open_signup == 'enabled'}checked{/if} onClick="disableSignupFields(this.form, false);">
393
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'open_signup', 0);disableSignupFields(getForm('general_setup_form'), false);">{t}Enabled{/t}</a>
394
<input type="radio" name="open_signup" value="disabled" {if not $setup.open_signup == 'enabled'}checked{/if} onClick="disableSignupFields(this.form, true);">
395
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'open_signup', 1);disableSignupFields(getForm('general_setup_form'), true);">{t}Disabled{/t}</a>
399
<td width="100" class="default" align="right">
400
{t}Assigned Projects:{/t}
403
<select name="accounts_projects[]" multiple size="3" class="default">
404
{html_options options=$project_list selected=$setup.accounts_projects}
406
{include file="error_icon.tpl.html" field="accounts_projects[]"}
410
<td width="100" class="default" align="right">
411
{t}Assigned Role:{/t}
414
<select name="accounts_role" class="default">
415
{html_options options=$user_roles selected=$setup.accounts_role}
417
{include file="error_icon.tpl.html" field="accounts_role"}
424
<td width="120" bgcolor="{$cell_color}" class="default_white">
425
<b>{t}Subject Based Routing:{/t}</b>
427
<td bgcolor="{$light_color}" class="default">
431
<input id="subject_based_routing_enabled" type="radio" name="subject_based_routing[status]" value="enabled" {if $setup.subject_based_routing.status == 'enabled'}checked{/if} onChange="toggleSubjectBasedRouting(this.form, true);">
432
<label for="subject_based_routing_enabled" class="default">{t}Enabled{/t}</label>
433
<input id="subject_based_routing_disabled" type="radio" name="subject_based_routing[status]" value="disabled" {if $setup.subject_based_routing.status != 'enabled'}checked{/if} onClick="toggleSubjectBasedRouting(this.form, false);">
434
<label for="subject_based_routing_disabled" class="default">{t}Disabled{/t}</label><br />
435
<span class="small_default">{t}If enabled, Eventum will look in the subject line of incoming notes/emails to determine which issue they should be associated with.{/t}</span><br />
442
<td width="120" bgcolor="{$cell_color}" class="default_white">
443
<b>{t}Email Recipient Type Flag:{/t}</b>
445
<td bgcolor="{$light_color}" class="default">
448
<td width="100" class="default" align="right">
449
{t}Recipient Type Flag:{/t}
452
<input class="default" type="text" name="email_routing[recipient_type_flag]" value="{$setup.email_routing.recipient_type_flag|escape:"html"}">
453
<span class="small_default">{t}(This will be included in the From address of all emails sent by Eventum){/t}</span><br />
454
<span class="default">
455
<input type="radio" name="email_routing[flag_location]" value="before" {if $setup.email_routing.flag_location == 'before'}checked{/if}>
456
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'email_routing[flag_location]', 0);">{t}Before Sender Name{/t}</a>
457
<input type="radio" name="email_routing[flag_location]" value="after" {if $setup.email_routing.flag_location != 'before'}checked{/if}>
458
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'email_routing[flag_location]', 1);">{t}After Sender Name{/t}</a>
466
<td width="120" bgcolor="{$cell_color}" class="default_white">
467
<b>{t}Email Routing Interface:{/t}</b>
469
<td bgcolor="{$light_color}" class="default">
472
<td colspan="2" class="default_white">
473
<input type="radio" name="email_routing[status]" value="enabled" {if $setup.email_routing.status == 'enabled'}checked{/if} onClick="disableEmailRoutingFields(this.form, false);">
474
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'email_routing[status]', 0);disableEmailRoutingFields(getForm('general_setup_form'), false);">{t}Enabled{/t}</a>
475
<input type="radio" name="email_routing[status]" value="disabled" {if $setup.email_routing.status != 'enabled'}checked{/if} onClick="disableEmailRoutingFields(this.form, true);">
476
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'email_routing[status]', 1);disableEmailRoutingFields(getForm('general_setup_form'), true);">{t}Disabled{/t}</a>
480
<td width="100" class="default" align="right">
481
{t}Email Address Prefix:{/t}
484
<input type="text" name="email_routing[address_prefix]" value="{if $setup.email_routing.address_prefix}{$setup.email_routing.address_prefix}{else}issue_{/if}" class="default">
485
{include file="error_icon.tpl.html" field="email_routing[address_prefix]"}
486
<span class="small_default">{t escape=no 1="<b>issue_</b>51@example.com"}(e.g. %1){/t}</span>
490
<td width="100" class="default" align="right">
491
{t}Address Hostname:{/t}
494
<input type="text" name="email_routing[address_host]" class="default" value="{$setup.email_routing.address_host}">
495
{include file="error_icon.tpl.html" field="email_routing[address_host]"}
496
<span class="small_default">{t escape=no 1="issue_51@<b>example.com</b>"}(e.g. %1){/t}</span>
500
<td width="100" class="default" align="right">
501
{t}Host Alias:{/t}
504
<input type="text" name="email_routing[host_alias]" class="default" value="{$setup.email_routing.host_alias}">
505
{include file="error_icon.tpl.html" field="email_routing[host_alias]"}
506
<span class="small_default">{t}(Alternate domains separated by space that point to 'Address Hostname'){/t}</span>
510
<td width="100" class="default" align="right">
511
{t}Warn Users Whether They Can Send Emails to Issue:{/t}
513
<td width="80%" class="default">
514
<label><input type="radio" name="email_routing[warning][status]" value="enabled" {if $setup.email_routing.warning.status == 'enabled'}checked{/if}>
515
{t}Yes{/t}</label>
516
<label><input type="radio" name="email_routing[warning][status]" value="disabled" {if $setup.email_routing.warning.status != 'enabled'}checked{/if}>
524
<td width="120" bgcolor="{$cell_color}" class="default_white">
525
<b>{t}Note Recipient Type Flag:{/t}</b>
527
<td bgcolor="{$light_color}" class="default">
530
<td width="100" class="default" align="right">
531
{t}Recipient Type Flag:{/t}
534
<input class="default" type="text" name="note_routing[recipient_type_flag]" value="{$setup.note_routing.recipient_type_flag|escape:"html"}">
535
<span class="small_default">{t}(This will be included in the From address of all notes sent by Eventum){/t}</span><br />
536
<span class="default">
537
<input type="radio" name="note_routing[flag_location]" value="before" {if $setup.note_routing.flag_location == 'before'}checked{/if}>
538
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'note_routing[flag_location]', 0);">{t}Before Sender Name{/t}</a>
539
<input type="radio" name="note_routing[flag_location]" value="after" {if $setup.note_routing.flag_location != 'before'}checked{/if}>
540
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'note_routing[flag_location]', 1);">{t}After Sender Name{/t}</a>
548
<td width="120" bgcolor="{$cell_color}" class="default_white">
549
<b>{t}Internal Note Routing Interface:{/t}</b>
551
<td bgcolor="{$light_color}" class="default">
554
<td colspan="2" class="default_white">
555
<input type="radio" name="note_routing[status]" value="enabled" {if $setup.note_routing.status == 'enabled'}checked{/if} onClick="disableNoteRoutingFields(this.form, false);">
556
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'note_routing[status]', 0);disableNoteRoutingFields(getForm('general_setup_form'), false);">{t}Enabled{/t}</a>
557
<input type="radio" name="note_routing[status]" value="disabled" {if $setup.note_routing.status != 'enabled'}checked{/if} onClick="disableNoteRoutingFields(this.form, true);">
558
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'note_routing[status]', 1);disableNoteRoutingFields(getForm('general_setup_form'), true);">{t}Disabled{/t}</a>
562
<td width="100" class="default" align="right">
563
{t}Note Address Prefix:{/t}
566
<input type="text" name="note_routing[address_prefix]" value="{if $setup.note_routing.address_prefix}{$setup.note_routing.address_prefix}{else}note_{/if}" class="default">
567
{include file="error_icon.tpl.html" field="note_routing[address_prefix]"}
568
<span class="small_default">{t escape=no 1="<b>note_</b>51@example.com"}(e.g. %1){/t}</span>
572
<td width="100" class="default" align="right">
573
{t}Address Hostname:{/t}
576
<input type="text" name="note_routing[address_host]" class="default" value="{$setup.note_routing.address_host}">
577
{include file="error_icon.tpl.html" field="note_routing[address_host]"}
578
<span class="small_default">{t escape=no 1="note_51@<b>example.com</b>"}(e.g. %1){/t}</span>
582
<td width="100" class="default" align="right">
583
{t}Host Alias:{/t}
586
<input type="text" name="note_routing[host_alias]" class="default" value="{$setup.note_routing.host_alias}">
587
{include file="error_icon.tpl.html" field="note_routing[host_alias]"}
588
<span class="small_default">{t}(Alternate domains separated by space that point to 'Address Hostname'){/t}</span>
595
<td width="120" bgcolor="{$cell_color}" class="default_white">
596
<b>{t}Email Draft Interface:{/t}</b>
598
<td bgcolor="{$light_color}" class="default">
601
<td colspan="2" class="default_white">
602
<input type="radio" name="draft_routing[status]" value="enabled" {if $setup.draft_routing.status == 'enabled'}checked{/if} onClick="disableDraftRoutingFields(this.form, false);">
603
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'draft_routing[status]', 0);disableDraftRoutingFields(getForm('general_setup_form'), false);">{t}Enabled{/t}</a>
604
<input type="radio" name="draft_routing[status]" value="disabled" {if $setup.draft_routing.status != 'enabled'}checked{/if} onClick="disableDraftRoutingFields(this.form, true);">
605
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'draft_routing[status]', 1);disableDraftRoutingFields(getForm('general_setup_form'), true);">{t}Disabled{/t}</a>
609
<td width="100" class="default" align="right">
610
{t}Draft Address Prefix:{/t}
613
<input type="text" name="draft_routing[address_prefix]" value="{if $setup.draft_routing.address_prefix}{$setup.draft_routing.address_prefix}{else}draft_{/if}" class="default">
614
{include file="error_icon.tpl.html" field="draft_routing[address_prefix]"}
615
<span class="small_default">{t escape=no 1="<b>draft_</b>51@example.com"}(e.g. %1){/t}</span>
619
<td width="100" class="default" align="right">
620
{t}Address Hostname:{/t}
623
<input type="text" name="draft_routing[address_host]" class="default" value="{$setup.draft_routing.address_host}">
624
{include file="error_icon.tpl.html" field="draft_routing[address_host]"}
625
<span class="small_default">{t escape=no 1="draft_51@<b>example.com</b>"}(e.g. %1){/t}</span>
629
<td width="100" class="default" align="right">
630
{t}Host Alias:{/t}
633
<input type="text" name="draft_routing[host_alias]" class="default" value="{$setup.draft_routing.host_alias}">
634
{include file="error_icon.tpl.html" field="draft_routing[host_alias]"}
635
<span class="small_default">{t}(Alternate domains separated by space that point to 'Address Hostname'){/t}</span>
642
<td width="120" bgcolor="{$cell_color}" class="default_white">
643
<b>{t escape=no}SCM <br />Integration:{/t}</b> {include file="help_link.tpl.html" topic="scm_integration"}
645
<td bgcolor="{$light_color}" class="default">
648
<td colspan="2" class="default_white">
649
<input type="radio" name="scm_integration" value="enabled" {if $setup.scm_integration == 'enabled'}checked{/if} onClick="disableSCMFields(this.form, false);">
650
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'scm_integration', 0);disableSCMFields(getForm('general_setup_form'), false);">{t}Enabled{/t}</a>
651
<input type="radio" name="scm_integration" value="disabled" {if not $setup.scm_integration == 'enabled'}checked{/if} onClick="disableSCMFields(this.form, true);">
652
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'scm_integration', 1);disableSCMFields(getForm('general_setup_form'), true);">{t}Disabled{/t}</a>
656
<td width="100" class="default" align="right">
657
{t}Checkout Page:{/t}
660
<input type="text" class="default" name="checkout_url" size="50" value="{$setup.checkout_url|escape:"html"}">
661
{include file="error_icon.tpl.html" field="checkout_url"}
665
<td width="100" class="default" align="right">
666
{t}Diff Page:{/t}
669
<input type="text" class="default" name="diff_url" size="50" value="{$setup.diff_url|escape:"html"}">
670
{include file="error_icon.tpl.html" field="diff_url"}
674
<td width="100" class="default" align="right">
675
{t}Log Page:{/t}
678
<input type="text" class="default" name="scm_log_url" size="50" value="{$setup.scm_log_url|escape:"html"}">
679
{include file="error_icon.tpl.html" field="scm_log_url"}
686
<td width="120" bgcolor="{$cell_color}" class="default_white">
687
<b>{t}Email Integration Feature:{/t}</b>
689
<td bgcolor="{$light_color}" class="default">
690
<input type="radio" name="support_email" value="enabled" {if $setup.support_email == 'enabled'}checked{/if}>
691
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'support_email', 0);">{t}Enabled{/t}</a>
692
<input type="radio" name="support_email" value="disabled" {if $setup.support_email != 'enabled'}checked{/if}>
693
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'support_email', 1);">{t}Disabled{/t}</a>
697
<td width="120" bgcolor="{$cell_color}" class="default_white">
698
<b>{t}Daily Tips:{/t}</b>
700
<td bgcolor="{$light_color}" class="default">
701
<input type="radio" name="daily_tips" value="enabled" {if $setup.daily_tips == 'enabled'}checked{/if}>
702
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'daily_tips', 0);">{t}Enabled{/t}</a>
703
<input type="radio" name="daily_tips" value="disabled" {if $setup.daily_tips != 'enabled'}checked{/if}>
704
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'daily_tips', 1);">{t}Disabled{/t}</a>
708
<td width="120" bgcolor="{$cell_color}" class="default_white">
709
<b>{t}Email Spell Checker:{/t}</b>
711
<td bgcolor="{$light_color}">
712
<span class="default">
713
<input type="radio" name="spell_checker" value="enabled" {if $setup.spell_checker == 'enabled'}checked{/if}>
714
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'spell_checker', 0);">{t}Enabled{/t}</a>
715
<input type="radio" name="spell_checker" value="disabled" {if $setup.spell_checker != 'enabled'}checked{/if}>
716
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'spell_checker', 1);">{t}Disabled{/t}</a></span>
717
<span class="small_default">{t escape=no 1='<a target="_blank" class="link" href="http://aspell.sourceforge.net/">aspell</a>'}(requires %1 installed in your server){/t}</span>
721
<td width="120" bgcolor="{$cell_color}" class="default_white">
722
<b>{t}IRC Notifications:{/t}</b>
724
<td bgcolor="{$light_color}" class="default">
725
<input type="radio" name="irc_notification" value="enabled" {if $setup.irc_notification == 'enabled'}checked{/if}>
726
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'irc_notification', 0);">{t}Enabled{/t}</a>
727
<input type="radio" name="irc_notification" value="disabled" {if $setup.irc_notification != 'enabled'}checked{/if}>
728
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'irc_notification', 1);">{t}Disabled{/t}</a>
732
<td width="120" bgcolor="{$cell_color}" class="default_white">
733
<b>{t}Allow Un-Assigned Issues?{/t}</b>
735
<td bgcolor="{$light_color}" class="default">
736
<input type="radio" name="allow_unassigned_issues" value="yes" {if $setup.allow_unassigned_issues == 'yes'}checked{/if}>
737
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'allow_unassigned_issues', 0);">{t}Yes{/t}</a>
738
<input type="radio" name="allow_unassigned_issues" value="no" {if $setup.allow_unassigned_issues != 'yes'}checked{/if}>
739
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'allow_unassigned_issues', 1);">{t}No{/t}</a>
743
<td width="120" bgcolor="{$cell_color}" class="default_white">
744
<b>{t}Default Options for Notifications:{/t}</b>
746
<td bgcolor="{$light_color}" class="default">
747
<input type="checkbox" name="update" {if $setup.update}checked{/if} value="1"> <a id="link" class="link" href="javascript:void(null);" onClick="toggleCheckbox('general_setup_form', 'update');">{t}Issues are Updated{/t}</a><br />
748
<input type="checkbox" name="closed" {if $setup.closed}checked{/if} value="1"> <a id="link" class="link" href="javascript:void(null);" onClick="toggleCheckbox('general_setup_form', 'closed');">{t}Issues are Closed{/t}</a><br />
749
<input type="checkbox" name="emails" {if $setup.emails}checked{/if} value="1"> <a id="link" class="link" href="javascript:void(null);" onClick="toggleCheckbox('general_setup_form', 'emails');">{t}Emails are Associated{/t}</a><br />
750
<input type="checkbox" name="files" {if $setup.files}checked{/if} value="1"> <a id="link" class="link" href="javascript:void(null);" onClick="toggleCheckbox('general_setup_form', 'files');">{t}Files are Attached{/t}</a>
754
<td width="120" bgcolor="{$cell_color}" class="default_white">
755
<b>{t}Email Reminder System Status Information:{/t}</b>
757
<td bgcolor="{$light_color}" class="default">
760
<td colspan="2" class="default_white">
761
<input type="radio" name="email_reminder[status]" value="enabled" {if $setup.email_reminder.status == 'enabled'}checked{/if} onClick="disableReminderEmailFields(getForm('general_setup_form'), false);">
762
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'email_reminder[status]', 0);disableReminderEmailFields(getForm('general_setup_form'), false);">{t}Enabled{/t}</a>
763
<input type="radio" name="email_reminder[status]" value="disabled" {if $setup.email_reminder.status != 'enabled'}checked{/if} onClick="disableReminderEmailFields(getForm('general_setup_form'), true);">
764
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'email_reminder[status]', 1);disableReminderEmailFields(getForm('general_setup_form'), true);">{t}Disabled{/t}</a>
768
<td width="100" class="default" align="right">
769
{t}Email Addresses To Send Information To:{/t}
772
<input class="default" type="text" name="email_reminder[addresses]" value="{$setup.email_reminder.addresses|escape:"html"}" size="50">
773
<span class="small_default">{t}(separate multiple addresses with commas){/t}</span>
780
<td width="120" bgcolor="{$cell_color}" class="default_white">
781
<b>{t}Email Error Logging System:{/t}</b>
783
<td bgcolor="{$light_color}" class="default">
786
<td colspan="2" class="default_white">
787
<input type="radio" name="email_error[status]" value="enabled" {if $setup.email_error.status == 'enabled'}checked{/if} onClick="disableErrorEmailFields(getForm('general_setup_form'), false);">
788
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'email_error[status]', 0);disableErrorEmailFields(getForm('general_setup_form'), false);">{t}Enabled{/t}</a>
789
<input type="radio" name="email_error[status]" value="disabled" {if $setup.email_error.status != 'enabled'}checked{/if} onClick="disableErrorEmailFields(getForm('general_setup_form'), true);">
790
<a id="link" class="link" href="javascript:void(null);" onClick="checkRadio('general_setup_form', 'email_error[status]', 1);disableErrorEmailFields(getForm('general_setup_form'), true);">{t}Disabled{/t}</a>
794
<td width="100" class="default" align="right">
795
{t}Email Addresses To Send Errors To:{/t}
798
<input class="default" type="text" name="email_error[addresses]" value="{$setup.email_error.addresses|escape:"html"}" size="50">
799
<span class="small_default">{t}(separate multiple addresses with commas){/t}</span>
806
<td colspan="2" bgcolor="{$cell_color}" align="center">
807
<input class="button" type="submit" value="{t}Update Setup{/t}">
808
<input class="button" type="reset" value="{t}Reset{/t}">
817
<script type="text/javascript">
819
window.onload = setDisabledFields;
820
function setDisabledFields()
822
var f = getForm('general_setup_form');
823
var field1 = getFormElement(f, 'smtp[auth]', 0);
824
if (field1.checked) {
825
disableAuthFields(f, false);
827
disableAuthFields(f, true);
830
if (f.scm_integration[0].checked) {
831
disableSCMFields(f, false);
833
f.scm_integration[1].checked = true;
834
disableSCMFields(f, true);
836
if (f.open_signup[0].checked) {
837
disableSignupFields(f, false);
839
f.open_signup[1].checked = true;
840
disableSignupFields(f, true);
842
field1 = getFormElement(f, 'email_routing[status]', 0);
843
var field2 = getFormElement(f, 'email_routing[status]', 1);
844
if (field1.checked) {
845
disableEmailRoutingFields(f, false);
847
field2.checked = true;
848
disableEmailRoutingFields(f, true);
850
field1 = getFormElement(f, 'note_routing[status]', 0);
851
field2 = getFormElement(f, 'note_routing[status]', 1);
852
if (field1.checked) {
853
disableNoteRoutingFields(f, false);
855
field2.checked = true;
856
disableNoteRoutingFields(f, true);
858
field1 = getFormElement(f, 'draft_routing[status]', 0);
859
field2 = getFormElement(f, 'draft_routing[status]', 1);
860
if (field1.checked) {
861
disableDraftRoutingFields(f, false);
863
field2.checked = true;
864
disableDraftRoutingFields(f, true);
866
field1 = getFormElement(f, 'email_reminder[status]', 0);
867
field2 = getFormElement(f, 'email_reminder[status]', 1);
868
if (field1.checked) {
869
disableReminderEmailFields(f, false);
871
field2.checked = true;
872
disableReminderEmailFields(f, true);
874
field1 = getFormElement(f, 'email_error[status]', 0);
875
field2 = getFormElement(f, 'email_error[status]', 1);
876
if (field1.checked) {
877
disableErrorEmailFields(f, false);
879
field2.checked = true;
880
disableErrorEmailFields(f, true);
882
toggleSubjectBasedRouting(f, getFormElement(f, 'subject_based_routing[status]', 0).checked);
1
{extends "manage/manage.tpl.html"}
3
{block "manage_content"}
5
<script type="text/javascript">
7
function validateForm()
9
if (Validation.isFieldWhitespace('smtp[from]')) {
10
alert('{/literal}{t escape=js}Please enter the sender address that will be used for all outgoing notification emails.{/t}{literal}');
11
Validation.selectField('smtp[from]');
14
if (Validation.isFieldWhitespace('smtp[host]')) {
15
alert('{/literal}{t escape=js}Please enter the SMTP server hostname.{/t}{literal}');
16
Validation.selectField('smtp[host]');
19
if ((Validation.isFieldWhitespace('smtp[port]')) || (!Validation.isNumberOnly(Eventum.getField('smtp[port]').val()))) {
20
alert('{/literal}{t escape=js}Please enter the SMTP server port number.{/t}{literal}');
21
Validation.selectField('smtp[port]');
24
if (!Validation.hasOneChecked('smtp[auth]')) {
25
alert('{/literal}{t escape=js}Please indicate whether the SMTP server requires authentication or not.{/t}{literal}');
28
if (Eventum.getField('smtp[auth]').first().is(':checked')) {
29
if (Validation.isFieldWhitespace('smtp[username]')) {
30
alert('{/literal}{t escape=js}Please enter the SMTP server username.{/t}{literal}');
31
Validation.selectField('smtp[username]');
34
if (Validation.isFieldWhitespace('smtp[password]')) {
35
alert('{/literal}{t escape=js}Please enter the SMTP server password.{/t}{literal}');
36
Validation.selectField('smtp[password]');
40
if (Eventum.getField('smtp[save_outgoing_email]').is(':checked') && (!Validation.isEmail(Eventum.getField('smtp[save_address]').val()))) {
41
alert('{/literal}{t escape=js}Please enter the email address of where copies of outgoing emails should be sent to.{/t}{literal}');
42
Validation.selectField('smtp[save_address]');
45
if (!Validation.hasOneChecked('open_signup')) {
46
alert('{/literal}{t escape=js}Please choose whether the system should allow visitors to signup for new accounts or not.{/t}{literal}');
49
if (Eventum.getField('open_signup').first().is(':checked')) {
50
if (!Validation.hasOneSelected('accounts_projects[]')) {
51
alert('{/literal}{t escape=js}Please select the assigned projects for users that create their own accounts.{/t}{literal}');
52
Validation.selectField('accounts_projects[]');
56
if (Eventum.getField('email_routing[status]').first().is(':checked')) {
57
if (Validation.isFieldWhitespace('email_routing[address_prefix]')) {
58
alert('{/literal}{t escape=js}Please enter the email address prefix for the email routing interface.{/t}{literal}');
59
Validation.selectField('email_routing[address_prefix]');
62
if (Validation.isFieldWhitespace('email_routing[address_host]')) {
63
alert('{/literal}{t escape=js}Please enter the email address hostname for the email routing interface.{/t}{literal}');
64
Validation.selectField('email_routing[address_host]');
68
if (Eventum.getField('note_routing[status]').first().is(':checked')) {
69
if (Validation.isFieldWhitespace('note_routing[address_prefix]')) {
70
alert('{/literal}{t escape=js}Please enter the email address prefix for the note routing interface.{/t}{literal}');
71
Validation.selectField('note_routing[address_prefix]');
74
if (Validation.isFieldWhitespace('note_routing[address_host]')) {
75
alert('{/literal}{t escape=js}Please enter the email address hostname for the note routing interface.{/t}{literal}');
76
Validation.selectField('note_routing[address_host]');
80
if (Eventum.getField('draft_routing[status]').first().is(':checked')) {
81
if (Validation.isFieldWhitespace('draft_routing[address_prefix]')) {
82
alert('{/literal}{t escape=js}Please enter the email address prefix for the draft routing interface.{/t}{literal}');
83
Validation.selectField('draft_routing[address_prefix]');
86
if (Validation.isFieldWhitespace('draft_routing[address_host]')) {
87
alert('{/literal}{t escape=js}Please enter the email address hostname for the draft routing interface.{/t}{literal}');
88
Validation.selectField('draft_routing[address_host]');
94
function toggleAuthFields()
96
var bool = !Eventum.getField('smtp[auth]').first().is(':checked');
98
var bgcolor = '#CCCCCC';
100
var bgcolor = '#FFFFFF';
102
Eventum.getField('smtp[username]').attr('disabled', bool).css('backgroundColor', bgcolor);
103
Eventum.getField('smtp[password]').attr('disabled', bool).css('backgroundColor', bgcolor);
105
function checkDebugField()
107
if (Eventum.getField('smtp[save_outgoing_email]').is(':checked')) {
113
var bgcolor = '#CCCCCC';
115
var bgcolor = '#FFFFFF';
117
Eventum.getField('smtp[save_address]').attr('disabled', bool).css('backgroundColor', bgcolor);
119
function toggleSignupFields()
121
var bool = !Eventum.getField('open_signup').first().is(':checked')
123
var bgcolor = '#CCCCCC';
125
var bgcolor = '#FFFFFF';
127
Eventum.getField('accounts_projects[]').attr('disabled', bool).css('backgroundColor', bgcolor);
128
Eventum.getField('accounts_role').attr('disabled', bool).css('backgroundColor', bgcolor);
130
function toggleSubjectBasedRouting()
132
var subject_based_enabled = Eventum.getField('subject_based_routing[status]').first().is(':checked');
134
// disable email routing if subject based routing is enabled
135
if (subject_based_enabled == true) {
136
Eventum.getField('email_routing[status]').slice(1,2).click();
137
Eventum.getField('note_routing[status]').slice(1,2).click();
139
Eventum.getField('email_routing[status]').attr('disabled', subject_based_enabled);
140
Eventum.getField('note_routing[status]').attr('disabled', subject_based_enabled);
142
function toggleEmailRoutingFields()
144
var bool = !Eventum.getField('email_routing[status]').first().is(':checked');
146
var bgcolor = '#CCCCCC';
148
var bgcolor = '#FFFFFF';
150
Eventum.getField('email_routing[address_prefix]').attr('disabled', bool).css('backgroundColor', bgcolor);
151
Eventum.getField('email_routing[address_host]').attr('disabled', bool).css('backgroundColor', bgcolor);
152
Eventum.getField('email_routing[host_alias]').attr('disabled', bool).css('backgroundColor', bgcolor);
153
Eventum.getField('email_routing[warning][status]').attr('disabled', bool).css('backgroundColor', bgcolor);
154
Eventum.getField('email_routing[warning][status]').attr('disabled', bool).css('backgroundColor', bgcolor);
156
function toggleNoteRoutingFields()
158
var bool = !Eventum.getField('note_routing[status]').first().is(':checked');
160
var bgcolor = '#CCCCCC';
162
var bgcolor = '#FFFFFF';
164
Eventum.getField('note_routing[address_prefix]').attr('disabled', bool).css('backgroundColor', bgcolor);
165
Eventum.getField('note_routing[address_host]').attr('disabled', bool).css('backgroundColor', bgcolor);
167
function toggleDraftRoutingFields()
169
var bool = !Eventum.getField('draft_routing[status]').first().is(':checked');
171
var bgcolor = '#CCCCCC';
173
var bgcolor = '#FFFFFF';
175
Eventum.getField('draft_routing[address_prefix]').attr('disabled', bool).css('backgroundColor', bgcolor);
176
Eventum.getField('draft_routing[address_host]').attr('disabled', bool).css('backgroundColor', bgcolor);
178
function toggleErrorEmailFields()
180
var bool = !Eventum.getField('email_error[status]').first().is(':checked');
182
var bgcolor = '#CCCCCC';
184
var bgcolor = '#FFFFFF';
186
Eventum.getField('email_error[addresses]').attr('disabled', bool).css('backgroundColor', bgcolor);
188
function toggleReminderEmailFields()
190
var bool = !Eventum.getField('email_reminder[status]').first().is(':checked');
192
var bgcolor = '#CCCCCC';
194
var bgcolor = '#FFFFFF';
196
Eventum.getField('email_reminder[addresses]').attr('disabled', bool).css('backgroundColor', bgcolor);
199
$().ready(function() {
200
$('#general_setup_form').submit(validateForm);
201
Eventum.getField('smtp[auth]').change(toggleAuthFields)
202
Eventum.getField('open_signup').change(toggleSignupFields)
203
Eventum.getField('subject_based_routing[status]').change(toggleSubjectBasedRouting)
204
Eventum.getField('email_routing[status]').change(toggleEmailRoutingFields);
205
Eventum.getField('note_routing[status]').change(toggleNoteRoutingFields);
206
Eventum.getField('draft_routing[status]').change(toggleDraftRoutingFields);
207
Eventum.getField('email_reminder[status]').change(toggleReminderEmailFields);
208
Eventum.getField('email_error[status]').change(toggleErrorEmailFields);
209
Eventum.getField('smtp[save_outgoing_email]').change(checkDebugField);
213
toggleSignupFields();
214
toggleEmailRoutingFields();
215
toggleNoteRoutingFields();
216
toggleDraftRoutingFields();
217
toggleSubjectBasedRouting();
218
toggleReminderEmailFields();
219
toggleErrorEmailFields();
224
<form id="general_setup_form" method="post" action="{$smarty.server.PHP_SELF}">
225
<input type="hidden" name="cat" value="update">
226
<table class="bordered">
237
<input type="text" name="tool_caption" size="50" value="{$setup.tool_caption|default:''|escape:"html"}">
242
{t}SMTP (Outgoing Email) Settings{/t}
247
<td width="100" align="right">
251
<input type="text" name="smtp[from]" size="30" value="{$setup.smtp.from|default:''|escape:"html"}">
252
{include file="error_icon.tpl.html" field="smtp[from]"}
253
<span>{t 1="eventum@example.com" 2="Eventum <eventum@example.com>"}(This MUST contain a real email address, e.g. "%1" or "%2"){/t}</span>
257
<td width="100" align="right">
261
<input type="text" name="smtp[host]" size="30" value="{$setup.smtp.host|default:''|escape:"html"}">
262
{include file="error_icon.tpl.html" field="smtp[host]"}
266
<td width="100" align="right">
270
<input type="text" name="smtp[port]" size="5" value="{$setup.smtp.port|default:''}">
271
{include file="error_icon.tpl.html" field="smtp[port]"}
275
<td width="100" align="right">
276
{t}Requires Authentication?{/t}
280
<input type="radio" name="smtp[auth]" value="1" {if $setup.smtp.auth|default:''}checked{/if}">
284
<input type="radio" name="smtp[auth]" value="0" {if not $setup.smtp.auth|default:''}checked{/if}>
290
<td width="100" align="right">
294
<input type="text" name="smtp[username]" size="20" value="{$setup.smtp.username|default:''|escape:"html"}">
295
{include file="error_icon.tpl.html" field="smtp[username]"}
299
<td width="100" align="right">
303
<input type="password" name="smtp[password]" size="20" value="{$setup.smtp.password|default:''|escape:"html"}" autocomplete="off">
304
{include file="error_icon.tpl.html" field="smtp[password]"}
310
<input type="checkbox" name="smtp[save_outgoing_email]" value="yes" {if $setup.smtp.save_outgoing_email|default:'' == 'yes'}checked{/if}>
311
{t}Save a Copy of Every Outgoing Issue Notification Email{/t}
316
<td width="100" align="right">
317
{t}Email Address to Send Saved Messages{/t}
320
<input type="text" name="smtp[save_address]" size="30" value="{$setup.smtp.save_address|default:''}">
321
{include file="error_icon.tpl.html" field="smtp[save_address]"}
329
{t}Open Account Signup{/t}
336
<input type="radio" name="open_signup" value="enabled" {if $setup.open_signup|default:'' == 'enabled'}checked{/if}>
340
<input type="radio" name="open_signup" value="disabled" {if $setup.open_signup|default:'' != 'enabled'}checked{/if}>
346
<td width="100" align="right">
347
{t}Assigned Projects{/t}
350
<select name="accounts_projects[]" multiple size="3">
351
{html_options options=$project_list selected=$setup.accounts_projects|default:''}
353
{include file="error_icon.tpl.html" field="accounts_projects[]"}
357
<td width="100" align="right">
361
<select name="accounts_role">
362
{html_options options=$user_roles selected=$setup.accounts_role|default:''}
364
{include file="error_icon.tpl.html" field="accounts_role"}
372
{t}Subject Based Routing{/t}
379
<input id="subject_based_routing_enabled" type="radio" name="subject_based_routing[status]" value="enabled"
380
{if $setup.subject_based_routing.status|default:'' == 'enabled'}checked{/if}>
384
<input id="subject_based_routing_disabled" type="radio" name="subject_based_routing[status]" value="disabled"
385
{if $setup.subject_based_routing.status|default:'' != 'enabled'}checked{/if}>
388
<div>{t}If enabled, Eventum will look in the subject line of incoming notes/emails to determine which issue they should be associated with.{/t}</div>
396
{t}Email Recipient Type Flag{/t}
401
<td width="100" align="right">
402
{t}Recipient Type Flag{/t}
405
<input type="text" name="email_routing[recipient_type_flag]" value="{$setup.email_routing.recipient_type_flag|default:''|escape:"html"}">
406
<span>{t}(This will be included in the From address of all emails sent by Eventum){/t}</span>
409
<input type="radio" name="email_routing[flag_location]" value="before"
410
{if $setup.email_routing.flag_location|default:'' == 'before'}checked{/if}>
411
{t}Before Sender Name{/t}
414
<input type="radio" name="email_routing[flag_location]" value="after"
415
{if $setup.email_routing.flag_location|default:'' != 'before'}checked{/if}>
416
{t}After Sender Name{/t}
426
{t}Email Routing Interface{/t}
433
<input type="radio" name="email_routing[status]" value="enabled"
434
{if $setup.email_routing.status|default:'' == 'enabled'}checked{/if}>
438
<input type="radio" name="email_routing[status]" value="disabled"
439
{if $setup.email_routing.status|default:'' != 'enabled'}checked{/if}>
445
<td width="100" align="right">
446
{t}Email Address Prefix{/t}
449
<input type="text" name="email_routing[address_prefix]" value="{if $setup.email_routing.address_prefix|default:''}{$setup.email_routing.address_prefix}{else}issue-{/if}">
450
{include file="error_icon.tpl.html" field="email_routing[address_prefix]"}
451
<span>{t escape=no 1="<strong>issue-42</strong>@example.com"}(e.g. %1){/t}</span>
455
<td width="100" align="right">
456
{t}Address Hostname{/t}
459
<input type="text" name="email_routing[address_host]" value="{$setup.email_routing.address_host|default:''}">
460
{include file="error_icon.tpl.html" field="email_routing[address_host]"}
461
<span>{t escape=no 1="issue-51@<strong>example.com</strong>"}(e.g. %1){/t}</span>
465
<td width="100" align="right">
469
<input type="text" name="email_routing[host_alias]" value="{$setup.email_routing.host_alias|default:''}">
470
{include file="error_icon.tpl.html" field="email_routing[host_alias]"}
471
<span>{t}(Alternate domains that point to 'Address Hostname'){/t}</span>
475
<td width="100" align="right">
476
{t}Warn Users Whether They Can Send Emails to Issue{/t}
480
<input type="radio" name="email_routing[warning][status]" value="enabled"
481
{if $setup.email_routing.warning.status|default:'' == 'enabled'}checked{/if}>
485
<input type="radio" name="email_routing[warning][status]" value="disabled"
486
{if $setup.email_routing.warning.status|default:'' != 'enabled'}checked{/if}>
496
{t}Note Recipient Type Flag{/t}
501
<td width="100" align="right">
502
{t}Recipient Type Flag{/t}
505
<input type="text" name="note_routing[recipient_type_flag]" value="{$setup.note_routing.recipient_type_flag|default:''|escape:"html"}">
506
<span>{t}(This will be included in the From address of all notes sent by Eventum){/t}</span><br />
509
<input type="radio" name="note_routing[flag_location]" value="before"
510
{if $setup.note_routing.flag_location|default:'' == 'before'}checked{/if}>
511
{t}Before Sender Name{/t}
514
<input type="radio" name="note_routing[flag_location]" value="after"
515
{if $setup.note_routing.flag_location|default:'' != 'before'}checked{/if}>
516
{t}After Sender Name{/t}
526
{t}Internal Note Routing Interface{/t}
533
<input type="radio" name="note_routing[status]" value="enabled"
534
{if $setup.note_routing.status|default:'' == 'enabled'}checked{/if}>
538
<input type="radio" name="note_routing[status]" value="disabled"
539
{if $setup.note_routing.status|default:'' != 'enabled'}checked{/if}>
545
<td width="100" align="right">
546
{t}Note Address Prefix{/t}
549
<input type="text" name="note_routing[address_prefix]" value="{if $setup.note_routing.address_prefix|default:''}{$setup.note_routing.address_prefix}{else}note-{/if}">
550
{include file="error_icon.tpl.html" field="note_routing[address_prefix]"}
551
<span>{t escape=no 1="<strong>note-51</strong>@example.com"}(e.g. %1){/t}</span>
555
<td width="100" align="right">
556
{t}Address Hostname{/t}
559
<input type="text" name="note_routing[address_host]" value="{$setup.note_routing.address_host|default:''}">
560
{include file="error_icon.tpl.html" field="note_routing[address_host]"}
561
<span>{t escape=no 1="note-51@<strong>example.com</strong>"}(e.g. %1){/t}</span>
569
{t}Email Draft Interface{/t}
576
<input type="radio" name="draft_routing[status]" value="enabled"
577
{if $setup.draft_routing.status|default:'' == 'enabled'}checked{/if}>
581
<input type="radio" name="draft_routing[status]" value="disabled"
582
{if $setup.draft_routing.status|default:'' != 'enabled'}checked{/if}>
588
<td width="100" align="right">
589
{t}Draft Address Prefix{/t}
592
<input type="text" name="draft_routing[address_prefix]" value="{if $setup.draft_routing.address_prefix|default:''}{$setup.draft_routing.address_prefix}{else}draft-{/if}">
593
{include file="error_icon.tpl.html" field="draft_routing[address_prefix]"}
594
<span>{t escape=no 1="<strong>draft-51</strong>@example.com"}(e.g. %1){/t}</span>
598
<td width="100" align="right">
599
{t}Address Hostname{/t}
602
<input type="text" name="draft_routing[address_host]" value="{$setup.draft_routing.address_host|default:''}">
603
{include file="error_icon.tpl.html" field="draft_routing[address_host]"}
604
<span>{t escape=no 1="draft-51@<strong>example.com</strong>"}(e.g. %1){/t}</span>
612
{t}Email Integration Feature{/t}
616
<input type="radio" name="support_email" value="enabled" {if $setup.support_email|default:'' == 'enabled'}checked{/if}>
620
<input type="radio" name="support_email" value="disabled" {if $setup.support_email|default:'' != 'enabled'}checked{/if}>
631
<input type="radio" name="daily_tips" value="enabled" {if $setup.daily_tips|default:'' == 'enabled'}checked{/if}>
635
<input type="radio" name="daily_tips" value="disabled" {if $setup.daily_tips|default:'' != 'enabled'}checked{/if}>
642
{t}Email Spell Checker{/t}
646
<input type="radio" name="spell_checker" value="enabled" {if $setup.spell_checker|default:'' == 'enabled'}checked{/if}>
650
<input type="radio" name="spell_checker" value="disabled" {if $setup.spell_checker|default:'' != 'enabled'}checked{/if}>
654
<span>{t escape=no 1='<a target="_blank" href="http://aspell.sourceforge.net/">aspell</a>'}(requires %1 installed in your server){/t}</span>
659
{t}IRC Notifications{/t}
663
<input type="radio" name="irc_notification" value="enabled" {if $setup.irc_notification|default:'' == 'enabled'}checked{/if}>
667
<input type="radio" name="irc_notification" value="disabled" {if $setup.irc_notification|default:'' != 'enabled'}checked{/if}>
674
{t}Allow Un-Assigned Issues?{/t}
678
<input type="radio" name="allow_unassigned_issues" value="yes" {if $setup.allow_unassigned_issues|default:'' == 'yes'}checked{/if}>
682
<input type="radio" name="allow_unassigned_issues" value="no" {if $setup.allow_unassigned_issues|default:'' != 'yes'}checked{/if}>
689
{t}Default Options for Notifications{/t}
692
<label><input type="checkbox" name="update" {if $setup.update|default:''}checked{/if} value="1"> {t}Issues are Updated{/t}</label><br />
693
<label><input type="checkbox" name="closed" {if $setup.closed|default:''}checked{/if} value="1"> {t}Issues are Closed{/t}</label><br />
694
<label><input type="checkbox" name="emails" {if $setup.emails|default:''}checked{/if} value="1"> {t}Emails are Associated{/t}</label><br />
695
<label><input type="checkbox" name="files" {if $setup.files|default:''}checked{/if} value="1"> {t}Files are Attached{/t}</label>
700
{t}Email Reminder System Status Information{/t}
707
<input type="radio" name="email_reminder[status]" value="enabled"
708
{if $setup.email_reminder.status|default:'' == 'enabled'}checked{/if}>
712
<input type="radio" name="email_reminder[status]" value="disabled"
713
{if $setup.email_reminder.status|default:'' != 'enabled'}checked{/if}>
719
<td width="100" align="right">
720
{t}Email Addresses To Send Information To{/t}
723
<input type="text" name="email_reminder[addresses]" value="{$setup.email_reminder.addresses|default:''|escape:"html"}" size="50">
724
<span>{t}(separate multiple addresses with commas){/t}</span>
732
{t}Email Error Logging System{/t}
739
<input type="radio" name="email_error[status]" value="enabled"
740
{if $setup.email_error.status|default:'' == 'enabled'}checked{/if}>
744
<input type="radio" name="email_error[status]" value="disabled"
745
{if $setup.email_error.status|default:'' != 'enabled'}checked{/if}>
751
<td width="100" align="right">
752
{t}Email Addresses To Send Errors To{/t}
755
<input type="text" name="email_error[addresses]" value="{$setup.email_error.addresses|default:''|escape:"html"}" size="50">
756
<span>{t}(separate multiple addresses with commas){/t}</span>
764
<input type="submit" value="{t}Update Setup{/t}">
765
<input type="reset" value="{t}Reset{/t}">
b'\\ No newline at end of file'