Disappearing Pending Requests list
| Project: | Buddylist2 |
| Version: | 5.x-1.0-beta2 |
| Component: | Buddy API |
| Category: | task |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | closed |
Jump to:
Twice now during my development of a Drupal 5 site, Buddylist2 was fully functional, then mysteriously lost the ability to display a user's sent/received requests. In "My Buddy Requests", Received and Sent Requests both show NONE even though a buddy request was completed without error and stored to DB.
I debugged a bit and confirmed that
$view = views_get_view('buddy_api_received_requests');
returns a populated array,
but
$view_received_requests = views_build_view('embed', $view, array(), FALSE);
returns null.
The only way I can retrieve a pending requests view now is by giving the user administer_nodes permission.
I'm using:
BL2 5.x-1.0-beta2
invite 5.x-1.13
token 5.x-1.11
views 5.x-1.6
bio 5.x-1.2
advanced profile 5.x-1.0-alpha5
cck 5.x-1.7
cck field privacy 5.x-1.2
panels 5.x-2.0-beta5
... but last time this happened, I disabled all the modules except BL2 dependencies and still couldn't get the pending requests to display.

#1
I tracked this down to an
INNER JOIN node_access na ON na.nid = node.nidin the pending requests view query, whereas the usernode in question does not have any node_access entry. Nor do any nodes (of any content type) which were created since mysterious configuration conflict arose.
So the question becomes
OR
I'm new to Drupal; can any experienced eyes make a quick call on which is the problem and what might have caused it?
Sorry this is beginning to look like a non-Buddylist issue.
#2
Okay, here's why my Received Requests were not showing for authenticated users (and why other recently created nodes wouldn't show either):
So it was operator error, but I feel like the nodeaccess interface should have somehow emphasized to me the ramifications of deactivating without uninstalling.
#3
I'm having the exact same problem, except I haven't used nodeaccess. And agapetry, the database table node_access is a core table I think, and the table nodeaccess is generated by the nodeaccess module.
I checked my view query with no sign of node_access anywhere.
Here's my query:
SELECT node.nid, baj_users2.name AS baj_users2_name, baj_users2.uid AS baj_users2_uid, baj_buddylist_pending_requests2.message AS baj_buddylist_pending_requests2_message, baj_buddylist_pending_requests2.requestee_uid, baj_buddylist_pending_requests2.requester_uid FROM {node} node INNER JOIN {usernode} baj_usernode ON node.nid = baj_usernode.nid INNER JOIN {buddylist_pending_requests} baj_buddylist_pending_requests2 ON baj_usernode.uid = baj_buddylist_pending_requests2.requestee_uid INNER JOIN {users} baj_users2 ON baj_buddylist_pending_requests2.requester_uid = baj_users2.uid WHERE (node.uid = 14)the uid is correct. I can't get it to show even if I give "access all views" or "administer views" or "administer nodes" -rights to the user. I've tried most of the access control settings, but nothing has worked so far.
As for access modules, I have ACL and CCK field permissions installed but neither of them has been configured to work with users (ACL:image gallery, CCK_field_perms nowhere).
Hopefully someone's got insight on this...
#4
Hmm... the problem got fixed. But in a weird way.
I made a new custom role and checked all permissions (and I mean everything). Then the Requests all showed up. Then I unchecked the permissions for the custom role and the requests were still showing.
So, maybe it was some kind of a permissions problem, but the permission checks and unchecks fixed it.
#5
fine, please open a new issue if such a problem persists...