1
0
mirror of https://github.com/stolksdorf/homebrewery.git synced 2025-12-22 20:01:30 +00:00

Fixed issue with arrays not being saved

This commit is contained in:
Scott Tolksdorf
2017-01-10 15:38:13 -05:00
parent e77532acef
commit 0878439750
4 changed files with 40 additions and 3 deletions

View File

@@ -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 <div className='searching'><i className='fa fa-spin fa-spinner' /></div>;
if(!this.state.resultBrew) return <div className='noBrew'>No brew found.</div>;
console.log(this.state.resultBrew);
const brew = this.state.resultBrew;
return <div className='brewRow'>
<div>{brew.title}</div>
<div>{brew.authors.join(', ')}</div>
<div><a href={'/edit/' + brew.editId} target='_blank'>{brew.editId}</a></div>
<div><a href={'/share/' + brew.shareId} target='_blank'>{brew.shareId}</a></div>
<div>{Moment(brew.updatedAt).fromNow()}</div>
<div>{brew.views}</div>
<div>
<div className='deleteButton'>
<i className='fa fa-trash' />
</div>
</div>
</div>
},
render: function(){

View File

@@ -37,6 +37,8 @@ const Homebrew = React.createClass({
loginPath : this.props.loginPath
});
console.log(this.props.brew);
Router = CreateRouter({
'/edit/:id' : <EditPage />,

View File

@@ -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);

View File

@@ -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();
});
},