X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fhtml%2FAdmin%2FGroups%2FMembers.html;h=5d189a12263b9658689df24898e74e9f9462d6d2;hp=6e669666f2d9dbfc2a4e890c1e39cf9e0268fc76;hb=ef20b2b6b1feb47ad02b5ff7525f1a0fd11d0fa4;hpb=945721f48f74d5cfffef7c7cf3a3d6bc2521f5dd diff --git a/rt/html/Admin/Groups/Members.html b/rt/html/Admin/Groups/Members.html index 6e669666f..5d189a122 100644 --- a/rt/html/Admin/Groups/Members.html +++ b/rt/html/Admin/Groups/Members.html @@ -1,8 +1,14 @@ -%# BEGIN LICENSE BLOCK +%# BEGIN BPS TAGGED BLOCK {{{ %# -%# Copyright (c) 1996-2003 Jesse Vincent +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC +%# %# -%# (Except where explictly superceded by other copyright notices) +%# (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 @@ -14,13 +20,31 @@ %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %# General Public License for more details. %# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. +%# 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/copyleft/gpl.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.) %# -%# END LICENSE BLOCK +%# 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 +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# 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 => "RT/Admin/Edit the group ". $Group->Name &> <& /Admin/Elements/GroupTabs, GroupObj => $Group, current_tab => 'Admin/Groups/Members.html?id='.$id, @@ -28,36 +52,37 @@ <& /Elements/ListActions, actions => \@results &> -<& /Elements/TitleBoxStart, title => loc('Editing membership for group [_1]', $Group->Name) &> +<&| /Widgets/TitleBox, title => loc('Editing membership for group [_1]', $Group->Name) &> -
- - - - + + +
+ + + + + - + - + + - - + - - -

<&|/l&>Current members

-
+

<&|/l&>Add members

-
+
% if ($Group->MembersObj->Count == 0 ) { -<&|/l&>(No members) +<&|/l&>(No members) % } else { -<&|/l&>(Check box to delete) -
-
+<&|/l&>(Check box to delete) +
+
<&|/l&>Users -% my $UserMembers = $Group->MembersObj; -% $UserMembers->LimitToUsers(); -
    -% while (my $member = $UserMembers->Next()) { -
  • -<%$member->MemberObj->Object->Name%> (<%$member->MemberObj->Object->RealName%>) +% my $Users = $Group->UserMembersObj; +% $Users->OrderBy( FIELD => $UserOrderBy, ORDER => $UserOrder ); +
      +% while (my $user = $Users->Next()) { +% $UsersSeen{$user->id} = 1 if $SkipSeenUsers; +
    • +<%$user->Name%> (<%$user->RealName%>) % }
    <&|/l&>Groups @@ -65,19 +90,21 @@ % my $GroupMembers = $Group->MembersObj; % $GroupMembers->LimitToGroups(); % while (my $member = $GroupMembers->Next()) { -
  • +% $GroupsSeen{$member->MemberId} = 1 if $SkipSeenGroups; +
  • <%$member->MemberObj->Object->Name%> % } % } -
-
-<& /Admin/Elements/SelectNewGroupMembers, Name => "AddMembers", Group => $Group &> -
-<& /Elements/TitleBoxEnd &> -<& /Elements/Submit, Caption => loc("Be sure to save your changes"), Reset => 1 &> + +
+<& /Admin/Elements/SelectNewGroupMembers, Name => "AddMembers", Group => $Group, + SkipUsers => \%UsersSeen, SkipGroups => \%GroupsSeen &> +
+ +<& /Elements/Submit, Label => loc('Modify Members'), Reset => 1 &>
@@ -124,6 +151,9 @@ foreach my $member (@AddMembers) { push (@results, $msg); } +my %UsersSeen; +my %GroupsSeen; +$GroupsSeen{$Group->id} = 1; # can't be a member of ourself @@ -131,4 +161,8 @@ foreach my $member (@AddMembers) { $AddMembersUsers => undef $AddMembersGroups => undef $id => undef +$UserOrderBy => 'Name' +$UserOrder => 'ASC' +$SkipSeenUsers => 1 +$SkipSeenGroups => 1