I too have this issue with using SQLFORM.factory to edit.
My model looks like:
db.define_table('upload_file',
Field('doc_type', 'reference document_type', required=True,
label=T('Type')),
Field('pdf_name', 'upload', label=T('PDF Document'),
uploadfolder=os.path.join(request.folder, 'uploads',
'user_data')),...)
my controller looks like:
...
edit_mode = len(request.args) > 0
if edit_mode:
id = int(request.args[0])
q = db.upload_file.id == id
rows = db(q).select()
for row in rows:
for field in row:
if field in db.upload_file.fields:
db.upload_file[field].default = row[field]
...
form = SQLFORM.factory(db.upload_file, fields=fields,
submit_button=T('Add to Print Queue') if not edit_mode
else T('Update Queue'),
upload=URL('download'))
...
If I am in edit mode and hit the "Update Queue" button, I get the validation
error "Please select a file", even though I have prepopulated the defaults.
I have to click the "Choose File" button to select a file *again, *then it
works.
Please help.
Thanks.
On Saturday, April 6, 2013 at 11:22:32 AM UTC-5, Massimo Di Pierro wrote:
>
> what are the models?
>
> On Tuesday, 2 April 2013 12:19:12 UTC-5, Ramos wrote:
>>
>> Back to business after almost 2 months i try again to use sqlform.factory
>> to create and edit documents
>> My problem was to generate the link
>> i rearranged my code as follows
>>
>>
>> #if edit a document
>> if request.args(0):
>>
>> row=db((db.trabalhador.id==request.args(0))).select().first()
>>
>> empresa=row.empresa
>>
>> foto=row['foto'] or None
>> #print foto
>> if row:
>> for field in row:
>>
>> if field in db.trabalhador.fields:
>> #POPULATE FIELDS with record to edit
>> db.trabalhador[field].default=row[field]
>>
>> form=SQLFORM.factory(db.trabalhador,db.t_docs,
>> submit_button="Gravar",
>>
>> fields=['nome','bi','ncart','ncartval','rfid','apt_medica','apt_medicaval','val_formacao','f_doc'],
>> table_name='trabalhador',
>> upload=URL('download')
>> )
>>
>> I see my record and upload fields with [file] link. The [file] link
>> downloads my uploaded file.
>> My upload fields have required= true in db.py!!!
>> I do nothing and just press save
>>
>> I get the error saying that i have to select a file to my upload field.
>>
>> I´m stuck
>>
>> Help please.....
>>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
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 [email protected].
For more options, visit https://groups.google.com/d/optout.