Factor out more mentions of courseware and bonfire. Remove extraneous methos from resources.js. Refactor sitemap to use new structure.

pull/466/head
terakilobyte 2015-05-20 22:45:19 -04:00
parent 5e918bdd7c
commit 5ed5d5cd63
4 changed files with 4 additions and 172 deletions

3
app.js
View File

@ -508,9 +508,6 @@ app.post('/completed-field-guide/', fieldGuideController.completedFieldGuide);
* Challenge related routes * Challenge related routes
*/ */
app.get('/getstuff', challengeController.getStuff);
app.get('/challenges/next-challenge', challengeController.returnNextChallenge); app.get('/challenges/next-challenge', challengeController.returnNextChallenge);
app.get( app.get(

View File

@ -40,27 +40,6 @@ function getMDNlinks(links) {
return populatedLinks; return populatedLinks;
} }
exports.showAllChallenges = function(req, res) {
var completedList = [];
if (req.user) {
completedList = req.user.completedChallenges.map(function (elem) {
return elem._id;
});
}
var noDuplicatedCoursewares = R.uniq(completedList);
var data = {};
data.coursewareList = resources.allCoursewareNames();
data.completedList = noDuplicatedCoursewares;
res.send(data);
};
exports.getStuff = function(req, res, next) {
res.render('coursewares/getstuff', {
stuff: resources.allChallengeIds(),
stuffWithIds: challengeMapWithIds
});
};
exports.returnNextChallenge = function(req, res, next) { exports.returnNextChallenge = function(req, res, next) {
if (!req.user) { if (!req.user) {
return res.redirect('../challenges/learn-how-free-code-camp-works'); return res.redirect('../challenges/learn-how-free-code-camp-works');
@ -451,7 +430,7 @@ exports.completedZiplineOrBasejump = function (req, res, next) {
req.user.completedChallenges.push({ req.user.completedChallenges.push({
_id: challengeId, _id: challengeId,
name: req.body.challengeInfo.coursewareName, name: req.body.challengeInfo.challengeName,
completedWith: pairedWith._id, completedWith: pairedWith._id,
completedDate: isCompletedDate, completedDate: isCompletedDate,
solution: solutionLink, solution: solutionLink,

View File

@ -1,17 +1,13 @@
var async = require('async'), var async = require('async'),
User = require('../models/User'), User = require('../models/User'),
Challenge = require('./../models/Challenge'), Challenge = require('./../models/Challenge'),
Courseware = require('./../models/Courseware'),
Bonfire = require('./../models/Bonfire'),
Story = require('./../models/Story'), Story = require('./../models/Story'),
FieldGuide = require('./../models/FieldGuide'), FieldGuide = require('./../models/FieldGuide'),
Nonprofit = require('./../models/Nonprofit'), Nonprofit = require('./../models/Nonprofit'),
Comment = require('./../models/Comment'), Comment = require('./../models/Comment'),
resources = require('./resources.json'), resources = require('./resources.json'),
secrets = require('./../config/secrets'), secrets = require('./../config/secrets'),
bonfires = require('../seed_data/bonfires.json'),
nonprofits = require('../seed_data/nonprofits.json'), nonprofits = require('../seed_data/nonprofits.json'),
coursewares = require('../seed_data/coursewares.json'),
fieldGuides = require('../seed_data/field-guides.json'), fieldGuides = require('../seed_data/field-guides.json'),
moment = require('moment'), moment = require('moment'),
Twit = require('twit'), Twit = require('twit'),
@ -26,8 +22,7 @@ var async = require('async'),
/** /**
* Cached values * Cached values
*/ */
var allBonfireIds, allBonfireNames, allCoursewareIds, allCoursewareNames, var allFieldGuideIds, allFieldGuideNames, allNonprofitNames,
allFieldGuideIds, allFieldGuideNames, allNonprofitNames,
allBonfireIndexesAndNames, challengeMap, challengeMapWithIds, allBonfireIndexesAndNames, challengeMap, challengeMapWithIds,
challengeMapWithNames, allChallengeIds, allChallenges; challengeMapWithNames, allChallengeIds, allChallenges;
@ -140,29 +135,17 @@ module.exports = {
}, },
challenges: function (callback) { challenges: function (callback) {
Courseware.aggregate() Challenge.aggregate()
.group({_id: 1, names: { $addToSet: '$name'}}) .group({_id: 1, names: { $addToSet: '$name'}})
.exec(function (err, challenges) { .exec(function (err, challenges) {
if (err) { if (err) {
debug('Courseware err: ', err); debug('Challenge err: ', err);
callback(err); callback(err);
} else { } else {
callback(null, challenges[0].names); callback(null, challenges[0].names);
} }
}); });
}, },
bonfires: function (callback) {
Bonfire.aggregate()
.group({_id: 1, names: { $addToSet: '$name'}})
.exec(function (err, bonfires) {
if (err) {
debug('Bonfire err: ', err);
callback(err);
} else {
callback(null, bonfires[0].names);
}
});
},
stories: function (callback) { stories: function (callback) {
Story.aggregate() Story.aggregate()
.group({_id: 1, links: {$addToSet: '$link'}}) .group({_id: 1, links: {$addToSet: '$link'}})
@ -210,7 +193,6 @@ module.exports = {
now: now, now: now,
users: results.users, users: results.users,
challenges: results.challenges, challenges: results.challenges,
bonfires: results.bonfires,
stories: results.stories, stories: results.stories,
nonprofits: results.nonprofits, nonprofits: results.nonprofits,
fieldGuides: results.fieldGuides fieldGuides: results.fieldGuides
@ -363,52 +345,6 @@ module.exports = {
Math.random() * resources.compliments.length)]; Math.random() * resources.compliments.length)];
}, },
allBonfireIds: function() {
if (allBonfireIds) {
return allBonfireIds;
} else {
allBonfireIds = bonfires.
map(function (elem) {
return {
_id: elem._id,
difficulty: elem.difficulty
};
}).
sort(function (a, b) {
return a.difficulty - b.difficulty;
}).
map(function (elem) {
return elem._id;
});
return allBonfireIds;
}
},
bonfiresIndexesAndNames: function() {
if (allBonfireIndexesAndNames) {
return allBonfireIndexesAndNames
} else {
var obj = {};
bonfires.forEach(function(elem) {
obj[elem._id] = elem.name;
});
allBonfireIndexesAndNames = obj;
return allBonfireIndexesAndNames;
}
},
ensureBonfireNames: function(completedBonfires) {
return completedBonfires.map(function(elem) {
return ({
name: this.bonfiresIndexesAndNames()[elem._id],
_id: elem.id,
completedDate: elem.completedDate,
completedWith: elem.completedWith,
solution: elem.solution
});
}.bind(this));
},
allFieldGuideIds: function() { allFieldGuideIds: function() {
if (allFieldGuideIds) { if (allFieldGuideIds) {
return allFieldGuideIds; return allFieldGuideIds;
@ -421,31 +357,6 @@ module.exports = {
} }
}, },
allBonfireNames: function() {
if (allBonfireNames) {
return allBonfireNames;
} else {
allBonfireNames = bonfires.
map(function (elem) {
return {
name: elem.name,
difficulty: elem.difficulty,
_id: elem._id
};
}).
sort(function (a, b) {
return a.difficulty - b.difficulty;
}).
map(function (elem) {
return {
name: elem.name,
_id: elem._id
};
});
return allBonfireNames;
}
},
allFieldGuideNames: function() { allFieldGuideNames: function() {
if (allFieldGuideNames) { if (allFieldGuideNames) {
return allFieldGuideNames; return allFieldGuideNames;
@ -474,54 +385,6 @@ module.exports = {
} }
}, },
allCoursewareIds: function() {
if (allCoursewareIds) {
return allCoursewareIds;
} else {
allCoursewareIds = coursewares.
map(function (elem) {
return {
_id: elem._id,
difficulty: elem.difficulty
};
}).
sort(function (a, b) {
return a.difficulty - b.difficulty;
}).
map(function (elem) {
return elem._id;
});
return allCoursewareIds;
}
},
allCoursewareNames: function() {
if (allCoursewareNames) {
return allCoursewareNames;
} else {
allCoursewareNames = coursewares.
map(function (elem) {
return {
name: elem.name,
difficulty: elem.difficulty,
challengeType: elem.challengeType,
_id: elem._id
};
}).
sort(function (a, b) {
return a.difficulty - b.difficulty;
}).
map(function (elem) {
return {
name: elem.name,
challengeType: elem.challengeType,
_id: elem._id
};
});
return allCoursewareNames;
}
},
whichEnvironment: function() { whichEnvironment: function() {
return process.env.NODE_ENV; return process.env.NODE_ENV;
}, },

View File

@ -39,13 +39,6 @@ urlset(xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
changefreq daily changefreq daily
priority= 0.5 priority= 0.5
each bonfire in bonfires
url
loc #{appUrl}/bonfires/#{bonfire.replace(/\s/g, '-')}
lastmod= now
changefreq weekly
priority= 0.5
each challenge in challenges each challenge in challenges
url url
loc #{appUrl}/challenges/#{challenge.replace(/\s/g, '-')} loc #{appUrl}/challenges/#{challenge.replace(/\s/g, '-')}