From d34009c6b3c9a72a556a97565ac0309abeb34e26 Mon Sep 17 00:00:00 2001
From: "use-tusk[bot]" <144006087+use-tusk[bot]@users.noreply.github.com>
Date: Wed, 9 Oct 2024 15:12:15 +0000
Subject: [PATCH] fix(merge-dialog): display '-' for unknown joined date
---
.../suggestions/member-merge-suggestions-details.vue | 9 ++++++++-
frontend/src/modules/member/member-model.js | 10 +++++++++-
frontend/src/shared/fields/date-time-field.js | 7 +++++++
3 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/frontend/src/modules/member/components/suggestions/member-merge-suggestions-details.vue b/frontend/src/modules/member/components/suggestions/member-merge-suggestions-details.vue
index 257f92ccbf..b1c0985561 100644
--- a/frontend/src/modules/member/components/suggestions/member-merge-suggestions-details.vue
+++ b/frontend/src/modules/member/components/suggestions/member-merge-suggestions-details.vue
@@ -224,7 +224,7 @@
Joined date
- {{ moment(member.joinedAt).format('YYYY-MM-DD') }}
+ {{ formatJoinedDate(member.joinedAt) }}
{
}, 0);
});
+const formatJoinedDate = (date) => {
+ if (!date || new Date(date).getFullYear() <= 1970) {
+ return '-';
+ }
+ return moment(date).format('YYYY-MM-DD');
+};
+
defineExpose({
more,
});
diff --git a/frontend/src/modules/member/member-model.js b/frontend/src/modules/member/member-model.js
index 061a8614c6..d4f61dbc93 100644
--- a/frontend/src/modules/member/member-model.js
+++ b/frontend/src/modules/member/member-model.js
@@ -48,7 +48,15 @@ const fields = {
'organizations',
'Organizations',
),
- joinedAt: new DateTimeField('joinedAt', 'Joined date'),
+ joinedAt: new DateTimeField('joinedAt', 'Joined date', {
+ filterable: true,
+ formatter: (value) => {
+ if (!value || new Date(value).getFullYear() <= 1970) {
+ return '-';
+ }
+ return moment(value).format('YYYY-MM-DD');
+ },
+ }),
bio: new StringField('bio', label('bio')),
location: new StringField(
'location',
diff --git a/frontend/src/shared/fields/date-time-field.js b/frontend/src/shared/fields/date-time-field.js
index deb8a0561a..fb662e6e9d 100644
--- a/frontend/src/shared/fields/date-time-field.js
+++ b/frontend/src/shared/fields/date-time-field.js
@@ -11,15 +11,22 @@ export default class DateTimeField extends GenericField {
this.placeholder = config.placeholder;
this.hint = config.hint;
this.filterable = config.filterable || false;
+ this.formatter = config.formatter || null;
}
forPresenter(value) {
+ if (this.formatter) {
+ return this.formatter(value);
+ }
return value
? moment(value).format('YYYY-MM-DD HH:mm')
: null;
}
forFilterPreview(value) {
+ if (this.formatter) {
+ return this.formatter(value);
+ }
return value
? moment(value).format('YYYY-MM-DD HH:mm')
: null;