X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FTicket%2FElements%2FAddWatchers;h=2a18f411c71c44466f7499f42b2b3fc0c3d2e3ea;hp=d2b222dd5e99fa2bcd12f977b354c461e11d45ff;hb=de9d037528895f7151a9aead6724ce2df95f9586;hpb=b4b0c7e72d7eaee2fbfc7022022c9698323203dd diff --git a/rt/share/html/Ticket/Elements/AddWatchers b/rt/share/html/Ticket/Elements/AddWatchers index d2b222dd5..2a18f411c 100755 --- a/rt/share/html/Ticket/Elements/AddWatchers +++ b/rt/share/html/Ticket/Elements/AddWatchers @@ -1,40 +1,40 @@ %# BEGIN BPS TAGGED BLOCK {{{ -%# +%# %# COPYRIGHT: -%# -%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC -%# -%# +%# +%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC +%# +%# %# (Except where explicitly superseded by other copyright notices) -%# -%# +%# +%# %# LICENSE: -%# +%# %# This work is made available to you under the terms of Version 2 of %# the GNU General Public License. A copy of that license should have %# been provided with this software, but in any event can be snarfed %# from www.gnu.org. -%# +%# %# This work is distributed in the hope that it will be useful, but %# WITHOUT ANY WARRANTY; without even the implied warranty of %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %# General Public License for more details. -%# +%# %# You should have received a copy of the GNU General Public License %# along with this program; if not, write to the Free Software %# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA %# 02110-1301 or visit their web page on the internet at %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -%# -%# +%# +%# %# CONTRIBUTION SUBMISSION POLICY: -%# +%# %# (The following paragraph is not intended to limit the rights granted %# to you to modify and distribute this software under the terms of %# the GNU General Public License and is only of importance to you if %# you choose to contribute your changes and enhancements to the %# community by submitting them to Best Practical Solutions, LLC.) -%# +%# %# By intentionally submitting any modifications, corrections or %# derivatives to this work, or any other work intended for use with %# Request Tracker, to Best Practical Solutions, LLC, you confirm that @@ -43,7 +43,7 @@ %# royalty-free, perpetual, license to use, copy, create derivative %# works based on those contributions, and sublicense and distribute %# those contributions and any derivatives thereof. -%# +%# %# END BPS TAGGED BLOCK }}}

@@ -69,7 +69,7 @@ <&|/l&>Group % while (my $g = $Groups->Next ) { -<&/Elements/SelectWatcherType, Name => "Ticket-AddWatcher-Principal-".$g->PrincipalId, Scope => 'queue' &><%$g->Name%> (<%$g->Description%>) +<&/Elements/SelectWatcherType, Name => "Ticket-AddWatcher-Principal-".$g->PrincipalId &><%$g->Name%> (<%$g->Description%>) % } % } @@ -84,7 +84,7 @@ <&/Elements/SelectWatcherType, Name => "WatcherTypeEmail".$counter &> - + <%$email->format%> % } @@ -110,19 +110,26 @@ my ($Users, $Groups); if ($UserString) { $Users = RT::Users->new($session{'CurrentUser'}); - $Users->Limit(FIELD => $UserField, VALUE => $UserString, OPERATOR => $UserOp); + $Users->Limit(FIELD => $UserField, VALUE => $UserString, OPERATOR => $UserOp, CASESENSITIVE => 0); $Users->LimitToPrivileged if $PrivilegedOnly; - } +} if ($GroupString) { $Groups = RT::Groups->new($session{'CurrentUser'}); - $Groups->Limit(FIELD => 'Domain', OPERATOR => '=', VALUE => 'UserDefined'); - $Groups->Limit(FIELD => $GroupField, VALUE => $GroupString, OPERATOR => $GroupOp); - } + $Groups->LimitToUserDefinedGroups; + $Groups->Limit(FIELD => $GroupField, VALUE => $GroupString, OPERATOR => $GroupOp, CASESENSITIVE => 0); +} my @extras; for my $addr ( values %{$Ticket->TransactionAddresses} ) { - push @extras, $addr unless ($Ticket->IsWatcher( Email => $addr->address)); + my $is_watcher; + for my $type ( qw/Owner Requestor Cc AdminCc/ ) { + if ($Ticket->IsWatcher( Email => $addr->address, Type => $type )) { + $is_watcher = 1; + last; + } + } + push @extras, $addr unless $is_watcher; }