Merge branch 'master' of git.uio.no:usit-rt
[usit-rt.git] / share / html / Ticket / Elements / PreviewScrips
CommitLineData
84fb5b46
MKG
1%# BEGIN BPS TAGGED BLOCK {{{
2%#
3%# COPYRIGHT:
4%#
5%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC
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;
55</%init>
56<p>
57<&|/l, RT->Config->Get('WebPath')."/Ticket/ModifyPeople.html?id=".$TicketObj->Id,
58&>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>.</&>
59</p>
60
61% if ( $Object->Scrips ) {
62% # Sort scrips with recipients before those without
63% my @scrips = map { $_->[0] }
64% sort { ($b->[1]?1:0) <=> ($a->[1]?1:0) }
65% map { [$_, $_->ActionObj->Action->To + $_->ActionObj->Action->Cc + $_->ActionObj->Action->Bcc] }
66% grep {$_->ActionObj->Action->isa('RT::Action::SendEmail')}
67% @{$Object->Scrips->Prepared};
68% for my $scrip (@scrips) {
69 <b><% $scrip->Description || loc('Scrip #[_1]',$scrip->id) %></b><br />
70 <&|/l, loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name)&>[_1] [_2] with template [_3]</&>
71 <br />
72% for my $type (qw(To Cc Bcc)) {
73% my @addresses = $scrip->ActionObj->Action->$type();
74% next unless @addresses;
75 <ul>
76% for my $addr (@addresses) {
77 <li>
78% my $checked = 1;
79% $m->callback(CallbackName => 'BeforeAddress', Ticket => $TicketObj, Address => $addr, Type => $type, Checked => \$checked);
80% $recips{$addr->address}++;
81 <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} %>" />
82 <label for="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>"><& /Elements/ShowUser, Address => $addr &></label>
83% $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => $addr, Type => $type);
84 </li>
85% }
86 </ul>
87% }
88% if (RT->Config->Get('PreviewScripMessages')) {
89 <textarea cols="80" rows="5"><%$scrip->ActionObj->TemplateObj->MIMEObj->as_string%></textarea>
90% }
91 <br />
92% }
93% }
94
95% if ( $Object->Rules ) {
96% for my $rule (@{$Object->Rules}) {
97% next unless $rule->{hints} && $rule->{hints}{class} eq 'SendEmail';
98 <b><% $rule->Describe %></b>
99% my $data = $rule->{hints}{recipients};
100% for my $type (qw(To Cc Bcc)) {
101% next unless @{$data->{$type}};
102 <ul>
103% for my $address (@{$data->{$type}}) {
104 <li>
105% my $checked = 1;
106% $m->callback(CallbackName => 'BeforeAddress', Ticket => $TicketObj, Address => Email::Address->parse($address), Type => $type, Checked => \$checked);
107% $recips{$address}++;
108 <b><%loc($type)%></b>: <input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$address%>" id="TxnSendMailTo-<% $address %>-<% $recips{$address} %>" />
109 <label for="TxnSendMailTo-<% $address %>-<% $recips{$address} %>"><%$address%></label>
110% $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => Email::Address->parse($address), Type => $type);
111 </li>
112% }
113 </ul>
114% }
115 <br />
116% }
117% }
118
119% $m->notes("DryRun-Recipients-".$TicketObj->Id, \%recips);