Merge pull request #369 from terakilobyte/staging

Bug fixes to stories and fieldguides
pull/373/merge
Quincy Larson 2015-04-25 18:14:43 -07:00
commit 4e9f8b9458
8 changed files with 60 additions and 18 deletions

1
app.js
View File

@ -81,7 +81,6 @@ app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
console.log(process.env.NODE_ENV);
if (process.env.NODE_ENV === 'production') {
app.all(/.*/, function (req, res, next) {

View File

@ -326,7 +326,6 @@ exports.completedBonfire = function (req, res, next) {
return next(err);
}
if (user) {
debug('Saving user');
res.send(true);
}
});

View File

@ -22,7 +22,7 @@ exports.returnIndividualFieldGuide = function(req, res, next) {
return res.redirect('/field-guide');
}
var fieldGuide = fieldGuideFromMongo.pop();
var fieldGuide = R.head(fieldGuideFromMongo);
var dashedNameFull = fieldGuide.name.toLowerCase().replace(/\s/g, '-').replace(/\?/g, '');
if (dashedNameFull !== dashedName) {
return res.redirect('../field-guide/' + dashedNameFull);
@ -54,15 +54,14 @@ exports.returnNextFieldGuide = function(req, res, next) {
var completed = req.user.completedFieldGuides;
req.user.uncompletedFieldGuides = resources.allFieldGuideIds().filter(function (elem) {
var uncompletedFieldGuides = resources.allFieldGuideIds().filter(function (elem) {
if (completed.indexOf(elem) === -1) {
return elem;
}
});
req.user.uncompletedFieldGuides = uncompletedFieldGuides;
req.user.save();
var uncompletedFieldGuides = req.user.uncompletedFieldGuides;
var displayedFieldGuides = FieldGuide.find({'_id': uncompletedFieldGuides[0]});
displayedFieldGuides.exec(function(err, fieldGuide) {
if (err) {
@ -81,14 +80,13 @@ exports.returnNextFieldGuide = function(req, res, next) {
};
exports.completedFieldGuide = function (req, res, next) {
debug('params in completedFieldGuide', req.params);
var fieldGuideId = req.body.fieldGuideInfo.fieldGuideId;
req.user.completedFieldGuides.push(fieldGuideId);
var index = req.user.uncompletedFieldGuides.indexOf(fieldGuideId);
if (index > -1) {
req.user.progressTimestamps.push(Date.now() || 0);
req.user.progressTimestamps.push(Date.now());
req.user.uncompletedFieldGuides.splice(index, 1);
}

View File

@ -132,7 +132,6 @@ exports.returnIndividualNonprofit = function(req, res, next) {
var hasShownInterest = nonprofit.interestedCampers.filter(function ( obj ) {
return obj.username === req.user.profile.username;
});
console.log(hasShownInterest);
if (hasShownInterest.length === 0) {
buttonActive = true;
}

View File

@ -261,9 +261,7 @@ module.exports = {
} else {
allFieldGuideIds = fieldGuides.
map(function (elem) {
return {
_id: elem._id
};
return elem._id;
});
return allFieldGuideIds;
}

View File

@ -118,7 +118,7 @@ exports.preSubmit = function(req, res) {
exports.returnIndividualStory = function(req, res, next) {
var dashedName = req.params.storyName;
var storyName = dashedName.replace(/\-/g, ' ');
var storyName = dashedName.replace(/\-/g, ' ').trim();
Story.find({'storyLink': storyName}, function(err, story) {
if (err) {
@ -321,9 +321,10 @@ exports.storySubmission = function(req, res, next) {
.replace(/\'/g, '')
.replace(/\"/g, '')
.replace(/,/g, '')
.replace(/[^a-z0-9]/gi, ' ')
.replace(/\s+/g, ' ')
.toLowerCase();
.replace(/[^a-z0-9\s]/gi, '')
.toLowerCase()
.trim();
var link = data.link;
if (link.search(/^https?:\/\//g) === -1) {
link = 'http://' + link;
@ -334,7 +335,7 @@ exports.storySubmission = function(req, res, next) {
}
// if duplicate storyLink add unique number
storyLink = (storyCount == 0) ? storyLink : storyLink + ' ' + storyCount;
storyLink = (storyCount === 0) ? storyLink : storyLink + ' ' + storyCount;
var link = data.link;
if (link.search(/^https?:\/\//g) === -1) {

View File

@ -100,7 +100,6 @@ $(document).ready(function() {
});
$('.next-field-guide-button').on('click', function() {
console.log('click');
var fieldGuideId = $('#fieldGuideId').text();
completedFieldGuide(fieldGuideId);
});
@ -126,7 +125,6 @@ $(document).ready(function() {
});
$('#next-courseware-button').on('click', function() {
console.log(passedCoursewareHash);
if ($('.signup-btn-nav').length < 1) {
switch (challengeType) {
case 0:

50
seed_data/storyCleanup.js Normal file
View File

@ -0,0 +1,50 @@
/**
* Created by nathanleniz on 4/25/15.
*/
require('dotenv').load();
var mongodb = require('mongodb'),
Story = require('../models/Story.js'),
secrets = require('../config/secrets');
mongoose = require('mongoose');
mongoose.connect(secrets.db);
function storyLinkCleanup(cb) {
console.log('headLineCleanup');
var i = 1;
var stream = Story.find({}).skip(0).limit(0).batchSize(20000).stream();
stream.on('data', function (story) {
console.log(i++);
this.pause();
story.storyLink = story.storyLink.
replace(/\'/g, '').
replace(/\"/g, '').
replace(/,/g, '').
replace(/\s+/g, ' ').
replace(/[^a-z0-9\s]/gi, '').
toLowerCase().
trim();
story.save(function (err) {
if (err) {
console.log('woops');
}
this.resume();
}.bind(this));
})
.on('error', function (err) {
console.error(err);
}).on('close', function () {
console.log('done with set');
stream.destroy();
cb();
});
}
function done() {
console.log('Migration script has completed');
process.exit(0);
}
storyLinkCleanup(done);