1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
<% include('/elements/header-popup.html', 'Redirect all mail') %>
<% include('/elements/error.html') %>
<FORM NAME="RedirectAllForm" ACTION="process/cgp_rule-redirect_all.html" METHOD=POST>
<INPUT TYPE="hidden" NAME="svcnum" VALUE="<% $opt{'svcnum'} %>">
<% ntable("#cccccc", 2) %>
<TR>
<TD ALIGN="right">Redirect all mail to</TD>
<TD><textarea name="RedirectText" rows="5" cols="50"><% $mirror_or_redir ? $mirror_or_redir->params : '' %></textarea></TD>
</TR>
<% include('/elements/tr-checkbox.html',
'field' => 'RedirKeep',
'label' => 'Keep a copy',
'value' => 1,
'curr_value' => ( $cgi->param('error')
? scalar($cgi->param('RedirKeep'))
: ( ($redir_keep || !$cgp_rule) ? '' : 1 )
),
)
%>
<% include('/elements/tr-checkbox.html',
'field' => 'RedirHuman',
'label' => 'Do not redirect automatic messages',
'value' => 1,
'curr_value' => ( $cgi->param('error')
? scalar($cgi->param('RedirHuman'))
: ( $redir_human ? 1 : '' )
),
)
%>
<% include('/elements/tr-checkbox.html',
'field' => 'KeepToAndCc',
'label' => 'Preserve To/Cc fields',
'value' => 1,
'curr_value' => ( $cgi->param('error')
? scalar($cgi->param('KeepToAndCc'))
: ( $mirror_or_redir &&
$mirror_or_redir->action eq 'Mirror To' )
),
)
%>
</TABLE>
<BR>
<INPUT TYPE="submit" VALUE="Redirect all mail">
</FORM>
</BODY>
</HTML>
<%init>
my %opt = @_;
my $svc_acct = qsearchs('svc_acct', { 'svcnum' => $opt{'svcnum'} } )
or die "unknown svcnum";
#look for existing rule
my $cgp_rule = qsearchs('cgp_rule', { 'svcnum' => $svc_acct->svcnum,
'name' => '#Redirect'
}
);
my( $redir_human, $mirror_or_redir, $redir_keep ) = ( '', '', '' );
if ( $cgp_rule ) {
$redir_human = qsearchs('cgp_rule_condition', {
'rulenum' => $cgp_rule->rulenum,
'conditionname' => 'Human Generated',
});
$mirror_or_redir = qsearchs({
'table' => 'cgp_rule_action',
'hashref' => { 'rulenum' => $cgp_rule->rulenum, },
'extra_sql' => " AND action IN ('Mirror To', 'Redirect To') ",
});
$redir_keep = qsearchs('cgp_rule_action', {
'rulenum' => $cgp_rule->rulenum,
'action' => 'Discard',
});
}
</%init>
|