Add a literal_col_headings request parameter for an UploadFileForm
authorKarl O. Pinc <kop@karlpinc.com>
Fri, 6 Dec 2019 03:18:26 +0000 (21:18 -0600)
committerKarl O. Pinc <kop@karlpinc.com>
Fri, 6 Dec 2019 03:18:26 +0000 (21:18 -0600)
src/pgwui_core/core.py

index ec9a1b35fcdb645556a2c2412c6c281d021c9a9d..d72a1c739dc8951b1bc1dd0c0fa3acff05b1082c 100644 (file)
@@ -97,6 +97,7 @@ class UploadFileInitialPost(AuthInitialPost):
     upload_fmt = CSV
     datafile = ''
     trim_upload = True
+    literal_col_headings = False
 
 
 class UploadNullFileInitialPost(UploadFileInitialPost):
@@ -147,6 +148,7 @@ class UploadFileWTForm(AuthWTForm):
                                      ('Upload tab delimited Data:', TAB)])
     datafile = FileField('File with CSV or Tab delimited Data:')
     trim_upload = BooleanField('Trim Leading/Trailing Spaces:')
+    literal_col_headings = BooleanField('Take Column Headings Literally:')
 
     ivals = UploadFileInitialPost
 
@@ -386,6 +388,7 @@ class UploadFileForm(AuthLoadedForm):
         # Read our own data
         self['upload_fmt'] = self._form.upload_fmt.data
         self['trim_upload'] = self._form.trim_upload.data
+        self['literal_col_headings'] = self._form.literal_col_headings.data
 
         # Other POST variables involving a file
         self['filename'] = ''
@@ -414,6 +417,11 @@ class UploadFileForm(AuthLoadedForm):
         else:
             trim_upload_checked = UNCHECKED
 
+        if self['literal_col_headings']:
+            literal_col_headings_checked = CHECKED
+        else:
+            literal_col_headings_checked = UNCHECKED
+
         response = super(UploadFileForm, self).write(result, errors)
         response['filename'] = self['filename']
         response['trim_upload'] = trim_upload_checked
@@ -421,6 +429,7 @@ class UploadFileForm(AuthLoadedForm):
         response['tab_value'] = TAB_VALUE
         response['csv_checked'] = csv_checked
         response['tab_checked'] = tab_checked
+        response['literal_col_headings'] = literal_col_headings_checked
         return response