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
>>>>
>>>
>>>
>>
>

Reply via email to