[buddypress-trac] [BuddyPress Trac] #8035: Nouveau: AJAX filter in Friends Requests returns incorrect and incorrectly-formatted results (was: Fatal mistake while using AJAX filter in Friends Requests)

buddypress-trac noreply at wordpress.org
Wed Jan 9 20:08:53 UTC 2019


#8035: Nouveau: AJAX filter in Friends Requests returns incorrect and incorrectly-
formatted results
----------------------------------------------------+---------------------
 Reporter:  oxibug                                  |       Owner:  (none)
     Type:  defect (bug)                            |      Status:  new
 Priority:  normal                                  |   Milestone:  5.0.0
Component:  Friends                                 |     Version:  3.0.0
 Severity:  major                                   |  Resolution:
 Keywords:  dev-feedback has-screenshots has-patch  |
----------------------------------------------------+---------------------
Changes (by boonebgorges):

 * keywords:  has-screenshots needs-patch dev-feedback => dev-feedback has-
     screenshots has-patch
 * priority:  omg pizza => normal
 * version:  4.1.0 => 3.0.0
 * milestone:  Awaiting Review => 5.0.0


Comment:

 Hi @oxibug - Thanks for the ticket!

 I see two issues:

 1. The incorrect results are being returned from the AJAX request. It's
 querying for all members instead of just friend requests.

 2. The structure of the post-AJAX markup is not correct (as you note in
 your screenshots)

 It looks to me like this part of the interface may not have been fully
 reviewed when Nouveau was built - there's some copypasta from Legacy that
 doesn't totally work :) And, since Legacy doesn't support the 'filter' on
 /friends/requests, it's kinda broken in Nouveau too.

 The attached patch fixes it, though I'd like a second look (from @imath
 perhaps?) to see if I'm following Nouveau conventions closely enough. The
 critical parts are:

 1. To fix the markup issues, I had to create a new `requests-loop`
 template.
 2. That `requests-loop` template now uses `bp_ajax_querystring()`, which
 lets the AJAX filters work.
 3. To make the AJAX request fetch membership requests rather than all
 members, I had to do some customization of the `template` value sent in
 the AJAX request. I used group membership requests as a benchmark for
 this, but the case is slightly different here, since there's built-in
 logic in Groups to look at `bp_current_action()`, but not in Members. See
 `bp_nouveau_current_object()`.

-- 
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/8035#comment:2>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac


More information about the buddypress-trac mailing list