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.
Comments
Comment #1
agapetry commentedI 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.
Comment #2
agapetry commentedOkay, 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.
Comment #3
afox commentedI'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:
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...
Comment #4
afox commentedHmm... 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.
Comment #5
crizfine, please open a new issue if such a problem persists...