improved upload logic, thanks Marin

This commit is contained in:
mdipierro
2012-08-03 09:01:02 -05:00
parent 29df9f9f3e
commit 38ceeb82b8
2 changed files with 13 additions and 7 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.00.0 (2012-08-03 08:57:50) dev
Version 2.00.0 (2012-08-03 09:01:00) dev
+12 -6
View File
@@ -1229,16 +1229,22 @@ class SQLFORM(FORM):
continue # do not update if password was not changed
elif field.type == 'upload':
f = self.vars[fieldname]
f = f if not f in (None,'') else self.table[fieldname].default
fd = '%s__delete' % fieldname
if f == '' or f is None:
if self.vars.get(fd, False) or not self.record:
fields[fieldname] = ''
if self.vars.get(fd, False):
f = self.table[fieldname].default or ''
fields[fieldname] = f
elif self.record:
if self.record[fieldname]:
fields[fieldname] = self.record[fieldname]
else:
f = self.table[fieldname].default or ''
fields[fieldname] = f
else:
fields[fieldname] = self.record[fieldname]
fields[fieldname] = ''
self.vars[fieldname] = fields[fieldname]
continue
elif hasattr(f, 'file'):
if not f: continue
if hasattr(f, 'file'):
(source_file, original_filename) = (f.file, f.filename)
elif isinstance(f, (str, unicode)):
f = os.path.join(current.request.folder,