Yes, you should be able to move it to after. I don't see why you'd have to set auth.settings.table_user again.
Anthony On Saturday, May 30, 2015 at 7:18:11 PM UTC-4, DeanK wrote: > > Oh. yeah it is because I have that at the bottom of the model. > > Could I move this check to after .define_tables()? Would I have to just > set auth.settings.table_user again? > > > > On Saturday, May 30, 2015 at 7:14:06 PM UTC-4, Anthony wrote: >> >> Is this before you run auth.define_tables()? >> >> On Saturday, May 30, 2015 at 5:51:45 PM UTC-4, DeanK wrote: >>> >>> I'm trying to hide profile fields based on user role. For example >>> "basic_user" should have some fields hidden. So in my db.py where I'm >>> setting up a custom auth table: >>> >>> if 'profile' in request.args: >>> # If the user is a basic_user hide power_user stuff >>> if auth.has_membership('basic_user'): >>> custom_auth_table.custom_field1.readable = False >>> custom_auth_table.custom_field1.writable = False >>> >>> custom_auth_table.custom_field2.readable = False >>> custom_auth_table.custom_field2.writable = False >>> >>> >>> >>> When I try to view the profile I get this error: >>> >>> 1. >>> 2. >>> 3. >>> 4. >>> 5. >>> 6. >>> 7. >>> 8. >>> 9. >>> 10. >>> 11. >>> 12. >>> 13. >>> 14. >>> 15. >>> 16. >>> 17. >>> >>> Traceback (most recent call last): >>> File "/home/www-data/web2py/gluon/restricted.py", line 227, in restricted >>> exec ccode in environment >>> File "/home/www-data/web2py/applications/xxxx/models/db.py" >>> <https://52.1.146.129/admin/default/edit/flipoto/models/db.py>, line 191, >>> in <module> >>> if auth.has_membership('basic_user'): >>> File "/home/www-data/web2py/gluon/tools.py", line 3542, in has_membership >>> group_id = self.id_group(group_id) # interpret group_id as a role >>> File "/home/www-data/web2py/gluon/tools.py", line 3512, in id_group >>> rows = self.db(self.table_group().role == role).select() >>> File "/home/www-data/web2py/gluon/tools.py", line 1406, in table_group >>> return self.db[self.settings.table_group_name] >>> File "/home/www-data/web2py/gluon/packages/dal/pydal/base.py", line 900, >>> in __getitem__ >>> return self.__getattr__(str(key)) >>> File "/home/www-data/web2py/gluon/packages/dal/pydal/base.py", line 907, >>> in __getattr__ >>> return ogetattr(self, key) >>> AttributeError: 'DAL' object has no attribute 'auth_group' >>> >>> >>> >>> Is auth not setup yet at this point in the request or something like >>> that? Anyone have any thoughts? Thanks. >>> >> -- 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.