From 0878439750540db54de08f8fde7ce4b88f429e7c Mon Sep 17 00:00:00 2001 From: Scott Tolksdorf Date: Tue, 10 Jan 2017 15:38:13 -0500 Subject: [PATCH] Fixed issue with arrays not being saved --- client/admin/brewLookup/brewLookup.jsx | 35 +++++++++++++++++++++++--- client/homebrew/homebrew.jsx | 2 ++ server/brew.api.js | 3 +++ server/brew.data.js | 3 +++ 4 files changed, 40 insertions(+), 3 deletions(-) diff --git a/client/admin/brewLookup/brewLookup.jsx b/client/admin/brewLookup/brewLookup.jsx index e6a0ff2..5910426 100644 --- a/client/admin/brewLookup/brewLookup.jsx +++ b/client/admin/brewLookup/brewLookup.jsx @@ -2,6 +2,8 @@ const React = require('react'); const _ = require('lodash'); const cx = require('classnames'); +const Moment = require('moment'); + const request = require('superagent'); const BrewLookup = React.createClass({ @@ -13,7 +15,8 @@ const BrewLookup = React.createClass({ getInitialState: function() { return { query:'', - resultBrew : null + resultBrew : null, + searching : false }; }, @@ -23,12 +26,38 @@ const BrewLookup = React.createClass({ }) }, lookup : function(){ + this.setState({ searching : true }); - + request.get(`/admin/lookup/${this.state.query}`) + .query({ admin_key : this.props.adminKey }) + .end((err, res) => { + this.setState({ + searching : false, + resultBrew : (err ? null : res.body) + }); + }) }, renderFoundBrew : function(){ - if(!this.state.resultBrew) return null; + if(this.state.searching) return
; + if(!this.state.resultBrew) return
No brew found.
; + + console.log(this.state.resultBrew); + + const brew = this.state.resultBrew; + return
+
{brew.title}
+
{brew.authors.join(', ')}
+
{brew.editId}
+
{brew.shareId}
+
{Moment(brew.updatedAt).fromNow()}
+
{brew.views}
+
+
+ +
+
+
}, render: function(){ diff --git a/client/homebrew/homebrew.jsx b/client/homebrew/homebrew.jsx index 97f66bb..411da99 100644 --- a/client/homebrew/homebrew.jsx +++ b/client/homebrew/homebrew.jsx @@ -37,6 +37,8 @@ const Homebrew = React.createClass({ loginPath : this.props.loginPath }); + console.log(this.props.brew); + Router = CreateRouter({ '/edit/:id' : , diff --git a/server/brew.api.js b/server/brew.api.js index d7e30bf..be9365b 100644 --- a/server/brew.api.js +++ b/server/brew.api.js @@ -30,12 +30,15 @@ router.post('/api/brew', (req, res, next)=>{ //Update router.put('/api/brew/:editId', mw.loadBrew, (req, res, next)=>{ + console.log(req.account); const brew = req.body || {}; if(req.account){ brew.authors = _.uniq(_.concat(brew.authors, req.account.username)); } + console.log(brew); BrewData.update(req.params.editId, brew) .then((brew) => { + console.log(brew.toJSON()); return res.json(brew.toJSON()); }) .catch(next); diff --git a/server/brew.data.js b/server/brew.data.js index a640885..528fcc2 100644 --- a/server/brew.data.js +++ b/server/brew.data.js @@ -65,6 +65,9 @@ const BrewData = { delete newBrew.shareId; delete newBrew.editId; brew = _.merge(brew, newBrew, { updatedAt : Date.now() }); + + brew.markModified('authors'); + brew.markModified('systems'); return brew.save(); }); },