X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FAdmin%2FGroups%2FMembers.html;h=3003f83c5f08c82e9f7e2bd3c4b99d9574e876ed;hp=62bd8c843e98c0a5aa3ef3c70dd2ec2be95d704a;hb=187086c479a09629b7d180eec513fb7657f4e291;hpb=b4b0c7e72d7eaee2fbfc7022022c9698323203dd diff --git a/rt/share/html/Admin/Groups/Members.html b/rt/share/html/Admin/Groups/Members.html index 62bd8c843..3003f83c5 100755 --- a/rt/share/html/Admin/Groups/Members.html +++ b/rt/share/html/Admin/Groups/Members.html @@ -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-2018 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,12 +43,10 @@ %# 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 }}} -<& /Admin/Elements/Header, Title => loc('RT/Admin/Edit the group [_1]', $Group->Name) &> -<& /Admin/Elements/GroupTabs, GroupObj => $Group, - current_tab => 'Admin/Groups/Members.html?id='.$id, - Title => "RT/Admin/Edit the group ". $Group->Name &> +<& /Admin/Elements/Header, Title => $title &> +<& /Elements/Tabs &> <& /Elements/ListActions, actions => \@results &>
@@ -75,16 +73,16 @@ <&|/l&>Users % my $Users = $Group->UserMembersObj( Recursively => 0 ); <%perl> -my @users = sort { lc($a->[0]) cmp lc($b->[0]) } - map { [$m->scomp("/Elements/ShowUser", User => $_), $_] } +my @users = map {$_->[1]} + sort { lc($a->[0]) cmp lc($b->[0]) } + map { [$_->Format, $_] } @{ $Users->ItemsArrayRef };
    -% for (@users) { -% my ($rendered, $user) = @$_; +% for my $user (@users) { % $UsersSeen{ $user->id } = 1 if $SkipSeenUsers;
  • -<% $rendered |n%>
  • +<& /Elements/ShowUser, User => $user &> % }
<&|/l&>Groups @@ -94,7 +92,7 @@ my @users = sort { lc($a->[0]) cmp lc($b->[0]) } % while ( my $member = $GroupMembers->Next ) { % $GroupsSeen{ $member->MemberId } = 1 if $SkipSeenGroups;
  • -<% $member->MemberObj->Object->Name %> +<% $member->MemberObj->Object->Name %> % } % } @@ -113,9 +111,11 @@ my @users = sort { lc($a->[0]) cmp lc($b->[0]) } <%INIT> -my $Group = new RT::Group($session{'CurrentUser'}); +my $Group = RT::Group->new($session{'CurrentUser'}); $Group->Load($id) || Abort(loc('Could not load group')); +my $title = loc("Modify the group [_1]", $Group->Name); + my (%UsersSeen, %GroupsSeen); $GroupsSeen{ $Group->id } = 1; # can't be a member of ourself @@ -129,25 +129,37 @@ foreach my $key (keys %ARGS) { push (@results, $msg); } -foreach my $member (grep $_, @AddMembersUsers, @AddMembersGroups) { +# Process new users +foreach my $member (grep $_, @AddMembersUsers) { + my $principal = RT::User->new($session{'CurrentUser'}); + + if ($member =~ /^User-(\d+)$/) { + # Old style, using id + $principal->Load($1); + } else { + # New style, just a username + $principal->Load($member); + } + + my ($val, $msg) = $Group->AddMember($principal->PrincipalId); + push (@results, $msg); +} - my $principal; +# Process new groups +foreach my $member (grep $_, @AddMembersGroups) { + my $principal = RT::Group->new($session{'CurrentUser'}); if ($member =~ /^Group-(\d+)$/) { - $principal = RT::Group->new($session{'CurrentUser'}); - $principal->Load($1); - } elsif ($member =~ /^User-(\d+)$/) { - $principal = RT::User->new($session{'CurrentUser'}); + # Old style, using id $principal->Load($1); } else { - next; + # New style, just a group name + $principal->LoadUserDefinedGroup($member); } - my ($val, $msg) = $Group->AddMember($principal->PrincipalId); push (@results, $msg); } - <%ARGS>