[Rt-commit] r4427 - in rt/branches/3.5-TESTING: html/Admin/Elements
html/Admin/Groups
kevinr at bestpractical.com
kevinr at bestpractical.com
Fri Jan 20 17:31:36 EST 2006
Author: kevinr
Date: Fri Jan 20 17:31:36 2006
New Revision: 4427
Modified:
rt/branches/3.5-TESTING/ (props changed)
rt/branches/3.5-TESTING/html/Admin/Elements/SelectNewGroupMembers
rt/branches/3.5-TESTING/html/Admin/Groups/Members.html
Log:
r10418 at STRATTON-FIVE-HUNDRED: kevinr | 2006-01-20 17:28:00 -0500
RT-Ticket: 7148
RT-Status: update
RT-Update: correspond
Applied Todd Chapman's patch, which:
1. Orders user members of a group by Name
2. If a user/group is already a member, doesn't list them in the select
3. Doesn't list the group itself because a group can't have itself
as a member
Modified: rt/branches/3.5-TESTING/html/Admin/Elements/SelectNewGroupMembers
==============================================================================
--- rt/branches/3.5-TESTING/html/Admin/Elements/SelectNewGroupMembers (original)
+++ rt/branches/3.5-TESTING/html/Admin/Elements/SelectNewGroupMembers Fri Jan 20 17:31:36 2006
@@ -47,6 +47,7 @@
<b><&|/l&>Users</&></b>
<select multiple name="<%$Name%>Users" size="10">
%while (my $user = $users->Next) {
+%next if $SkipUsers->{$user->id};
<option value="User-<%$user->id%>"><%$user->Name%></option>
%}
</select>
@@ -56,6 +57,7 @@
<b><&|/l&>Groups</&></b>
<select multiple name="<%$Name%>Groups" size="10">
%while (my $group = $groups->Next) {
+%next if $SkipGroups->{$group->id};
<option value="Group-<%$group->id%>"><%$group->Name%></option>
%}
</select>
@@ -90,4 +92,6 @@
$Name => 'Users'
$Show => 'All'
$Group
+$SkipUsers => {}
+$SkipGroups => {}
</%ARGS>
Modified: rt/branches/3.5-TESTING/html/Admin/Groups/Members.html
==============================================================================
--- rt/branches/3.5-TESTING/html/Admin/Groups/Members.html (original)
+++ rt/branches/3.5-TESTING/html/Admin/Groups/Members.html Fri Jan 20 17:31:36 2006
@@ -74,12 +74,13 @@
<br />
<br />
<&|/l&>Users</&>
-% my $UserMembers = $Group->MembersObj;
-% $UserMembers->LimitToUsers();
+% my $Users = $Group->UserMembersObj;
+% $Users->OrderBy( FIELD => $UserOrderBy, ORDER => $UserOrder );
<ul>
-% while (my $member = $UserMembers->Next()) {
-<li><input type="checkbox" class="checkbox" name="DeleteMember-<%$member->MemberId%>" value="1" />
-<%$member->MemberObj->Object->Name%> (<%$member->MemberObj->Object->RealName%>)
+% while (my $user = $Users->Next()) {
+% $UsersSeen{$user->id} = 1 if $SkipSeenUsers;
+<li><input type="checkbox" class="checkbox" name="DeleteMember-<%$user->PrincipalObj->Id%>" value="1" />
+<%$user->Name%> (<%$user->RealName%>)
% }
</ul>
<&|/l&>Groups</&>
@@ -87,6 +88,7 @@
% my $GroupMembers = $Group->MembersObj;
% $GroupMembers->LimitToGroups();
% while (my $member = $GroupMembers->Next()) {
+% $GroupsSeen{$member->MemberId} = 1 if $SkipSeenGroups;
<li><input type="checkbox" class="checkbox" name="DeleteMember-<%$member->MemberId%>" value="1" />
<%$member->MemberObj->Object->Name%>
% }
@@ -94,7 +96,8 @@
</ul>
</td>
<td valign="top">
-<& /Admin/Elements/SelectNewGroupMembers, Name => "AddMembers", Group => $Group &>
+<& /Admin/Elements/SelectNewGroupMembers, Name => "AddMembers", Group => $Group,
+ SkipUsers => \%UsersSeen, SkipGroups => \%GroupsSeen &>
</td>
</tr>
</table>
@@ -146,6 +149,9 @@
push (@results, $msg);
}
+my %UsersSeen;
+my %GroupsSeen;
+$GroupsSeen{$Group->id} = 1; # can't be a member of ourself
</%INIT>
@@ -153,4 +159,8 @@
$AddMembersUsers => undef
$AddMembersGroups => undef
$id => undef
+$UserOrderBy => 'Name'
+$UserOrder => 'ASC'
+$SkipSeenUsers => 1
+$SkipSeenGroups => 1
</%ARGS>
More information about the Rt-commit
mailing list