[web2py] Re: Problem with crud.create and duplicate _formname

2010-09-10 Thread mdipierro
In trunk now:

from=crud.upadate(...) # or crud.create(...)
if form.accepted: # form accepted
if form.deleted: # record deleted


On Sep 10, 7:44 am, mdipierro  wrote:
> No but you can do:
>
> form=crus.create(...,onaccept=lambda form: do_something_with(form))
>
> but perhaps there should be a way to check
>
> On Sep 10, 12:52 am, Álvaro J. Iradier  wrote:
>
> > Thanks Massimo.
>
> > It's impossible to have better support than web2py, you and this
> > community are impressing, five stars!
>
> > So, assumming I'm doing other things between the crud.create and the
> > return:
>
> > def index():
> >    form = crud.create(db.contents,message='Inserted')
> >    ... #other code
> >    return dict(form=form, other_variables...)
>
> > Question is: what's the best way for checking if the crud "accepted"
> > the input, and a new record was created? I just got it working by
> > checking if form.vars.id != None, but is there a better or official
> > way of doing it?
>
> > Thanks.
>
> > On 9 sep, 22:31, mdipierro  wrote:
>
> > > because you cannot ".accepts" a crud forms. It is implicit. You can do
>
> > > def index():
> > >    form = crud.create(db.contents,message='Inserted')
> > >    return dict(form=form)
>
> > > On Sep 9, 2:51 pm, Álvaro J. Iradier  wrote:
>
> > > > Hi, I think I found a problem (bug?) with crud.create and
> > > > form.custom.end:
>
> > > > I have the following model:
>
> > > > db.define_table('contents',
> > > >    Field('name', 'string', required=True, notnull=True,
> > > > requires=IS_NOT_EMPTY()),
> > > >    Field('ordering', 'integer', required=True,
> > > > requires=IS_NOT_EMPTY()),
> > > >    Field('duration', 'integer', required=True,
> > > > requires=IS_NOT_EMPTY()),
> > > >    Field('enabled', 'boolean', required=True),
> > > >    Field('file', 'upload', required=True, requires=IS_NOT_EMPTY(),
> > > > autodelete=True)
> > > > )
>
> > > > The following controller:
>
> > > > def index():
> > > >    form = crud.create(db.contents)
> > > >    if form.accepts(request.vars):
> > > >        response.flash='Inserted'
> > > >    return dict(form=form)
>
> > > > and the serialization of form.custom.end is:
>
> > > >  > > > name="_formkey" type="hidden"
> > > > value="b1b19180-5226-48da-8d26-da29ed904177" /> > > > type="hidden" value="contents_create" /> > > > class="hidden"> > > > name="_formkey" type="hidden"
> > > > value="b1b19180-5226-48da-8d26-da29ed904177" /> > > > type="hidden" value="contents/None" />
>
> > > > Notice the output is duplicated, specially "_formname" is repeated
> > > > with a value of "contents/None", which makes the form not working.
>
> > > > Am I doing something wrong, or is this a bug?
>
> > > > Thanks very much.
>
> > > > --
> > > > (:=:)
> > > >  Alvaro J. Iradier Muro - airad...@gmail.com
>
>


[web2py] Re: Problem with crud.create and duplicate _formname

2010-09-10 Thread mdipierro
No but you can do:

form=crus.create(...,onaccept=lambda form: do_something_with(form))

but perhaps there should be a way to check

On Sep 10, 12:52 am, Álvaro J. Iradier  wrote:
> Thanks Massimo.
>
> It's impossible to have better support than web2py, you and this
> community are impressing, five stars!
>
> So, assumming I'm doing other things between the crud.create and the
> return:
>
> def index():
>    form = crud.create(db.contents,message='Inserted')
>    ... #other code
>    return dict(form=form, other_variables...)
>
> Question is: what's the best way for checking if the crud "accepted"
> the input, and a new record was created? I just got it working by
> checking if form.vars.id != None, but is there a better or official
> way of doing it?
>
> Thanks.
>
> On 9 sep, 22:31, mdipierro  wrote:
>
> > because you cannot ".accepts" a crud forms. It is implicit. You can do
>
> > def index():
> >    form = crud.create(db.contents,message='Inserted')
> >    return dict(form=form)
>
> > On Sep 9, 2:51 pm, Álvaro J. Iradier  wrote:
>
> > > Hi, I think I found a problem (bug?) with crud.create and
> > > form.custom.end:
>
> > > I have the following model:
>
> > > db.define_table('contents',
> > >    Field('name', 'string', required=True, notnull=True,
> > > requires=IS_NOT_EMPTY()),
> > >    Field('ordering', 'integer', required=True,
> > > requires=IS_NOT_EMPTY()),
> > >    Field('duration', 'integer', required=True,
> > > requires=IS_NOT_EMPTY()),
> > >    Field('enabled', 'boolean', required=True),
> > >    Field('file', 'upload', required=True, requires=IS_NOT_EMPTY(),
> > > autodelete=True)
> > > )
>
> > > The following controller:
>
> > > def index():
> > >    form = crud.create(db.contents)
> > >    if form.accepts(request.vars):
> > >        response.flash='Inserted'
> > >    return dict(form=form)
>
> > > and the serialization of form.custom.end is:
>
> > >  > > name="_formkey" type="hidden"
> > > value="b1b19180-5226-48da-8d26-da29ed904177" /> > > type="hidden" value="contents_create" /> > > class="hidden"> > > name="_formkey" type="hidden"
> > > value="b1b19180-5226-48da-8d26-da29ed904177" /> > > type="hidden" value="contents/None" />
>
> > > Notice the output is duplicated, specially "_formname" is repeated
> > > with a value of "contents/None", which makes the form not working.
>
> > > Am I doing something wrong, or is this a bug?
>
> > > Thanks very much.
>
> > > --
> > > (:=:)
> > >  Alvaro J. Iradier Muro - airad...@gmail.com
>
>


[web2py] Re: Problem with crud.create and duplicate _formname

2010-09-09 Thread Álvaro J . Iradier
Thanks Massimo.

It's impossible to have better support than web2py, you and this
community are impressing, five stars!

So, assumming I'm doing other things between the crud.create and the
return:

def index():
   form = crud.create(db.contents,message='Inserted')
   ... #other code
   return dict(form=form, other_variables...)

Question is: what's the best way for checking if the crud "accepted"
the input, and a new record was created? I just got it working by
checking if form.vars.id != None, but is there a better or official
way of doing it?

Thanks.

On 9 sep, 22:31, mdipierro  wrote:
> because you cannot ".accepts" a crud forms. It is implicit. You can do
>
> def index():
>    form = crud.create(db.contents,message='Inserted')
>    return dict(form=form)
>
> On Sep 9, 2:51 pm, Álvaro J. Iradier  wrote:
>
>
>
> > Hi, I think I found a problem (bug?) with crud.create and
> > form.custom.end:
>
> > I have the following model:
>
> > db.define_table('contents',
> >    Field('name', 'string', required=True, notnull=True,
> > requires=IS_NOT_EMPTY()),
> >    Field('ordering', 'integer', required=True,
> > requires=IS_NOT_EMPTY()),
> >    Field('duration', 'integer', required=True,
> > requires=IS_NOT_EMPTY()),
> >    Field('enabled', 'boolean', required=True),
> >    Field('file', 'upload', required=True, requires=IS_NOT_EMPTY(),
> > autodelete=True)
> > )
>
> > The following controller:
>
> > def index():
> >    form = crud.create(db.contents)
> >    if form.accepts(request.vars):
> >        response.flash='Inserted'
> >    return dict(form=form)
>
> > and the serialization of form.custom.end is:
>
> >  > name="_formkey" type="hidden"
> > value="b1b19180-5226-48da-8d26-da29ed904177" /> > type="hidden" value="contents_create" /> > class="hidden"> > name="_formkey" type="hidden"
> > value="b1b19180-5226-48da-8d26-da29ed904177" /> > type="hidden" value="contents/None" />
>
> > Notice the output is duplicated, specially "_formname" is repeated
> > with a value of "contents/None", which makes the form not working.
>
> > Am I doing something wrong, or is this a bug?
>
> > Thanks very much.
>
> > --
> > (:=:)
> >  Alvaro J. Iradier Muro - airad...@gmail.com


[web2py] Re: Problem with crud.create and duplicate _formname

2010-09-09 Thread mdipierro
because you cannot ".accepts" a crud forms. It is implicit. You can do

def index():
   form = crud.create(db.contents,message='Inserted')
   return dict(form=form)



On Sep 9, 2:51 pm, Álvaro J. Iradier  wrote:
> Hi, I think I found a problem (bug?) with crud.create and
> form.custom.end:
>
> I have the following model:
>
> db.define_table('contents',
>    Field('name', 'string', required=True, notnull=True,
> requires=IS_NOT_EMPTY()),
>    Field('ordering', 'integer', required=True,
> requires=IS_NOT_EMPTY()),
>    Field('duration', 'integer', required=True,
> requires=IS_NOT_EMPTY()),
>    Field('enabled', 'boolean', required=True),
>    Field('file', 'upload', required=True, requires=IS_NOT_EMPTY(),
> autodelete=True)
> )
>
> The following controller:
>
> def index():
>    form = crud.create(db.contents)
>    if form.accepts(request.vars):
>        response.flash='Inserted'
>    return dict(form=form)
>
> and the serialization of form.custom.end is:
>
>  name="_formkey" type="hidden"
> value="b1b19180-5226-48da-8d26-da29ed904177" /> type="hidden" value="contents_create" /> class="hidden"> name="_formkey" type="hidden"
> value="b1b19180-5226-48da-8d26-da29ed904177" /> type="hidden" value="contents/None" />
>
> Notice the output is duplicated, specially "_formname" is repeated
> with a value of "contents/None", which makes the form not working.
>
> Am I doing something wrong, or is this a bug?
>
> Thanks very much.
>
> --
> (:=:)
>  Alvaro J. Iradier Muro - airad...@gmail.com