From 2e32b09a5c899ab9f98da36aae791b00cd1229ea Mon Sep 17 00:00:00 2001 From: Dan Head Date: Sun, 16 Apr 2017 17:29:41 +0100 Subject: [PATCH] Migrate RSVP end dates to per user --- package.json | 2 +- src/data/models/Person.js | 4 ++ src/data/types/PersonItemType.js | 1 + src/routes/adminPeople/AdminPeople.js | 30 ++++++++++++ src/routes/adminPeople/index.js | 2 +- src/routes/adminPerson/AdminPerson.js | 21 +++++++++ src/routes/adminPerson/index.js | 2 +- src/routes/rsvp/Rsvp.js | 1 + src/routes/rsvp/index.js | 15 +++--- src/server.js | 67 ++++++++++++++------------- yarn.lock | 8 +--- 11 files changed, 103 insertions(+), 50 deletions(-) diff --git a/package.json b/package.json index db6c2f5..7d4d6f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wedding", - "version": "1.2.0", + "version": "1.3.0", "private": true, "engines": { "node": ">=6.5", diff --git a/src/data/models/Person.js b/src/data/models/Person.js index 2720bae..31317a8 100644 --- a/src/data/models/Person.js +++ b/src/data/models/Person.js @@ -66,6 +66,10 @@ const Person = Model.define('Person', { defaultValue: -1, }, + enddate: { + type: DataType.DATE, + }, + }, { indexes: [ diff --git a/src/data/types/PersonItemType.js b/src/data/types/PersonItemType.js index 9945919..402e2d2 100644 --- a/src/data/types/PersonItemType.js +++ b/src/data/types/PersonItemType.js @@ -20,6 +20,7 @@ const PersonItemType = new ObjectType({ dietary: { type: StringType }, starter: { type: StringType }, main: { type: StringType }, + enddate: { type: StringType }, }, }); diff --git a/src/routes/adminPeople/AdminPeople.js b/src/routes/adminPeople/AdminPeople.js index a06acf0..1052a3b 100644 --- a/src/routes/adminPeople/AdminPeople.js +++ b/src/routes/adminPeople/AdminPeople.js @@ -3,6 +3,7 @@ import withStyles from 'isomorphic-style-loader/lib/withStyles'; import s from './AdminPeople.css'; import Link from '../../components/Link'; import Button from '../../components/Button'; +import { prettifyDate } from '../../config'; class AdminPeople extends React.Component { static propTypes = { @@ -16,6 +17,7 @@ class AdminPeople extends React.Component { email: PropTypes.string, password: PropTypes.string, attending: PropTypes.boolean, + enddate: PropTypes.string, })).isRequired, }; @@ -138,6 +140,22 @@ class AdminPeople extends React.Component { >⬆ this.sortPeople(event, 'ceremony')}>Ceremony + + ⬇ + ⬆ + this.sortPeople(event, 'enddate')}>End date + + {person.email} {person.password} {person.ceremony ? 'Full day' : 'Evening only'} + {prettifyDate(person.enddate)} {person.completed ? 'Yes' : 'No'} @@ -239,6 +258,17 @@ class AdminPeople extends React.Component { +
+ + +
+
+ + +