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.


Reply via email to