Fixed relative path for rt-libs.
[usit-rt.git] / share / html / Ticket / Elements / PreviewScrips
CommitLineData
84fb5b46
MKG
1%# BEGIN BPS TAGGED BLOCK {{{
2%#
3%# COPYRIGHT:
4%#
403d7b0b 5%# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC
84fb5b46
MKG
6%# <sales@bestpractical.com>
7%#
8%# (Except where explicitly superseded by other copyright notices)
9%#
10%#
11%# LICENSE:
12%#
13%# This work is made available to you under the terms of Version 2 of
14%# the GNU General Public License. A copy of that license should have
15%# been provided with this software, but in any event can be snarfed
16%# from www.gnu.org.
17%#
18%# This work is distributed in the hope that it will be useful, but
19%# WITHOUT ANY WARRANTY; without even the implied warranty of
20%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21%# General Public License for more details.
22%#
23%# You should have received a copy of the GNU General Public License
24%# along with this program; if not, write to the Free Software
25%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26%# 02110-1301 or visit their web page on the internet at
27%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
28%#
29%#
30%# CONTRIBUTION SUBMISSION POLICY:
31%#
32%# (The following paragraph is not intended to limit the rights granted
33%# to you to modify and distribute this software under the terms of
34%# the GNU General Public License and is only of importance to you if
35%# you choose to contribute your changes and enhancements to the
36%# community by submitting them to Best Practical Solutions, LLC.)
37%#
38%# By intentionally submitting any modifications, corrections or
39%# derivatives to this work, or any other work intended for use with
40%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
41%# you are the copyright holder for those contributions and you grant
42%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
43%# royalty-free, perpetual, license to use, copy, create derivative
44%# works based on those contributions, and sublicense and distribute
45%# those contributions and any derivatives thereof.
46%#
47%# END BPS TAGGED BLOCK }}}
48<%args>
49$TicketObj => undef
50</%args>
51<%init>
52my $Object = $m->notes("DryRun-".$TicketObj->Id) || $TicketObj->DryRun(%ARGS);
53my %recips = %{ $m->notes("DryRun-Recipients-".$TicketObj->Id) || {} };
54return unless $Object;
c36a7e1d
MKG
55
56my %squelched = ProcessTransactionSquelching( \%ARGS );
84fb5b46
MKG
57</%init>
58<p>
59<&|/l, RT->Config->Get('WebPath')."/Ticket/ModifyPeople.html?id=".$TicketObj->Id,
60&>Uncheck boxes to disable notifications to the listed recipients <b>for this transaction only</b>; persistent squelching is managed on the <a href="[_1]">People page</a>.</&>
61</p>
62
63% if ( $Object->Scrips ) {
64% # Sort scrips with recipients before those without
65% my @scrips = map { $_->[0] }
66% sort { ($b->[1]?1:0) <=> ($a->[1]?1:0) }
67% map { [$_, $_->ActionObj->Action->To + $_->ActionObj->Action->Cc + $_->ActionObj->Action->Bcc] }
68% grep {$_->ActionObj->Action->isa('RT::Action::SendEmail')}
69% @{$Object->Scrips->Prepared};
70% for my $scrip (@scrips) {
71 <b><% $scrip->Description || loc('Scrip #[_1]',$scrip->id) %></b><br />
af59614d 72 <&|/l, loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->Template)&>[_1] [_2] with template [_3]</&>
84fb5b46
MKG
73 <br />
74% for my $type (qw(To Cc Bcc)) {
75% my @addresses = $scrip->ActionObj->Action->$type();
76% next unless @addresses;
77 <ul>
78% for my $addr (@addresses) {
79 <li>
c36a7e1d 80% my $checked = not $squelched{$addr->address};
84fb5b46
MKG
81% $m->callback(CallbackName => 'BeforeAddress', Ticket => $TicketObj, Address => $addr, Type => $type, Checked => \$checked);
82% $recips{$addr->address}++;
83 <b><%loc($type)%></b>: <input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" />
84 <label for="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>"><& /Elements/ShowUser, Address => $addr &></label>
85% $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => $addr, Type => $type);
86 </li>
87% }
88 </ul>
89% }
90% if (RT->Config->Get('PreviewScripMessages')) {
91 <textarea cols="80" rows="5"><%$scrip->ActionObj->TemplateObj->MIMEObj->as_string%></textarea>
92% }
93 <br />
94% }
95% }
96
97% if ( $Object->Rules ) {
98% for my $rule (@{$Object->Rules}) {
99% next unless $rule->{hints} && $rule->{hints}{class} eq 'SendEmail';
100 <b><% $rule->Describe %></b>
101% my $data = $rule->{hints}{recipients};
102% for my $type (qw(To Cc Bcc)) {
103% next unless @{$data->{$type}};
104 <ul>
105% for my $address (@{$data->{$type}}) {
106 <li>
c36a7e1d 107% my $checked = not $squelched{$address};
84fb5b46
MKG
108% $m->callback(CallbackName => 'BeforeAddress', Ticket => $TicketObj, Address => Email::Address->parse($address), Type => $type, Checked => \$checked);
109% $recips{$address}++;
110 <b><%loc($type)%></b>: <input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$address%>" id="TxnSendMailTo-<% $address %>-<% $recips{$address} %>" />
111 <label for="TxnSendMailTo-<% $address %>-<% $recips{$address} %>"><%$address%></label>
112% $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => Email::Address->parse($address), Type => $type);
113 </li>
114% }
115 </ul>
116% }
117 <br />
118% }
119% }
120
403d7b0b
MKG
121% $m->callback( CallbackName => 'AfterRecipients', TicketObj => $TicketObj );
122
84fb5b46 123% $m->notes("DryRun-Recipients-".$TicketObj->Id, \%recips);