]> git.uio.no Git - usit-rt.git/blame_incremental - share/html/Ticket/Elements/ShowSimplifiedRecipients
Upgrade to 4.0.8 with mod of ExternalAuth + absolute paths to ticket-menu.
[usit-rt.git] / share / html / Ticket / Elements / ShowSimplifiedRecipients
... / ...
CommitLineData
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
50</%args>
51<%init>
52return unless RT->Config->Get('SimplifiedRecipients', $session{'CurrentUser'});
53
54my $Object = $m->notes("DryRun-".$TicketObj->Id) || $TicketObj->DryRun(%ARGS);
55$m->notes("DryRun-".$TicketObj->Id, $Object);
56return unless $Object;
57
58my %headers = (To => {}, Cc => {}, Bcc => {});
59if ($Object->Scrips) {
60 for my $scrip (grep $_->ActionObj->Action->isa('RT::Action::SendEmail'), @{$Object->Scrips->Prepared}) {
61 for my $type (qw(To Cc Bcc)) {
62 $headers{$type}{$_->address} = $_
63 for $scrip->ActionObj->Action->$type();
64 }
65 }
66}
67if ($Object->Rules) {
68 for my $rule (grep {$_->{hints} and $_->{hints}{class} eq "SendEmail"} @{$Object->Rules}) {
69 for my $type (qw(To Cc Bcc)) {
70 $headers{$type}{$_} ||= @{[Email::Address->parse($_)]}[0] # Hate list context
71 for @{$rule->{hints}{recipients}{$type}};
72 }
73 }
74}
75my %recips;
76</%init>
77<&|/Widgets/TitleBox, title => loc('Recipients'), id => 'recipients' &>
78<table>
79<tr>
80% for my $type (qw(To Cc Bcc)) {
81% next unless keys %{$headers{$type}};
82<td valign="top"><% $type %>:</td>
83<td valign="top">
84% for my $addr (sort {$a->address cmp $b->address} values %{$headers{$type}}) {
85% my $checked = 1;
86% $m->callback(CallbackName => 'BeforeAddress', Ticket => $TicketObj, Address => $addr, Type => $type, Checked => \$checked);
87% $recips{$addr->address}++;
88<input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" />
89<label for="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>"><& /Elements/ShowUser, Address => $addr &></label>
90% $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => $addr, Type => $type);
91<br />
92% }
93</td></tr>
94% }
95</table>
96<i>(Uncheck boxes to disable notifications to the listed
97recipients. Does <b>not</b> change who will receive future
98updates.)</i>
99</&>
100% $m->notes("DryRun-Recipients-".$TicketObj->Id, \%recips);