From d03e89f219f6dba48a8bd7d9746257281182cae0 Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Thu, 10 Oct 2024 13:25:14 -0500 Subject: [PATCH] Add feature to upload missing column values as NULL --- src/pgwui_core/forms.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/pgwui_core/forms.py b/src/pgwui_core/forms.py index 204e7d8..286efd9 100644 --- a/src/pgwui_core/forms.py +++ b/src/pgwui_core/forms.py @@ -68,6 +68,7 @@ class UploadFileInitialPost(UserInitialPost): upload_fmt = attrs.field(default=CSV) trim_upload = attrs.field(default=True) literal_col_headings = attrs.field(default=False) + add_missing_columns = attrs.field(default=False) datafile = attrs.field(default='') @@ -118,6 +119,7 @@ class UploadFileWTForm(AuthWTForm): datafile = FileField('File with CSV or Tab delimited Data:') trim_upload = BooleanField('Trim Leading/Trailing Spaces:') literal_col_headings = BooleanField('Literal Uploaded Column Headings:') + add_missing_columns = BooleanField('Add Missing Columns:') class UploadNullFileWTForm(UploadFileWTForm): @@ -431,6 +433,7 @@ class UploadFileForm(AuthLoadedForm): 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 + self['add_missing_columns'] = self._form.add_missing_columns.data # Other POST variables involving a file post = self.uh.request.POST @@ -468,6 +471,11 @@ class UploadFileForm(AuthLoadedForm): else: literal_col_headings_checked = UNCHECKED + if self['add_missing_columns']: + add_missing_columns_checked = CHECKED + else: + add_missing_columns_checked = UNCHECKED + response = super().write(result, errors) # Although we read-in db_changed, we do not write it because # it, like last_key, is computed. @@ -478,6 +486,7 @@ class UploadFileForm(AuthLoadedForm): response['csv_checked'] = csv_checked response['tab_checked'] = tab_checked response['literal_col_headings'] = literal_col_headings_checked + response['add_missing_columns'] = add_missing_columns_checked return response -- 2.34.1