start refactoring points into progressTimestamps which is essentially points with timestamps
This commit is contained in:
@ -32,7 +32,7 @@ exports.index = function(req, res) {
|
||||
tests: [],
|
||||
challengeSeed: '',
|
||||
cc: req.user ? req.user.bonfiresHash : undefined,
|
||||
points: req.user ? req.user.points : undefined,
|
||||
progressTimestamps: req.user ? req.user.progressTimestamps : undefined,
|
||||
verb: resources.randomVerb(),
|
||||
phrase: resources.randomPhrase(),
|
||||
compliments: resources.randomCompliment(),
|
||||
@ -112,7 +112,7 @@ exports.returnIndividualBonfire = function(req, res, next) {
|
||||
tests: bonfire.tests,
|
||||
challengeSeed: bonfire.challengeSeed,
|
||||
cc: !!req.user,
|
||||
points: req.user ? req.user.points : undefined,
|
||||
progressTimestamps: req.user ? req.user.progressTimestamps : undefined,
|
||||
verb: resources.randomVerb(),
|
||||
phrase: resources.randomPhrase(),
|
||||
compliment: resources.randomCompliment(),
|
||||
@ -179,7 +179,7 @@ exports.testBonfire = function(req, res) {
|
||||
tests: bonfireTests,
|
||||
challengeSeed: bonfireChallengeSeed,
|
||||
cc: req.user ? req.user.bonfiresHash : undefined,
|
||||
points: req.user ? req.user.points : undefined,
|
||||
progressTimestamps: req.user ? req.user.progressTimestamps : undefined,
|
||||
verb: resources.randomVerb(),
|
||||
phrase: resources.randomPhrase(),
|
||||
compliment: resources.randomCompliment(),
|
||||
@ -236,14 +236,14 @@ exports.completedBonfire = function (req, res) {
|
||||
} else {
|
||||
var index = req.user.uncompletedBonfires.indexOf(bonfireHash);
|
||||
if (index > -1) {
|
||||
req.user.points++;
|
||||
req.user.progressTimestamps.push(Date.now() / 1000 | 0);
|
||||
req.user.uncompletedBonfires.splice(index, 1)
|
||||
}
|
||||
pairedWith = pairedWith.pop();
|
||||
|
||||
index = pairedWith.uncompletedBonfires.indexOf(bonfireHash);
|
||||
if (index > -1) {
|
||||
pairedWith.points++;
|
||||
pairedWith.progressTimestamps.push(Date.now() / 1000 | 0);
|
||||
pairedWith.uncompletedBonfires.splice(index, 1);
|
||||
|
||||
}
|
||||
@ -285,7 +285,7 @@ exports.completedBonfire = function (req, res) {
|
||||
|
||||
var index = req.user.uncompletedBonfires.indexOf(bonfireHash);
|
||||
if (index > -1) {
|
||||
req.user.points++;
|
||||
req.user.progressTimestamps.push(Date.now() / 1000 | 0);
|
||||
req.user.uncompletedBonfires.splice(index, 1)
|
||||
}
|
||||
|
||||
|
@ -92,7 +92,7 @@ exports.returnIndividualCourseware = function(req, res, next) {
|
||||
tests: courseware.tests,
|
||||
challengeSeed: courseware.challengeSeed,
|
||||
cc: !!req.user,
|
||||
points: req.user ? req.user.points : undefined,
|
||||
progressTimestamps: req.user ? req.user.progressTimestamps : undefined,
|
||||
verb: resources.randomVerb(),
|
||||
phrase: resources.randomPhrase(),
|
||||
compliment: resources.randomCompliment(),
|
||||
@ -111,7 +111,7 @@ exports.returnIndividualCourseware = function(req, res, next) {
|
||||
tests: courseware.tests,
|
||||
challengeSeed: courseware.challengeSeed,
|
||||
cc: !!req.user,
|
||||
points: req.user ? req.user.points : undefined,
|
||||
progressTimestamps: req.user ? req.user.progressTimestamps : undefined,
|
||||
verb: resources.randomVerb(),
|
||||
phrase: resources.randomPhrase(),
|
||||
compliment: resources.randomCompliment(),
|
||||
@ -130,7 +130,7 @@ exports.returnIndividualCourseware = function(req, res, next) {
|
||||
tests: courseware.tests,
|
||||
video: courseware.challengeSeed[0],
|
||||
cc: !!req.user,
|
||||
points: req.user ? req.user.points : undefined,
|
||||
progressTimestamps: req.user ? req.user.progressTimestamps : undefined,
|
||||
verb: resources.randomVerb(),
|
||||
phrase: resources.randomPhrase(),
|
||||
compliment: resources.randomCompliment(),
|
||||
@ -168,7 +168,7 @@ exports.testCourseware = function(req, res) {
|
||||
challengeSeed: coursewareChallengeSeed,
|
||||
challengeEntryPoint: coursewareEntryPoint,
|
||||
cc: req.user ? req.user.coursewaresHash : undefined,
|
||||
points: req.user ? req.user.points : undefined,
|
||||
progressTimestamps: req.user ? req.user.progressTimestamps : undefined,
|
||||
verb: resources.randomVerb(),
|
||||
phrase: resources.randomPhrase(),
|
||||
compliment: resources.randomCompliment(),
|
||||
@ -224,7 +224,7 @@ exports.completedCourseware = function (req, res) {
|
||||
|
||||
var index = req.user.uncompletedCoursewares.indexOf(coursewareHash);
|
||||
if (index > -1) {
|
||||
req.user.points++;
|
||||
req.user.progressTimestamps.push(Date.now() / 1000 | 0);
|
||||
req.user.uncompletedCoursewares.splice(index, 1)
|
||||
}
|
||||
|
||||
|
@ -22,33 +22,6 @@ module.exports = {
|
||||
});
|
||||
},
|
||||
|
||||
stats: function stats(req, res) {
|
||||
var date1 = new Date("10/15/2014");
|
||||
var date2 = new Date();
|
||||
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
|
||||
var daysRunning = Math.ceil(timeDiff / (1000 * 3600 * 24));
|
||||
client.get('https://trello.com/1/boards/BA3xVpz9/cards?key=' + secrets.trello.key, function(trello, response) {
|
||||
var nonprofitProjects = (trello && trello.length) || 15;
|
||||
User.count({'points': {'$gt': 2}}, function(err, c3) { if (err) { debug('User err: ', err); next(err); }
|
||||
User.count({'points': {'$gt': 9}}, function(err, c10) { if (err) { debug('User err: ', err); next(err); }
|
||||
User.count({'points': {'$gt': 29}}, function(err, c30) { if (err) { debug('User err: ', err); next(err); }
|
||||
User.count({'points': {'$gt': 53}}, function(err, all) { if (err) { debug('User err: ', err); next(err); }
|
||||
res.render('resources/stats', {
|
||||
title: 'Free Code Camp Stats:',
|
||||
daysRunning: daysRunning,
|
||||
nonprofitProjects: nonprofitProjects,
|
||||
c3: c3,
|
||||
c10: c10,
|
||||
c30: c30,
|
||||
all: all
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
deployAWebsite: function deployAWebsite(req, res) {
|
||||
res.render('resources/deploy-a-website', {
|
||||
title: 'Deploy a Dynamic Website in 7 Minutes'
|
||||
@ -145,6 +118,21 @@ module.exports = {
|
||||
about: function(req, res) {
|
||||
var date1 = new Date("10/15/2014");
|
||||
var date2 = new Date();
|
||||
var progressTimestamps = req.user.progressTimestamps;
|
||||
var now = Date.now() / 1000 | 0;
|
||||
if (req.user.pointsNeedMigration) {
|
||||
var challengesHash = req.user.challengesHash;
|
||||
for(var key in challengesHash) {
|
||||
if (challengesHash[key] > 0) {
|
||||
req.user.progressTimestamps.push(challengesHash[key]);
|
||||
}
|
||||
}
|
||||
req.user.pointsNeedMigration = false;
|
||||
req.user.save();
|
||||
}
|
||||
if (progressTimestamps[progressTimestamps.length - 1] <= (now - 43200)) {
|
||||
req.user.progressTimestamps.push(now);
|
||||
}
|
||||
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
|
||||
var daysRunning = Math.ceil(timeDiff / (1000 * 3600 * 24));
|
||||
var announcements = resources.announcements;
|
||||
|
@ -21,7 +21,9 @@ var userSchema = new mongoose.Schema({
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
progressTimestamps: { type: Array, default: [] },
|
||||
challengesCompleted: { type: Array, default: [] },
|
||||
pointsNeedMigration: { type: Boolean, default: true },
|
||||
challengesHash: {
|
||||
0: {
|
||||
type: Number,
|
||||
|
@ -44,7 +44,7 @@ block content
|
||||
.col-xs-12.col-sm-12.col-md-3.text-center
|
||||
.background-svg.img-center
|
||||
.points-on-top
|
||||
= "[ " + points + " ]"
|
||||
= "[ " + progressTimestamps.length + " ]"
|
||||
|
||||
|
||||
.row
|
||||
|
@ -25,7 +25,7 @@
|
||||
else
|
||||
li
|
||||
if (user.profile.username)
|
||||
a(href='/' + user.profile.username) [ #{user.points} ]
|
||||
a(href='/' + user.profile.username) [ #{user.progressTimestamps.length} ]
|
||||
else
|
||||
a(href='/account') [ #{user.points} ]
|
||||
.hidden-xs
|
||||
|
Reference in New Issue
Block a user