summaryrefslogtreecommitdiff
path: root/httemplate/edit/cgp_rule-redirect_all.html
blob: c8c9e010c4e3bab600225149efc5835e3b40a781 (plain)
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>