I was able to trace the appadmin issue back to gluon/storage.py This patch should do the trick: http://pastebin.com/8ktgy5eU
On Wednesday, February 29, 2012 6:26:54 PM UTC-5, mcm wrote: > > I am not able to access to appadmin when I click the button "database > administration" of any application in the admin application. > > mic > > Il giorno 29 febbraio 2012 20:31, Richard Vézina < > ml.richard.vez...@gmail.com> ha scritto: > >> Forget to mention. I also try the welcome app with postgres with no >> problem. I create a use and can logon and logoff... >> >> Richard >> >> >> 2012/2/29 Richard Vézina <ml.richard.vez...@gmail.com> >> >>> Here some more information on the ticket it raises : >>> >>> (self=<gluon.dal.PostgreSQLAdapter object>, value=1, >>> field_type='db.auth_user', blob_decode=True) >>> Code listing >>> >>> >>> >>> >>> >>> >>> >>> 1498. >>> 1499. >>> 1500. >>> 1501. >>> 1502. >>> >>> >>> >>> 1503. >>> >>> 1504. >>> 1505. >>> 1506. >>> 1507. >>> >>> return value >>> >>> >>> >>> elif field_type == 'blob' and not blob_decode: >>> >>> >>> >>> return value >>> >>> >>> >>> else: >>> >>> >>> >>> key = regex_type.match(field_type).group(0) >>> >>> >>> >>> >>> >>> return self.parsemap[key](value,field_type) >>> >>> >>> >>> >>> def parse_reference(self, value, field_type): >>> >>> >>> >>> referee = field_type[10:].strip() >>> >>> >>> >>> if not '.' in referee: >>> >>> Variables field_type 'db.auth_user' self <gluon.dal.PostgreSQLAdapter >>> object> self.parsemap {'blob': <bound method >>> PostgreSQLAdapter.parse_blob of <gluon.dal.PostgreSQLAdapter object>>, >>> 'boolean': <bound method PostgreSQLAdapter.parse_boolean of >>> <gluon.dal.PostgreSQLAdapter object>>, 'date': <bound method >>> PostgreSQLAdapter.parse_date of <gluon.dal.PostgreSQLAdapter object>>, >>> 'datetime': <bound method PostgreSQLAdapter.parse_datetime of >>> <gluon.dal.PostgreSQLAdapter object>>, 'decimal': <bound method >>> PostgreSQLAdapter.parse_decimal of <gluon.dal.PostgreSQLAdapter object>>, >>> 'double': <bound method PostgreSQLAdapter.parse_double of >>> <gluon.dal.PostgreSQLAdapter object>>, 'id': <bound method >>> PostgreSQLAdapter.parse_id of <gluon.dal.PostgreSQLAdapter object>>, >>> 'integer': <bound method PostgreSQLAdapter.parse_integer of >>> <gluon.dal.PostgreSQLAdapter object>>, 'list:integer': <bound method >>> PostgreSQLAdapter.parse_list_integers of <gluon.dal.PostgreSQLAdapter >>> object>>, 'list:reference': <bound method >>> PostgreSQLAdapter.parse_list_references of <gluon.dal.PostgreSQLAdapter >>> object>>, ...} key 'db' value 1 >>> >>> It comes form this line in user function of default.py controller that I >>> change a bit : >>> >>> form = auth() >>> >>> >>> Here what I am doing : >>> >>> def user(): >>> """ >>> ... >>> """ >>> form = auth() >>> auth.settings.formstyle = 'table3cols' >>> if request.args(0) == 'login': >>> >>> form[0][1][1].append(SPAN((A(forget_pwd_icon(),_href=URL(r=request,c='default',f='user',args=('request_reset_password'))), >>> SPAN(T('Click on icon if you forgot your password...'))), >>> _class='logintip')) >>> return dict(form=form,layout='login_layout.html') >>> elif request.args(0) == 'profile': >>> return dict(form='you are not allowed >>> (permission)',layout='layout.html') >>> elif request.args(0) == 'request_reset_password': >>> if not 'request_reset_password' in >>> auth.settings.actions_disabled: >>> return dict(form=auth(),layout='login_layout.html') >>> else: >>> return dict(form=form,layout='layout.html') >>> return dict(form=form,layout='layout.html') >>> >>> >>> But I bypass the index and user function from my app and I still get the >>> error... I believe that it could come from the postgres adapter some how... >>> If you remember I use 'myIdName','id' to use my own custom table id name >>> and also redefine the sequence name since the default sequence name build >>> up of postgres is different from the one of web2py... Hope it helps. >>> >>> What else (i mean which changes) could cause this problem? >>> >>> Thanks. >>> >>> Richard >>> >>> >>> 2012/2/28 Massimo Di Pierro <massimo.dipie...@gmail.com> >>> >>>> What triggers it? I need a little more info. >>>> >>>> On Feb 28, 3:22 pm, Richard Vézina <ml.richard.vez...@gmail.com> >>>> wrote: >>>> > <type 'exceptions.KeyError'> 'db' >>>> > >>>> > With trunk and copied my app in application folder... >>>> > >>>> > Richard >>>> > >>>> > On Tue, Feb 28, 2012 at 4:01 PM, Massimo Di Pierro < >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > massimo.dipie...@gmail.com> wrote: >>>> > > No. If you have time test the debugger. That is a major piece of >>>> code >>>> > > that you will notice right away. Mariano can explain better than me. >>>> > >>>> > > The other features have been reasonably tested. >>>> > >>>> > > Massimo >>>> > >>>> > > On Feb 28, 2:46 pm, szimszon <szims...@gmail.com> wrote: >>>> > > > +1 >>>> > >>>> > > > Anyway it could be good to have some more hint about what the new >>>> > > features >>>> > > > do. So we can easily test without to follow all conversation about >>>> > > features >>>> > > > between versions :-o >>>> > >>>> > > > 2012. február 28., kedd 21:35:03 UTC+1 időpontban Anthony a >>>> következőt >>>> > > írta: >>>> > >>>> > > > > We need to make the book editable again so some of us can start >>>> adding >>>> > > > > this stuff to the documentation. :-) >>>> > >>>> > > > > On Tuesday, February 28, 2012 3:28:09 PM UTC-5, Massimo Di >>>> Pierro >>>> > > wrote: >>>> > >>>> > > > >> I am planning to release this tomorrow but you can test it >>>> today. >>>> > > > >> ***Please help us test it today*** It is really important. >>>> > >>>> > > > >> There is a huge number of improvements and bug fixes. We >>>> should really >>>> > > > >> call this web2py 2.0 but we prefer to wait before advertising >>>> some of >>>> > > > >> the new features which are in but need more testing. >>>> > >>>> > > > >> List not in order of importance: >>>> > >>>> > > > >> - included remote debugger (thanks Mariano) >>>> > > > >> - gluon/contrib/htmlmin.py for html minimization (thanks >>>> kerncece) >>>> > > > >> - out of the box posgresql support with pg8000 diver included >>>> (thanks >>>> > > > >> Mariano) >>>> > > > >> - admin in Russian (Bulat), Japanese (Omi) and Slovenian >>>> (Robert >>>> > > > >> Valentak) >>>> > > > >> - db.table.field.like(...,case_sensitive=False) (thanks Floyd) >>>> > > > >> - db.table.field.regexp(...) for sqlite and postgres >>>> > > > >> - conditional menu items (reponse.menu=[(title,bool,link, >>>> > > > >> [],condition)] >>>> > > > >> - db(...,ignore_common_filters=True) >>>> > > > >> - DAL IMAP support (thanks Alan Etkin) >>>> > > > >> - new DAL syntax: >>>> > > > >> db(db.dog_id.belongs(db.dogs.owner=='james')).select() >>>> > > > >> - new DAL syntax: >>>> db(...).select().group_by_value(db.table.field) >>>> > > > >> (thanks Yair) >>>> > > > >> - Teradata support (experimental) >>>> > > > >> - populate can now deal with computed fields (thanks mweissen) >>>> > > > >> - def index(): return dict(a=gluon.tools.Expose(folder)) >>>> > > > >> - auth.is_impersonating() >>>> > > > >> - reponse.delimiters = ('\\[','\\]') (thanks Denes) >>>> > > > >> - improved markmin auto-links >>>> > > > >> - sync languages capability (thanks Yair) >>>> > > > >> - better mongodb support (still experimental) >>>> > > > >> - auth.user_groups stores user groups >>>> > > > >> - new rediscache (thanks niphold) >>>> > > > >> - login_methods/browserid_account.py (thanks Pai) >>>> > > > >> - scripts/services/service.py (thanks Ross) >>>> > > > >> - improved ldap support (thanks Omi) >>>> > > > >> - added TimeCollector (thanks Caleb) >>>> > > > >> - better cpdb.py (thanks pasxidis) >>>> > > > >> - 100's of small bug fixes and small improvements >>>> >>> >>> >> >