What's in your auth.settings.login_next? It is supposed to be a URL
but looks like there is a list in there!

Massimo


On Jun 9, 10:21 pm, Rui Gomes <[email protected]> wrote:
> I still getting a error, but now is different :S
>
> Error traceback
>
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
> 12.
> 13.
> 14.
>
> Traceback (most recent call last):
>   File "/home/rui/Public/web2py/gluon/restricted.py", line 107, in restricted
>     exec ccode in environment
>   File 
> "/home/rui/Public/web2py/applications/Dominos_Times/controllers/default.py"
> <http://127.0.0.1:8000/admin/default/edit/Dominos_Times/controllers/de...>,
> line 121, in <module>
>   File "/home/rui/Public/web2py/gluon/globals.py", line 97, in <lambda>
>     self._caller = lambda f: f()
>   File 
> "/home/rui/Public/web2py/applications/Dominos_Times/controllers/default.py"
> <http://127.0.0.1:8000/admin/default/edit/Dominos_Times/controllers/de...>,
> line 16, in user
>     return dict(form=auth())
>   File "/home/rui/Public/web2py/gluon/tools.py", line 436, in __call__
>     return self.login()
>   File "/home/rui/Public/web2py/gluon/tools.py", line 724, in login
>     next = self.url(next.replace('[id]', str(form.vars.id)))
> AttributeError: 'list' object has no attribute 'replace'
>
> In file:
> /home/rui/Public/web2py/applications/Dominos_Times/controllers/default.py
>
> 1.
> 2.
> 3.
> 4.
> 5.
> 6.
> 7.
> 8.
> 9.
> 10.
> 11.
> 12.
> 13.
> 14.
> 15.
> 16.
> 17.
> 18.
> 19.
> 20.
> 21.
> 22.
> 23.
> 24.
> 25.
> 26.
> 27.
> 28.
> 29.
> 30.
> 31.
> 32.
> 33.
> 34.
> 35.
> 36.
> 37.
> 38.
> 39.
> 40.
> 41.
> 42.
> 43.
> 44.
> 45.
> 46.
> 47.
> 48.
> 49.
> 50.
> 51.
> 52.
> 53.
> 54.
> 55.
> 56.
> 57.
> 58.
> 59.
> 60.
> 61.
> 62.
> 63.
> 64.
> 65.
> 66.
> 67.
> 68.
> 69.
> 70.
> 71.
> 72.
> 73.
> 74.
> 75.
> 76.
> 77.
> 78.
> 79.
> 80.
> 81.
> 82.
> 83.
> 84.
> 85.
> 86.
> 87.
> 88.
> 89.
> 90.
> 91.
> 92.
> 93.
> 94.
> 95.
> 96.
> 97.
> 98.
> 99.
> 100.
> 101.
> 102.
> 103.
> 104.
> 105.
> 106.
> 107.
> 108.
> 109.
> 110.
> 111.
> 112.
> 113.
> 114.
> 115.
> 116.
> 117.
> 118.
> 119.
> 120.
> 121.
> 122.
>
> # # sample index page with internationalization (T)
>
> response <http://127.0.0.1:8000/examples/global/vars/response>.menu
> =[['Login', False, URL
> <http://127.0.0.1:8000/examples/global/vars/URL>(r=request
> <http://127.0.0.1:8000/examples/global/vars/request>,
> f='user/login')],
>                 ['Logout', False, URL
> <http://127.0.0.1:8000/examples/global/vars/URL>(r=request
> <http://127.0.0.1:8000/examples/global/vars/request>,
> f='user/logout')]]
>
> def index():
>
>     link_create=URL
> <http://127.0.0.1:8000/examples/global/vars/URL>(r=request
> <http://127.0.0.1:8000/examples/global/vars/request>,
> f='customcreate')
>     link_search=URL
> <http://127.0.0.1:8000/examples/global/vars/URL>(r=request
> <http://127.0.0.1:8000/examples/global/vars/request>, f='list_all')
>
>     return dict(link_create=link_create, link_search=link_search)
>
> # # uncomment the following if you have defined "auth" and "crud" in models
> def user():
>     return dict(form=auth())
>
> @auth.requires_login()
>
> def list_all():
>
>     form=FORM <http://127.0.0.1:8000/examples/global/vars/FORM>(TABLE
> <http://127.0.0.1:8000/examples/global/vars/TABLE>(TR
> <http://127.0.0.1:8000/examples/global/vars/TR>('Select Store:',
> SELECT 
> <http://127.0.0.1:8000/examples/global/vars/SELECT>('All',1,2,3,4,5,6,7,8,9,10,11,12,13,14,
> value='All', _name='store_id', requires=IS_NOT_EMPTY
> <http://127.0.0.1:8000/examples/global/vars/IS_NOT_EMPTY>())),
>                     TR
> <http://127.0.0.1:8000/examples/global/vars/TR>('Reason:', SELECT
> <http://127.0.0.1:8000/examples/global/vars/SELECT>('All',
>                                     'Afpöntun',
>                                        'Annað',
>                                 'Ekki heimild',
>                                    'Ómóttekin',
>                                        'Ósótt',
>                                       'Remake',
>                                     'Röng búð',
>                                         'Sein',
>                                   'Símamistök',
>                                  'Staffamatur',
>                                  value='All', _name='reason',
> requires=IS_NOT_EMPTY
> <http://127.0.0.1:8000/examples/global/vars/IS_NOT_EMPTY>())),
>                     TR
> <http://127.0.0.1:8000/examples/global/vars/TR>('Date', INPUT
> <http://127.0.0.1:8000/examples/global/vars/INPUT>(_class="date",
> _id="date_field", _type="date",_name="date", _value="All")),
>                    ("",INPUT
> <http://127.0.0.1:8000/examples/global/vars/INPUT>(_type="submit",_value="Go"))))
>
>     query=""
>     db_store=db.databasedp.Store_id
>     db_reason=db.databasedp.reason
>     db_date=db.databasedp.date
>
>     st_store=request
> <http://127.0.0.1:8000/examples/global/vars/request>.vars.store_id
>     st_reason=request
> <http://127.0.0.1:8000/examples/global/vars/request>.vars.reason
>     st_date=request
> <http://127.0.0.1:8000/examples/global/vars/request>.vars.date
>
>     if st_date!="All":
>         q_date=db_date==st_date
>     else:
>         q_date=db_date==db_date
>
>     if st_store!="All":
>         q_store=db_store==st_store
>     else:
>         q_store=db_store==db_store
>
>     if st_reason!="All":
>         q_reason=db_reason==st_reason
>     else:
>         q_reason=db_reason==db_reason
>
>     if st_store=="All" and st_reason=="All" and st_date=="All": #Se
> todos forem all
>         query=db().select(db.databasedp.ALL)
>     else:
>         query=db(q_store&q_date&q_reason).select()
>
>     return dict(form=form, query=query)
>
> @auth.requires_login()
> def customread():
>     id_order=request
> <http://127.0.0.1:8000/examples/global/vars/request>.args[0]
>     return dict(crudread=crud.read(db.databasedp, int(id_order)))
>
> @auth.requires_login()
> def customupdate():
>     id_order=request
> <http://127.0.0.1:8000/examples/global/vars/request>.args[0]
>     #if db.databasedp.id(id_order):
>     crud_output=crud.update(db.databasedp, int(id_order) ,next=URL
> <http://127.0.0.1:8000/examples/global/vars/URL>(r=request
> <http://127.0.0.1:8000/examples/global/vars/request>,args=request
> <http://127.0.0.1:8000/examples/global/vars/request>.args[0]))
>
>     return dict(crudupdate=crud_output)
>
> #[email protected]_login()
> #def customcreate():
>
> #    try:
> #        if session.create:
> #            pass
> #    except:
> #        session.create=[]
>
> #    form = crud.create('databasedp',onvalidation=lambda form:r(form),
> onaccept=lambda form: f(form))
>
> #    return dict(form=form)
>
> #def f(form):
>
> #    if session.create:
> #        session.create.append(form.vars.id)
> #    else:
> #        session.create=[form.vars.id]
>
> #def r(form):
> #    form.vars.total_payd=form.vars.total_amount-form.vars.total_credit
>
> @auth.requires_login()
> def customcreate():
>    crud.settings.keepvalues = True
>    if not session
> <http://127.0.0.1:8000/examples/global/vars/session>.create: session
> <http://127.0.0.1:8000/examples/global/vars/session>.create = []
>    form = crud.create(db.ttt, onvalidation=r, onaccept=f)
>    return dict(form=form)
>
> def f(form): session
> <http://127.0.0.1:8000/examples/global/vars/session>.create.append(form.vars.id)
> def r(form): 
> form.vars.total_payd=form.vars.total_amount-form.vars.total_credit
>
> response <http://127.0.0.1:8000/examples/global/vars/response>._vars=response
> <http://127.0.0.1:8000/examples/global/vars/response>._caller(user)
>
> On Wed, Jun 10, 2009 at 3:13 AM, mdipierro <[email protected]> wrote:
>
> > There is a bug in keepvalues and crud. I fixed it in trunk but that
> > was not causing your problem.
>
> > This code works for me:
>
> > @auth.requires_login()
> > def customcreate():
> >     crud.settings.keepvalues = True
> >    if not session.create: session.create = []
> >    form = crud.create(db.ttt, onvalidation=r, onaccept=f)
> >    return dict(form=form)
>
> > def f(form): session.create.append(form.vars.id)
> > def r(form): form.vars.total_payd=form.vars.total_amount-
> > form.vars.total_credit
>
> > Massimo
>
> > On Jun 9, 9:35 pm, Rui Gomes <[email protected]> wrote:
> > > yes i set crud.settings.keepvalues=True, and what happen is when i call
> > the
> > > function customcreate, the function don't return the form but a
> > redirection
> > > to the index page, but if i try the same application with  1.62 version
> > and
> > > work fine :(
>
> > > PS: i double check in different machines
>
> > > On Mon, Jun 8, 2009 at 3:26 PM, mdipierro <[email protected]>
> > wrote:
>
> > > > I do not see how the last update may be causing this problem.
> > > > have you set crud.settings.keepvalues somewhere?
> > > > Is anybody else having problem with crud.create and the latest trunk?
>
> > > > Massimo
>
> > > > On Jun 8, 9:00 am, NewBeen <[email protected]> wrote:
> > > > > This last update break my application,
>
> > > > > now my function
>
> > > > > ### Controller ####
>
> > > > > @auth.requires_login()
> > > > > def customcreate():
>
> > > > >     try:
> > > > >         if session.create:
> > > > >             pass
> > > > >     except:
> > > > >         session.create=[]
>
> > > > >     try:
> > > > >         form = crud.create('databasedp',onvalidation=lambda form:r
> > > > > (form), onaccept=lambda form: f(form)) #i just put this here to debug
> > > > >     except Exception, inst:
> > > > >         print inst
>
> > > > >     return dict(form=form)
>
> > > > > def f(form):
>
> > > > >     if session.create:
> > > > >         session.create.append(form.vars.id)
> > > > >     else:
> > > > >         session.create=[form.vars.id]
>
> > > > > def r(form):
>
> > form.vars.total_payd=form.vars.total_amount-form.vars.total_credit
>
> > > > > ################################################################
>
> > > > > Always return
>
> > > > > #####
> > > > > (303, 'You are being redirected <a href="/Dominos_Times/default/
> > > > > index">here</a>'
> > > > > , {'Content-Type': 'text/html', 'Location': '/Dominos_Times/default/
> > > > > index'})
> > > > > ###
>
> > > > > But work fine in before this last update!
>
> > > > > On 8 Jun, 12:45, mdipierro <[email protected]> wrote:
>
> > > > > > in thunk in 5 minutes
>
> > > > > > crud.settings.keepvalues=True before
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to