Disappearing Pending Requests list

agapetry - August 12, 2008 - 00:01
Project:Buddylist2
Version:5.x-1.0-beta2
Component:Buddy API
Category:task
Priority:normal
Assigned:Unassigned
Status:closed
Description

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

agapetry - August 12, 2008 - 02:19

I tracked this down to an
INNER JOIN node_access na ON na.nid = node.nid
in 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

what module conflict or administrator error would prevent the node_access row from being inserted?

OR

Why is the node_access JOIN clause being included?

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

agapetry - August 12, 2008 - 02:50
Project:Buddylist2» Nodeaccess
Version:5.x-1.0-beta2» 5.x-1.2
Component:Buddy API» User interface
Category:bug report» task

Okay, here's why my Received Requests were not showing for authenticated users (and why other recently created nodes wouldn't show either):

  • I installed the nodeaccess module and used it for awhile
  • I deactivated and deleted it, but forgot to "unistall" it.
  • My node_access table was therefore left with entries which told Drupal to require a node_access entry for each node, yet there was no longer any module to administer that node access.

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

repolainen - November 13, 2008 - 23:05
Project:Nodeaccess» Buddylist2
Version:5.x-1.2» 5.x-1.0-beta2
Component:User interface» Buddy API

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

repolainen - November 14, 2008 - 14:05

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

criz - January 6, 2009 - 18:13
Status:active» closed

fine, please open a new issue if such a problem persists...

 
 

Drupal is a registered trademark of Dries Buytaert.