able to seed and view wiki content

This commit is contained in:
Michael Q Larson
2015-03-30 13:48:54 -07:00
parent b6da312547
commit 660214f87e
16 changed files with 126 additions and 181 deletions

View File

@@ -1,21 +0,0 @@
var async = require('async'),
User = require('../models/User'),
Challenge = require('./../models/Challenge'),
Bonfire = require('./../models/Bonfire'),
Story = require('./../models/Story'),
Comment = require('./../models/Comment'),
resources = require('./resources.json'),
steps = resources.steps,
secrets = require('./../config/secrets'),
moment = require('moment'),
https = require('https'),
debug = require('debug')('freecc:cntr:resources'),
cheerio = require('cheerio'),
request = require('request'),
R = require('ramda');
nonprofitHome: function nonprofitHome(req, res) {
res.render('nonprofits/home', {
title: 'A guide to our Nonprofit Projects'
});
}

View File

@@ -3,7 +3,6 @@ var _ = require('lodash'),
Bonfire = require('./../models/Bonfire'),
User = require('./../models/User'),
resources = require('./resources'),
MDNlinks = require('./../seed_data/bonfireMDNlinks'),
R = require('ramda');
MDNlinks = require('./../seed_data/bonfireMDNlinks');

View File

@@ -1,61 +0,0 @@
/**
* GET /
* Challenges.
*/
var _ = require('lodash'),
debug = require('debug')('freecc:cntr:challenges'),
Challenge = require('./../models/Challenge'),
resources = require('./resources');
var highestChallengeNumber = 53;
exports.returnNextChallenge = function(req, res) {
if (req.user) {
ch = req.user.challengesHash;
if (req.user.challengesHash[0] > 0) {
var max = Object.keys(ch).reduce(function(max, key) {
return (max === undefined || ch[key] > ch[max]) ? +key : max;
});
nextChallenge = max + 1;
res.redirect('challenges/' + nextChallenge);
} else {
res.redirect('challenges/0');
}
} else {
return res.redirect('../challenges/0');
}
};
exports.returnChallenge = function(req, res) {
var challengeNumber = parseInt(req.params.challengeNumber) || 0;
if (challengeNumber === 2) {
return res.redirect('../challenges/3');
}
if (challengeNumber > highestChallengeNumber) {
req.flash('errors', {
msg: "It looks like you've either completed all the challenges we have available or requested a challenge we don't have."
});
return res.redirect('../challenges/0');
}
Challenge.find({}, null, { sort: { challengeNumber: 1 } }, function(err, c) {
if (err) {
debug('Challenge err: ', err);
next(err);
}
res.render('challenges/show', {
title: 'Challenge: ' + c[challengeNumber].name,
name: c[challengeNumber].name,
video: c[challengeNumber].video,
time: c[challengeNumber].time,
steps: c[challengeNumber].steps,
number: challengeNumber,
cc: req.user ? req.user.challengesHash : undefined,
points: req.user ? req.user.points : undefined,
verb: resources.randomVerb(),
phrase: resources.randomPhrase(),
compliment: resources.randomCompliment(),
challenges: c
});
});
};

View File

@@ -108,12 +108,6 @@ module.exports = {
});
},
controlShortcuts: function controlShortcuts(req, res) {
res.render('resources/control-shortcuts', {
title: 'These Control Shortcuts will save you Hours'
});
},
chromebook: function chromebook(req, res) {
res.render('resources/chromebook', {
title: 'Win a Chromebook'

40
controllers/wiki.js Normal file
View File

@@ -0,0 +1,40 @@
var _ = require('lodash'),
debug = require('debug')('freecc:cntr:wiki'),
Wiki = require('./../models/Wiki'),
resources = require('./resources'),
R = require('ramda');
exports.returnIndividualWiki = function(req, res, next) {
var dashedName = req.params.wikiName;
var wikiName = dashedName.replace(/\-/g, ' ');
Wiki.find({'name': new RegExp(wikiName, 'i')}, function(err, wiki) {
if (err) {
next(err);
}
if (wiki.length < 1) {
req.flash('errors', {
msg: "404: We couldn't find a wiki entry with that name. Please double check the name."
});
return res.redirect('/wiki');
}
wiki = wiki.pop();
var dashedNameFull = wiki.name.toLowerCase().replace(/\s/g, '-');
if (dashedNameFull != dashedName) {
return res.redirect('../wiki/' + dashedNameFull);
}
res.render('wiki/show', {
title: wiki.name,
description: wiki.description.join('')
});
});
};
exports.showAllWikis = function(req, res) {
data.wikiList = resources.allWikiNames();
res.send(data);
};

View File

@@ -1,21 +0,0 @@
var async = require('async'),
User = require('../models/User'),
Challenge = require('./../models/Challenge'),
Bonfire = require('./../models/Bonfire'),
Story = require('./../models/Story'),
Comment = require('./../models/Comment'),
resources = require('./resources.json'),
steps = resources.steps,
secrets = require('./../config/secrets'),
moment = require('moment'),
https = require('https'),
debug = require('debug')('freecc:cntr:resources'),
cheerio = require('cheerio'),
request = require('request'),
R = require('ramda');
nonprofitHome: function nonprofitHome(req, res) {
res.render('nonprofits/home', {
title: 'A guide to our Nonprofit Projects'
});
}