Amazing! Thank you very much.
On Tue, Jun 24, 2014 at 10:49 AM, Massimo Di Pierro < massimo.dipie...@gmail.com> wrote: > This line > > db.personal_uploads.file_upload.authorize = lambda record: > auth.is_logged_in() and (record.members.contains(auth.user_id)) > > > should be > > > db.personal_uploads.file_upload.authorize = lambda record: auth.user and > auth.user.id in (record.members or []) > > > On Monday, 23 June 2014 13:26:20 UTC-5, Keri Sui wrote: >> >> Hello! >> >> I am trying to enable temporary access for users to downloadable files by >> requesting access on a per file basis >> >> In my database. >> >> >> Field('members', 'list:reference db.auth_user', default=auth.user_id, >> requires=IS_IN_DB(db, db.auth_user, '%(first_name)s %(last_name)s >> %(email)s', multiple=(1, 1000)), writable=False, readable=False), >> >> ... >> >> >> db.personal_uploads.file_upload.authorize = lambda record: >> auth.is_logged_in() and (record.members.contains(auth.user_id)) >> >> Causes the following error when trying to download the file: >> >> Traceback (most recent call last): >> File "/home/www-data/web2py/gluon/restricted.py", line 220, in restricted >> exec ccode in environment >> File >> "/home/www-data/web2py/applications/cryaboutit/controllers/default.py" >> <https://62.75.246.181/admin/edit/cryaboutit/controllers/default.py>, line >> 328, in <module> >> File "/home/www-data/web2py/gluon/globals.py", line 385, in <lambda> >> self._caller = lambda f: f() >> File "/home/www-data/web2py/gluon/cache.py", line 523, in wrapped_f >> rtn = func() >> File >> "/home/www-data/web2py/applications/cryaboutit/controllers/default.py" >> <https://62.75.246.181/admin/edit/cryaboutit/controllers/default.py>, line >> 298, in download >> return response.download(request, db) >> File "/home/www-data/web2py/gluon/globals.py", line 601, in download >> (filename, stream) = field.retrieve(name,nameonly=True) >> File "/home/www-data/web2py/gluon/dal.py", line 10029, in retrieve >> if self.authorize and not self.authorize(row): >> File "/home/www-data/web2py/applications/cryaboutit/models/db.py" >> <https://62.75.246.181/admin/edit/cryaboutit/models/db.py>, line 138, in >> <lambda> >> db.personal_uploads.file_upload.authorize = lambda record: >> auth.is_logged_in() and (record.members.contains(auth.user_id)) >> AttributeError: 'list' object has no attribute 'contains' >> >> >> >> Thank you for any advice offered. >> >> -- > 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. > -- 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.