[development] Proposed user_access / $user->roles hook
Gerhard Killesreiter
gerhard at killesreiter.de
Thu Mar 29 07:03:08 UTC 2007
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ron Parker schrieb:
> I'm re-posting this because the last time I got no response. I'm like
> THISCLOSE to making this work if I can just figure out this last little
> bit. If anyone has any notion, please share. It might just be the
> little bit I need to get over the hump. Thanks.
>
> -------- Original Message --------
>
> I am proposing a new project: OG User Roles. I have written to this list
> before and what I discovered was that I really needed to formulate a
> proposal for some sort of user_access hook that would include
> permissions granted from other modules to the final list of permissions
> for a user during a particular process.
>
> That, essentially, is the modification to user_access that I have
> created so that my module would work. Briefly, my OG User Roles module
> is designed to assign role(s) to a user restricted to the OG group he is
> in. Details on it are here: http://drupal.org/node/87679.
IMO you are trying to use the role system for something it wasn't
designed for: Dynamically asigned roles. Drupal roles are always static.
> What I have found is that my modified user_access (and therefore my
> proposed hook) works for node listing/view/updating/deleting, but NOT
> creating. I am able to create nodes with the modified user_access only
> if I call the node_add() function directly. Not a real good solution.
>
> So, I'm back here to ask:
>
> What else, besides user_access, does the default node/add mechanism call
> for permissions checks?
Nothing. You probably need to rebuild the user's menu to get your
changed permisions to "take".
Since rebuilding the menu is a costly operation (in Drupal5) I am not
too excited about dynamically assigned roles.
Cheers,
Gerhard
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFGC2Ssfg6TFvELooQRAvbFAJsFypcHqfFhzozmsz1li+wOlCYZgwCcDVfe
nT76eu2rwrSv4SGMYPqAu7s=
=piOg
-----END PGP SIGNATURE-----
More information about the development
mailing list