From 1270ca71f8bc64c61a21a3018607979912b4c42a Mon Sep 17 00:00:00 2001 From: Tomas Bures Date: Sat, 25 May 2019 21:18:18 +0200 Subject: [PATCH] Some fixes --- client/src/lib/form.js | 4 +-- client/src/lists/CUD.js | 7 ++-- client/src/lists/imports/CUD.js | 43 ++++++++++++++++++------ docs/README.md | 4 +-- server/config/default.yaml | 2 +- server/index.js | 16 +++++++-- server/lib/executor.js | 2 +- server/services/postfix-bounce-server.js | 12 +++---- server/services/test-server.js | 4 +-- server/services/tzupdate.js | 5 +-- server/services/verp-server.js | 4 +-- server/setup/adduser.sh | 36 -------------------- server/setup/fakedata.js | 2 +- 13 files changed, 68 insertions(+), 73 deletions(-) delete mode 100644 server/setup/adduser.sh diff --git a/client/src/lib/form.js b/client/src/lib/form.js index 5c5a69d5..a0c5011e 100644 --- a/client/src/lib/form.js +++ b/client/src/lib/form.js @@ -987,7 +987,7 @@ const withForm = createComponentMixin([], [], (TargetClass, InnerClass) => { let data = formStateData.map(attr => attr.get('value')).toJS(); if (self.submitFormValuesMutator) { - const newData = self.submitFormValuesMutator(data); + const newData = self.submitFormValuesMutator(data, false); if (newData !== undefined) { data = newData; } @@ -1169,7 +1169,7 @@ const withForm = createComponentMixin([], [], (TargetClass, InnerClass) => { let data = this.getFormValues(); if (this.submitFormValuesMutator) { - const newData = this.submitFormValuesMutator(data); + const newData = this.submitFormValuesMutator(data, true); if (newData !== undefined) { data = newData; } diff --git a/client/src/lists/CUD.js b/client/src/lists/CUD.js index 083d8478..576b4cab 100644 --- a/client/src/lists/CUD.js +++ b/client/src/lists/CUD.js @@ -66,7 +66,10 @@ export default class CUD extends Component { data.to_name = null; } - return filterData(data, ['name', 'description', 'default_form', 'public_subscribe', 'unsubscription_mode', 'contact_email', 'homepage', 'namespace', 'to_name', 'listunsubscribe_disabled', 'send_configuration']); + return filterData(data, ['name', 'description', 'default_form', 'public_subscribe', 'unsubscription_mode', + 'contact_email', 'homepage', 'namespace', 'to_name', 'listunsubscribe_disabled', 'send_configuration', + 'fieldWizard' + ]); } componentDidMount() { @@ -78,7 +81,7 @@ export default class CUD extends Component { name: '', description: '', form: 'default', - default_form: null, + default_form: 'default', public_subscribe: true, contact_email: '', homepage: '', diff --git a/client/src/lists/imports/CUD.js b/client/src/lists/imports/CUD.js index 895412ec..887df141 100644 --- a/client/src/lists/imports/CUD.js +++ b/client/src/lists/imports/CUD.js @@ -23,7 +23,7 @@ import { import {withAsyncErrorHandler, withErrorHandling} from '../../lib/error-handling'; import {DeleteModalDialog} from "../../lib/modals"; import {getImportLabels} from './helpers'; -import {ImportSource, inProgress, MappingType, prepInProgress} from '../../../../shared/imports'; +import {ImportSource, inProgress, MappingType, prepInProgress, prepFinished} from '../../../../shared/imports'; import axios from "../../lib/axios"; import {getUrl} from "../../lib/urls"; import listStyles from "../styles.scss"; @@ -113,21 +113,31 @@ export default class CUD extends Component { data.mapping_fields_email_column = emailMapping.column || ''; } - submitFormValuesMutator(data) { + submitFormValuesMutator(data, isSubmit) { const isEdit = !!this.props.entity; data.source = Number.parseInt(data.source); data.settings = {}; - const formData = new FormData(); + let formData, csvFileSelected = false; + if (isSubmit) { + formData = new FormData(); + + } + if (!isEdit) { if (data.source === ImportSource.CSV_FILE) { data.settings.csv = {}; // This test needs to be here because this function is also called by the form change detection mechanism if (this.csvFile && this.csvFile.files && this.csvFile.files.length > 0) { - formData.append('csvFile', this.csvFile.files[0]); + if (isSubmit) { + formData.append('csvFile', this.csvFile.files[0]); + } else { + csvFileSelected = true; + } } + data.settings.csv.delimiter = data.csvDelimiter.trim(); } @@ -173,12 +183,21 @@ export default class CUD extends Component { data.mapping = mapping; } - formData.append('entity', JSON.stringify( - filterData(data, ['name', 'description', 'source', 'settings', 'mapping_type', 'mapping']) - )); - // TODO - form change detection cannot cope with FormData + if (isSubmit) { + formData.append('entity', JSON.stringify( + filterData(data, ['name', 'description', 'source', 'settings', 'mapping_type', 'mapping']) + )); - return formData; + return formData; + + } else { + const filteredData = filterData(data, ['name', 'description', 'source', 'settings', 'mapping_type', 'mapping']); + if (csvFileSelected) { + filteredData.csvFileSelected = true; + } + + return filteredData; + } } initFromEntity(entity) { @@ -406,8 +425,10 @@ export default class CUD extends Component { if (!isEdit) { saveButtons.push(