I try and I get back with feedback... Thanks Massimo
Richard On Wed, Feb 2, 2011 at 6:17 PM, Massimo Di Pierro < massimo.dipie...@gmail.com> wrote: > This has already been fixed some some time ago in trunk. It is now: > > if self.table[fieldname].type == 'boolean' and \ > self.vars.get(fieldname,True) == None: > del self.vars[fieldname] > continue > > > On Feb 2, 4:36 pm, Richard Vézina <ml.richard.vez...@gmail.com> wrote: > > Still waiting for a solution!! > > > > Richard > > > > On Wed, Feb 2, 2011 at 12:04 PM, Richard Vézina < > ml.richard.vez...@gmail.com > > > > > > > > > > > > > > > > > wrote: > > > Can I just remove the added line in sqlhtml.py in the web2py 1.91.6? > > > > > Is it safe to do so? > > > > > I have crud.update form where I have some field that are boolean type > that > > > are set to writable false then I use a .represent= for them... > > > > > Ex.: > > > db.table1.valid.represent=\ > > > lambda value: value==True and T('valid').capitalize() or T('not > > > valid').capitalize() > > > > > They got caught by the if and remove from the update form on submit as > far > > > as I understand. > > > > > Richard > > > > > On Wed, Feb 2, 2011 at 9:10 AM, Richard Vézina < > > > ml.richard.vez...@gmail.com> wrote: > > > > >> True > > > > >> Richard > > > > >> On Wed, Feb 2, 2011 at 12:20 AM, Marin Pranjic < > marin.pran...@gmail.com>wrote: > > > > >>> ### this happens because FROM has no knowledge of > > >>> writable > > >>> ### and thinks that a missing boolean field is a None > > >>> if self.table[fieldname].type == 'boolean' and > > >>> self.vars[fieldname]==None: > > >>> del self.vars[fieldname] > > > > >>> these are in red > > > > >>> On Wed, Feb 2, 2011 at 12:19 AM, Massimo Di Pierro < > > >>> massimo.dipie...@gmail.com> wrote: > > > > >>>> Which ones are in red? > > > > >>>> On Feb 1, 1:13 pm, Richard Vézina <ml.richard.vez...@gmail.com> > wrote: > > >>>> > Hello, > > > > >>>> > If I change erase those line (in red) in /gluon/sqlhtml.py > > > > >>>> > if not self.ignore_rw and not self.table[fieldname].writable: > > >>>> > ### this happens because FROM has no knowledge of > > >>>> writable > > >>>> > ### and thinks that a missing boolean field is a > None > > >>>> > if self.table[fieldname].type == 'boolean' and > > >>>> > self.vars[fieldname]==None: > > >>>> > del self.vars[fieldname] > > >>>> > continue > > > > >>>> > It solves the problem... But I don't have clue of what the impacts > are > > >>>> on > > >>>> > web2py. > > > > >>>> > I use Postgres as backend... > > > > >>>> > I will try to write a demo app to reproduce de problem... > > > > >>>> > Richard > > > > >>>> > On Tue, Feb 1, 2011 at 12:49 PM, Richard Vézina < > > >>>> ml.richard.vez...@gmail.com > > > > >>>> > > wrote: > > >>>> > > Hello, > > > > >>>> > > I am not sure where it comes from the problem I face, but for > sure > > >>>> it comes > > >>>> > > from 1.91.6 because I dont have the probleme with the exact same > app > > >>>> under > > >>>> > > 1.88.2. > > > > >>>> > > 1. > > >>>> > > 2. > > >>>> > > 3. > > >>>> > > 4. > > >>>> > > 5. > > >>>> > > 6. > > >>>> > > 7. > > >>>> > > 8. > > >>>> > > 9. > > >>>> > > 10. > > >>>> > > 11. > > >>>> > > 12. > > >>>> > > 13. > > >>>> > > 14. > > > > >>>> > > Traceback (most recent call last): > > > > >>>> > > File "/home/www-data/web2py/gluon/restricted.py", line 188, in > > >>>> restricted > > > > >>>> > > exec ccode in environment > > > > >>>> > > File > > >>>> "/home/www-data/web2py/applications/init/controllers/test.py", line > 855, in > > >>>> <module> > > > > >>>> > > File "/home/www-data/web2py/gluon/globals.py", line 95, in > > >>>> <lambda> > > > > >>>> > > self._caller = lambda f: f() > > > > >>>> > > File "/home/www-data/web2py/gluon/tools.py", line 2297, in f > > > > >>>> > > return action(*a, **b) > > > > >>>> > > File > > >>>> "/home/www-data/web2py/applications/init/controllers/test.py", line > 410, in > > >>>> update > > > > >>>> > > if form.accepts(request.vars, session): > > > > >>>> > > File "/home/www-data/web2py/gluon/sqlhtml.py", line 1091, in > > >>>> accepts > > > > >>>> > > if self.table[fieldname].type == 'boolean' and > > >>>> self.vars[fieldname]==None: > > >>>> > > KeyError: 'valid' > > > > >>>> > > I have a field name "valid" in my models... May be it conflict > with > > >>>> the new > > >>>> > > DAL?? > > > > >>>> > > Thanks > > > > >>>> > > Richard >