I would try using a common_filter on the drop down list table. Could that
work?

On Sun, 19 Jul 2020, 6:10 pm mostwanted, <godirao...@gmail.com> wrote:

> In my application I have 4 tables, 3 of them referenced in the fourth
> table but every user should be able to view only what they have entered
> into the database. Is there a way that in a dropdown list of a referenced
> table in an SQLFORM users can only view & select from items they have
> entered?
>
> *MODELS CODE:*
> db.define_table('lecturer',
>                 Field('surname'),
>                 Field('name'),
>                 Field('title'),
>                 Field('posted_by', 'reference auth_user', default=auth.
> user_id, readable=False, writable=False), #HERE
>                 format="%(surname)s %(name)s %(title)s")
> def lecturer(details): return '%(surname)s %(name)s' % details
>
> db.define_table('subject',
>                 Field('subject_name'),
>                 Field('posted_by', 'reference auth_user', default=auth.
> user_id, readable=False, writable=False), #HERE
>                 format="%(subject_name)s"
>                )
> db.define_table('departments',
>                 Field('department_name'),
>                 Field('posted_by', 'reference auth_user', default=auth.
> user_id, readable=False, writable=False), #HERE
>                 format="%(department_name)s")
>
> db.define_table('lecture',
>
> *Field('subject_name', 'reference subject'),
> Field('department', 'reference departments'),* #HERE
>                 Field('theLevels', label=SPAN('Levels'), requires=
> IS_IN_SET(['1.1', '1.2', '2.1', '2.2', '3.1', '3.2', '4.1', '4.2'], 
> zero='---Select
> A Level---')), #HERE
> *                Field('lecturer', 'reference lecturer'),*
>                 Field('class_session', requires=IS_IN_SET(['single
> session', 'double session', 'evening single session', 'evening double
> session'], zero='----Select A Session Period----')),
>                 Field('the_time2', readable=False, writable=False),
>                 Field('class_room', requires=IS_IN_SET(['500', '501',
> '502', '503', '504', '505', '506'], zero='---Select A Class Room---')),
>                 Field('controller', readable=False, writable=False),
>                 Field('posted_by', 'reference auth_user', default=auth.
> user_id, readable=False, writable=False))
>
>
>
> *CONTROLLER CODE:*
> I tried the highlighted part but it didnt work, I felt it wouldnt work but
> tried it anyway & it didnt work (shocker!)
> Please help me figure this out.
> def index():
>
>
> *user=db.auth_user(auth.user_id)    if not user or
> not(user.id==auth.user_id): redirect(URL('index'))
> form=SQLFORM(db.lecture.posted_by==user.id)*
>     if form.process(onvalidation=my_form_processing).accepted:
>         response.flash=T('Lecture Entered')
>     return locals()
>
>
> Regards;
>
> Mostwanted
>
> --
> 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.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/web2py/e98d4e6a-69a2-4c1c-9028-3d98579a0f59o%40googlegroups.com
> <https://groups.google.com/d/msgid/web2py/e98d4e6a-69a2-4c1c-9028-3d98579a0f59o%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/CACWMBMP2fFWv9HjEjKD2rN1LrEWw6%3DGfppLu3GE-_cNrDPp%3Dow%40mail.gmail.com.

Reply via email to