[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