auth.user_groups is stored in the user's session. If you (as an admin) make a change in the database, that will not affect the session of another user (which is stored in a file). We should probably make it easier to change content in a user's session (possibly by storing the name of the session file in db.auth_user -- for now, as a workaround, you could do this manually).
Anthony On Thursday, January 7, 2016 at 5:37:27 AM UTC-5, [email protected] wrote: > > Database tables. > > *auth_group* > > *| id | role | Description |* > > | 1 | admin | Admin user | > > | 2 | support | Support user | > > | 3 | client | Client user | > > > *auth_membership* > > *| id | user_id | group_id |* > > | 1 | 1 | 1 | > > | 2 | 1 | 3 | > > > Right now the user is present in two groups (Admin and Client). If I print > the user's groups using auth.user_groups.values(); I get, > > ['admin', 'client'] > > But the problem is, when I change the group of the user to this, > > > *auth_membership* > > *| id | user_id | group_id |* > > | 1 | 1 | 1 | > > | 2 | 1 | 2 | > > > and then print the user groups, I still get the same values > > ['admin', 'client'] > > instead of, > > ['admin', 'support'] > > But if I logout, then log back in and then print the values, then I get the > desired output. > > How should I get the updated user groups without having to log in again? > Shouldn't web2py update the user groups in all places (when the user_groups > has been updated)? > > > P.S I have used auth.has_membership() but that does not suit my needs because > I need a list of user groups for the logged in user. > > Thanks in advance. > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

