Skip to:
Content

BuddyPress.org

Changeset 12322


Ignore:
Timestamp:
01/10/2019 07:57:41 PM (6 years ago)
Author:
boonebgorges
Message:

Nouveau: Fixes for the Friends Request page.

The Friends Request page was introduced in Nouveau with the same dropdown
filter as on other member directories, but the functionality was never
fully implemented. In this changeset, we make the following changes:

  • Ensure that the AJAX request distinguishes between friend request queries and other membership queries, so that the members returned are limited to friend requests.
  • Break the friend request loop logic into its own template, so that the outer template information (title, pagination, etc) doesn't appear twice after an AJAX filter.
  • Modify the logic in the friend-request template so that it uses bp_ajax_querystring(), which lets the filters affect the returned results.

Props imath.
Fixes #8035.

Location:
trunk/src/bp-templates/bp-nouveau
Files:
4 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/friends/requests-loop.php

    r12321 r12322  
    11<?php
    22/**
    3  * BuddyPress - Members Friends Requests
     3 * BuddyPress - Members Friends Requests Loop
    44 *
    5  * @since 3.0.0
    6  * @version 3.0.0
     5 * @since 5.0.0
     6 * @version 5.0.0
    77 */
    88?>
    99
    10 <h2 class="screen-heading friendship-requests-screen"><?php esc_html_e( 'Friendship Requests', 'buddypress' ); ?></h2>
    11 
    12 <?php bp_nouveau_member_hook( 'before', 'friend_requests_content' ); ?>
    13 
    14 <?php if ( bp_has_members( 'type=alphabetical&include=' . bp_get_friendship_requests() ) ) : ?>
     10<?php if ( bp_has_members( bp_ajax_querystring( 'friendship_requests' ) . '&include=' . bp_get_friendship_requests() ) ) : ?>
    1511
    1612    <?php bp_nouveau_pagination( 'top' ); ?>
    1713
    18     <ul id="friend-list" class="<?php bp_nouveau_loop_classes(); ?>" data-bp-list="friendship_requests">
     14    <ul id="friend-list" class="<?php bp_nouveau_loop_classes(); ?>">
    1915        <?php
    2016        while ( bp_members() ) :
     
    4945
    5046<?php endif; ?>
    51 
    52 <?php
    53 bp_nouveau_member_hook( 'after', 'friend_requests_content' );
  • trunk/src/bp-templates/bp-nouveau/buddypress/members/single/friends/requests.php

    r12082 r12322  
    44 *
    55 * @since 3.0.0
    6  * @version 3.0.0
     6 * @version 5.0.0
    77 */
    88?>
     
    1212<?php bp_nouveau_member_hook( 'before', 'friend_requests_content' ); ?>
    1313
    14 <?php if ( bp_has_members( 'type=alphabetical&include=' . bp_get_friendship_requests() ) ) : ?>
     14<div data-bp-list="friendship_requests">
     15    <?php bp_get_template_part( 'members/single/friends/requests-loop' ); ?>
     16</div>
    1517
    16     <?php bp_nouveau_pagination( 'top' ); ?>
    17 
    18     <ul id="friend-list" class="<?php bp_nouveau_loop_classes(); ?>" data-bp-list="friendship_requests">
    19         <?php
    20         while ( bp_members() ) :
    21             bp_the_member();
    22         ?>
    23 
    24             <li id="friendship-<?php bp_friend_friendship_id(); ?>" <?php bp_member_class( array( 'item-entry' ) ); ?> data-bp-item-id="<?php bp_friend_friendship_id(); ?>" data-bp-item-component="members">
    25                 <div class="item-avatar">
    26                     <a href="<?php bp_member_link(); ?>"><?php bp_member_avatar( array( 'type' => 'full' ) ); ?></a>
    27                 </div>
    28 
    29                 <div class="item">
    30                     <div class="item-title"><a href="<?php bp_member_link(); ?>"><?php bp_member_name(); ?></a></div>
    31                     <div class="item-meta"><span class="activity"><?php bp_member_last_active(); ?></span></div>
    32 
    33                     <?php bp_nouveau_friend_hook( 'requests_item' ); ?>
    34                 </div>
    35 
    36                 <?php bp_nouveau_members_loop_buttons(); ?>
    37             </li>
    38 
    39         <?php endwhile; ?>
    40     </ul>
    41 
    42     <?php bp_nouveau_friend_hook( 'requests_content' ); ?>
    43 
    44     <?php bp_nouveau_pagination( 'bottom' ); ?>
    45 
    46 <?php else : ?>
    47 
    48     <?php bp_nouveau_user_feedback( 'member-requests-none' ); ?>
    49 
    50 <?php endif; ?>
    51 
    52 <?php
    53 bp_nouveau_member_hook( 'after', 'friend_requests_content' );
     18<?php bp_nouveau_member_hook( 'after', 'friend_requests_content' );
  • trunk/src/bp-templates/bp-nouveau/includes/ajax.php

    r12082 r12322  
    111111        break;
    112112
     113        case 'friend_requests' :
     114            $template_part = 'members/single/friends/requests-loop.php';
     115        break;
     116
    113117        case 'member_notifications' :
    114118            $template_part = 'members/single/notifications/notifications-loop.php';
  • trunk/src/bp-templates/bp-nouveau/includes/template-tags.php

    r12279 r12322  
    19891989
    19901990    } else {
     1991        $data_filter = bp_current_component();
     1992        if ( 'friends' === $data_filter && bp_is_user_friend_requests() ) {
     1993            $data_filter = 'friend_requests';
     1994        }
     1995
    19911996        $component['members_select']   = 'members-order-select';
    19921997        $component['members_order_by'] = 'members-order-by';
    19931998        $component['object']           = bp_current_component();
    1994         $component['data_filter']      = bp_current_component();
     1999        $component['data_filter']      = $data_filter;
    19952000    }
    19962001
  • trunk/src/bp-templates/bp-nouveau/js/buddypress-nouveau.js

    r12219 r12322  
    286286            $( '#buddypress [data-bp-filter="' + data.object + '"] option[value="' + data.filter + '"]' ).prop( 'selected', true );
    287287
    288             if ( 'friends' === data.object || 'group_members' === data.object ) {
     288            if ( 'friends' === data.object || 'friend_requests' === data.object || 'group_members' === data.object ) {
    289289                data.template = data.object;
    290290                data.object   = 'members';
     
    573573            if ( $( '#buddypress [data-bp-search="' + object + '"] input[type=search]' ).length ) {
    574574                search_terms = $( '#buddypress [data-bp-search="' + object + '"] input[type=search]' ).val();
    575             }
    576 
    577             if ( 'friends' === object ) {
    578                 object = 'members';
    579575            }
    580576
Note: See TracChangeset for help on using the changeset viewer.