Hi all,
it seems to me that SQLFORM.factory doesn't honor the uploadseparate option
because I'am not able to delete the uploaded file with SQLFORM.factory
form = SQLFORM.factory(db.club, db.cities, _class='well',
formstyle='bootstrap', showid= False,
upload=URL('default', 'download'), uploadfolder=
request.folder+'uploads/pictures',
uploadseparate=True, autodelete=True, table_name=
'club' )
The error:
Enter code here...2012-12-26 19:38:07,728 - web2py - ERROR - Traceback (most
recent call last):
File "/home/paolo/Dropbox/git/web2py/gluon/restricted.py", line 212,
inrestricted
exec ccode in environment
File
"/home/paolo/Dropbox/git/web2py/applications/bikend/controllers/club.py",line
123, in <module>
File "/home/paolo/Dropbox/git/web2py/gluon/globals.py", line 193, in
<lambda>
self._caller = lambda f: f()
File "/home/paolo/Dropbox/git/web2py/gluon/tools.py", line 2935, in f
return action(*a, **b)
File
"/home/paolo/Dropbox/git/web2py/applications/bikend/controllers/club.py",line
35, in modal
d = {'form':club_form(c_id=club_id)}
File
"/home/paolo/Dropbox/git/web2py/applications/bikend/controllers/club.py",line
103, in club_form
if form.process(dbio=False).accepted:
File "/home/paolo/Dropbox/git/web2py/gluon/html.py", line 2179, in process
self.validate(**kwargs)
File "/home/paolo/Dropbox/git/web2py/gluon/html.py", line 2118, invalidate
if self.accepts(**kwargs):
File "/home/paolo/Dropbox/git/web2py/gluon/sqlhtml.py", line 1408, inaccepts
source_file = open(f, 'rb')
IOError: [Errno 2] No such file or directory:
'/home/paolo/Dropbox/git/web2py/applications/bikend/club.picture.a4bd97789f289bcc.6c6f676f322e706e67.png'
It tries to remove the file in the wrong directory. The right one would be:
/home/paolo/Dropbox/git/web2py/applications/bikend/uploads/pictures/club.
picture/a4
The field is defined as follow:
Field("picture", "upload",
uploadfolder=request.folder+'uploads/pictures',uploadseparate
=True, autodelete=True, requires=[IS_NOT_EMPTY(), IS_IMAGE(),IS_UPLOAD_FILENAME
(extension='jpg|jpeg|png'),IS_IMAGE(extensions=('jpeg', 'png'))]),
what should I have to do?
Paolo
--