[Rt-commit] rt branch, 4.4/admin-group-members-paging, repushed

? sunnavy sunnavy at bestpractical.com
Tue May 18 18:18:49 EDT 2021


The branch 4.4/admin-group-members-paging was deleted and repushed:
       was c920e0782c61c0efc42f8ce6d05731cbc1c4f2b4
       now 48d10b0803a8e7cf645565c0a470755d8c3f928e

1: b5e7be5bfd < -:  ------- Sort group members by name on group Members page
2: c920e0782c ! 1: 48d10b0803 Add paging support for group Members page
    @@ -1,6 +1,9 @@
     Author: sunnavy <sunnavy at bestpractical.com>
     
         Add paging support for group Members page
    +    
    +    To support paging efficiently, we need to sort users/groups at database
    +    level, thus the special "Format" order of users is dropped.
     
     diff --git a/share/html/Admin/Groups/Members.html b/share/html/Admin/Groups/Members.html
     --- a/share/html/Admin/Groups/Members.html
    @@ -12,26 +15,46 @@
     +<input type="hidden" class="hidden" name="Rows" value="<% $Rows %>" />
     +<input type="hidden" class="hidden" name="Page" value="<% $Page %>" />
      
    - <&| /Widgets/TitleBox, title => loc('Editing membership for group [_1]', $Group->Label) &>
    + % $m->callback(CallbackName => 'BeforeEditMembership', %ARGS, Actions => \@results, ARGSRef => \%ARGS, Group => $Group);
      
     @@
      % } else {
      <&|/l&>Users</&>
      % my $Users = $Group->UserMembersObj( Recursively => 0 );
    +-<%perl>
    +-my @users = map {$_->[1]}
    +-            sort { lc($a->[0]) cmp lc($b->[0]) }
    +-            map { [$_->Format, $_] }
    +-            @{ $Users->ItemsArrayRef };
    +-</%perl>
     +% $Users->RowsPerPage($Rows);
     +% $Users->GotoPage($Page - 1);
    - <%perl>
    - my @users = map {$_->[1]}
    -             sort { lc($a->[0]) cmp lc($b->[0]) }
    + <ul>
    +-% for my $user (@users) {
    ++% while ( my $user = $Users->Next ) {
    + % $UsersSeen{ $user->id } = 1 if $SkipSeenUsers;
    + <li><input type="checkbox" class="checkbox" name="DeleteMember-<% $user->PrincipalObj->Id %>" value="1" />
    + <& /Elements/ShowUser, User => $user &></li>
     @@
    + </ul>
      <&|/l&>Groups</&>
      <ul>
    - % my $Groups = $Group->GroupMembersObj( Recursively => 0 );
    +-% 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" />
    +-<a href="<% RT->Config->Get('WebPath') %>/Admin/Groups/Modify.html?id=<% $member->MemberObj->Object->id %>"><% $member->MemberObj->Object->Name %></a>
    ++% my $Groups = $Group->GroupMembersObj( Recursively => 0 );
     +% $Groups->RowsPerPage($Rows);
     +% $Groups->GotoPage($Page - 1);
    - % my @groups = sort { lc( $a->Name ) cmp lc( $b->Name ) } @{ $Groups->ItemsArrayRef };
    - % for my $group ( @groups ) {
    - % $GroupsSeen{ $group->id } = 1 if $SkipSeenGroups;
    ++% while ( my $group = $Groups->Next ) {
    ++% $GroupsSeen{ $group->id } = 1 if $SkipSeenGroups;
    ++<li><input type="checkbox" class="checkbox" name="DeleteMember-<% $group->id %>" value="1" />
    ++<a href="<% RT->Config->Get('WebPath') %>/Admin/Groups/Modify.html?id=<% $group->id %>"><% $group->Name %></a>
    + % }
    + </ul>
    + % }
     @@
      </td>
      </tr>



More information about the rt-commit mailing list