I have a dropdown list of categories I have created for users to select
from, when I remove formcontrol.category.requires =
IS_IN_SET(catwanted,zero=None) it shows the existing data the user has
already chosen, when I put back the formcontrol.category.requires =
IS_IN_SET(catwanted,zero=None) it does not show the data existing in the
field. The existing data was chosen from initial creation of the data in
the same manner however if the user wants to go back and change this it is
not showing what they had existing, instead the dropdown select has the
first sorted item of the list as though they never had any data there (yet
this record exists).
I tried several things mentioned here and in the book, none of them showed
the existing data. The only thing that would show it is if I took out the
"IS_IN_SET" with my list created from the actual category list in the DB.
In my model I am creating a category list (Massimo helped with this awhile
back):
db.define_table('category',
Field('title'),
Field('slug',requires=IS_SLUG(),compute=lambda row: IS_SLUG.urlify(row.
title)),
Field('parent_id','reference category', default=None))
In that list I have main categories that I do not want before I make a call
to edit the form like so:
catwanted = []
notwanted = ['Dontwant1','Dontwant2','Dontwant3']
for row in db(db.category).select():
if row.title in notwanted:
pass
else:
catwanted.append(row.title)
catwanted.sort()
When I call the form I put that list as a requirement:
formcontrol.category.requires = IS_IN_SET(catwanted,zero=None)
The list shows up fine, the problem is that it does not show the existing
data for that field, it shows the first sorted item.
When I remove the
formcontrol.category.requires = IS_IN_SET(catwanted,zero=None)
from the call it shows me the existing data in the field, however at this
point I am not obviously removing the categories from the available options.
Since the only way I can get it to show the existing value is by removing
"formcontrol.category.requires = IS_IN_SET(catwanted,zero=None)" I am
posting here to see if maybe this is just a weird bug because the data that
exists in the field is not in the excluded list and I have other parts in
which I do this except the only difference is that I do not exclude
anything and it shows the existing value in the field. This does not seem
right to me for it to not want to show existing data that matches the data
in the wanted list of items.
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.