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.

Reply via email to