diff --git a/client/src/lib/i18n.js b/client/src/lib/i18n.js index f734f1ce..68101e5e 100644 --- a/client/src/lib/i18n.js +++ b/client/src/lib/i18n.js @@ -6,6 +6,7 @@ import {I18nextProvider} from 'react-i18next'; import i18n from 'i18next'; import LanguageDetector from 'i18next-browser-languagedetector'; import mailtrainConfig from 'mailtrainConfig'; +import moment from 'moment'; import {convertToFake, getLang} from '../../../shared/langs'; import {createComponentMixin} from "./decorator-helpers"; @@ -63,6 +64,8 @@ i18n debug: false }); +// Show moment text in selected language +moment.locale(i18n.language); export default i18n; diff --git a/client/src/lists/fields/CUD.js b/client/src/lists/fields/CUD.js index f99bb0ce..a0191f58 100644 --- a/client/src/lists/fields/CUD.js +++ b/client/src/lists/fields/CUD.js @@ -426,7 +426,8 @@ export default class CUD extends Component { Default value used when the field is empty.}/> diff --git a/server/models/fields.js b/server/models/fields.js index 485a2b90..ec731643 100644 --- a/server/models/fields.js +++ b/server/models/fields.js @@ -233,7 +233,7 @@ fieldTypes.option = { fieldTypes['date'] = { validate: field => { - enforce(['eur', 'us'].includes(field.settings.dateFormat), 'Date format incorrect'); + enforce(['eur', 'us', 'intl'].includes(field.settings.dateFormat), 'Date format incorrect'); }, addColumn: (table, name) => table.dateTime(name), indexed: true, diff --git a/server/models/subscriptions.js b/server/models/subscriptions.js index 03ef63a6..e4174ee5 100644 --- a/server/models/subscriptions.js +++ b/server/models/subscriptions.js @@ -62,7 +62,7 @@ fieldTypes.date = { afterJSON: (groupedField, entity) => { const key = getFieldColumn(groupedField); if (key in entity) { - entity[key] = entity[key] ? moment(entity[key]).toISOString() : null; + entity[key] = entity[key] ? moment(entity[key]).utc().format("YYYY-MM-DD HH:mm:ss") : null; } }, listRender: (groupedField, value) => formatDate(groupedField.settings.dateFormat, value) @@ -72,7 +72,7 @@ fieldTypes.birthday = { afterJSON: (groupedField, entity) => { const key = getFieldColumn(groupedField); if (key in entity) { - entity[key] = entity[key] ? moment(entity[key]).toISOString() : null; + entity[key] = entity[key] ? moment(entity[key]).utc().format("YYYY-MM-DD HH:mm:ss") : null; } }, listRender: (groupedField, value) => formatBirthday(groupedField.settings.dateFormat, value)