db.engine.company.requires = IS_IN_DB(db(db.company.approved == 
True),'company.id','%(name)s')

On Thursday, 3 January 2013 23:36:18 UTC-6, Dave Cenker wrote:
>
> I have a set of models defined as follows:
>
> db.define_table('company',
>   Field('name'),
>   Field('symbol'),
>   Field('approved', 'boolean'))
>
> db.define_table('locomotive',
>   Field('manufacturer'),
>   Field('model'),
>   Field('approved', 'boolean'),
>
> db.define_table('engine',
>   Field('company', db.company),
>   Field('locomotive', db.locomotive))
>
> The intent of the 'approved' fields are to limit what is displayed to the 
> user in form select lists until they have been approved by someone with an 
> admin role.
>
> I am attempting to limit the options in my engine controller create.crud 
> function to only make available the companies and locomotives that are 
> approved. I can obviously get this information easily using 
> db(db.company.approved == True).select() etc. However, I am trying how to 
> figure out how to get this filtered list of options into the select list 
> dropdown in the crud.create(db.engine) form.
>
> Any suggestions? I tried to create a custom form to do the same thing, but 
> it began to get really 'clunky'.
>
> Thanks in advance for any help!
>
> Dave
>

-- 



Reply via email to