Thank you Massimo for your patience. I change factory to just sqlform and it works even with default values to upload fields.
Thank you António 2013/4/8 Massimo Di Pierro <massimo.dipie...@gmail.com> > It took me a while to isolate the problem. Here is a simple code to > reproduce it: > > def index(): > > db.define_table('thing',Field('image','upload',requires=IS_NOT_EMPTY())) > db.thing.image.default = 'xxx.png' > form = SQLFORM.factory(db.thing,upload=URL('download')).process() > return locals() > > It is a bin can of worms and I opened a ticket about this. For now I will > just say that giving a default to an upload field is not a good idea. You > can try do the following: > def index(): > > db.define_table('thing',Field('image','upload',requires=IS_NOT_EMPTY())) > form = SQLFORM.factory(db.thing,upload=URL('download')).process() > db.thing.image.default = 'xxx.png' > if form.errors['image'] == '': > del form.errors['image'] > insert 'xxx.png' where needed > return locals() > > On Sunday, 7 April 2013 06:54:41 UTC-5, Ramos wrote: > >> Can you check again Massimo in the app i posted? controller default - >> Action trabalhador >> >> Thank you >> >> António >> >> >> 2013/4/6 António Ramos <ramst...@gmail.com> >> >>> Sorry i meant trabalhador >>> >>> Action trabalhador >>> Thank you >>> No dia 06/04/2013 17:31, "Massimo Di Pierro" <massimo....@gmail.com> >>> escreveu: >>> >>> Sorry I cannot find action "empreiteiro" >>>> >>>> On Friday, 5 April 2013 16:45:39 UTC-5, Ramos wrote: >>>>> >>>>> I post here my app. >>>>> >>>>> Sorry about the quality of my code. I´m learning as i go along the way. >>>>> >>>>> The problem is in controller default, action empreiteiro >>>>> >>>>> The upload field is required but when i edit a record i see the link >>>>> to the uploaded file and if i do nothing and just save it complains that i >>>>> have to upload a file. >>>>> It is there!! >>>>> >>>>> Thank you >>>>> >>>>> António >>>>> >>>>> >>>>> >>>>> 2013/4/5 Massimo Di Pierro <massimo....@gmail.com> >>>>> >>>>>> Can you post a simpler example (including mode) to reproduce the >>>>>> problem? Looks like the field in the table has a validator which requires >>>>>> an upload. >>>>>> >>>>>> >>>>>> On Friday, 5 April 2013 11:06:52 UTC-5, Ramos wrote: >>>>>>> >>>>>>> hello, i´m using a sqlform.factory to edit a record. >>>>>>> >>>>>>> The form is prepopulated using this code >>>>>>> >>>>>>> >>>>>>> row=db((db.trabalhador.id==**req****uest.args(0))).select().**first( >>>>>>> ****) >>>>>>> >>>>>>> if row: >>>>>>> for field in row: >>>>>>> if field in db.trabalhador.fields: >>>>>>> >>>>>>> print "setting -",row[field] ," on ",field >>>>>>> db.trabalhador[field].default=******row[field] >>>>>>> >>>>>>> >>>>>>> one of the fields is a required upload field. >>>>>>> >>>>>>> The rest of the code >>>>>>> form=SQLFORM.factory(db.**trabal****hador,db.t_docs, >>>>>>> submit_button="Gravar", >>>>>>> fields=['nome','bi','ncart','**n**** >>>>>>> cartval','rfid','apt_medica',**'****apt_medicaval','val_formacao'**, >>>>>>> ****'f_doc'], >>>>>>> table_name='trabalhador', >>>>>>> upload=URL('download') >>>>>>> ) >>>>>>> empresa=request.vars['id'] or empresa >>>>>>> extra_but = TR(DIV(A(I(_name='but',_class=******'icon-camera >>>>>>> icon-white'),' Tirar foto',_class="btn btn-primary",_id ="but"))) >>>>>>> extra_fp_url = TR(DIV(INPUT(_name='fp_url',_**t**** >>>>>>> ype='hidden',_id='fpurl'))) >>>>>>> extra_Aptidao = TR(DIV(A(I(_name='but',_class=******'icon-file >>>>>>> icon-white'),' ',_class="btn btn-primary"),_onclick="**locati**** >>>>>>> on.href='"+URL(f='**download', args=form.vars.apt_medica)+"'"****** >>>>>>> )) >>>>>>> form[0].insert(-4,extra_**Aptida****o) >>>>>>> form[0].insert(-1,extra_but) >>>>>>> form[0].insert(-1,extra_fp_**url****) >>>>>>> >>>>>>> if form.process().accepted: >>>>>>> print "accepted form to save or update" >>>>>>> print form.vars >>>>>>> >>>>>>> >>>>>>> >>>>>>> When i edit a record i see the upload file. But if i do not change >>>>>>> the upload and save the record i get the error asking me to add the >>>>>>> upload >>>>>>> file. >>>>>>> >>>>>>> I need some help on this. >>>>>>> Thank you >>>>>>> >>>>>> -- >>>>>> >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "web2py-users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to web2py+un...@**googlegroups.com. >>>>>> For more options, visit >>>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out> >>>>>> . >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>> >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "web2py-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to web2py+un...@**googlegroups.com. >>>> For more options, visit >>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out> >>>> . >>>> >>>> >>>> >>> >> -- > > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.