Thanks for the great module.
I have a quick question. Is it possible to use multiple vocabularies at the same time to further restrict content access? For instance, vocab 1 AND vocab 2 have to be true for node visibility.
In your screencast (http://www.dave-cohen.com/node/1170) would there be a way to only show a post to a manager on a specific team?

Cheers.

Comments

Dave Cohen’s picture

I'm not sure what you mean by "a manager on a specific team". But as for the AND logic, that is just not the way Drupal's access control works. There are a couple patches on drupal.org that may help; you'll have to search to find them. One introduces AND logic to access control. The other, more recommended one, lets you "alter" the access controls. You'd have to apply the patch and write a bit of PHP in a custom module to alter things just the way you want.

JStarcher’s picture

I'm looking for this functionality too. Couldn't we just change the rewrite_sql() a bit? I was thinking about changing the $where to something along these lines, though it still doesn't produce the desired behavior just yet.

        $and = array();
        foreach ($tids as $tid) {
          $and[] = "$primary_table.tid = $tid";
         }
        $where = implode(' AND ', $and) ." OR tac_td.vid NOT IN (". implode(',', $vids) .")";
andreas_jonsson’s picture

Bump.

Anyone found a solution to this? Rules integration?
Really need this and willing to pay to have it solved.

Dave Cohen’s picture

As I mentioned earlier there is a Drupal patch to allow altering of node access grants. That's the "right way" to implement something like this. I'm not sure if that change is Drupal 7 or only...

Of course you could always start with tac_lite and modify it to suit your needs (and rename it in the process to avoid future confusion).

Dave Cohen’s picture

Version: 6.x-1.2 » 6.x-1.x-dev
Status: Active » Closed (won't fix)

I don't see an easy/elegant way to do this. But Drupal 7 introduces http://api.drupal.org/api/function/hook_node_access_records_alter/7, that hook makes it possible to write a small module which can customize node_access permissions.