Working on unifying coursewares view and logic
This commit is contained in:
@ -177,7 +177,7 @@ module.exports = {
|
|||||||
req.user.save();
|
req.user.save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var date1 = new Date("10/15/2014");
|
var date1 = new Date('10/15/2014');
|
||||||
var date2 = new Date();
|
var date2 = new Date();
|
||||||
var progressTimestamps = req.user.progressTimestamps;
|
var progressTimestamps = req.user.progressTimestamps;
|
||||||
var now = Date.now() / 1000 | 0;
|
var now = Date.now() / 1000 | 0;
|
||||||
@ -270,6 +270,11 @@ module.exports = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getAllCourses: function() {
|
||||||
|
"use strict";
|
||||||
|
return coursewares;
|
||||||
|
},
|
||||||
|
|
||||||
allCoursewareIds: function() {
|
allCoursewareIds: function() {
|
||||||
return coursewares.map(function(elem) {
|
return coursewares.map(function(elem) {
|
||||||
return {
|
return {
|
||||||
|
@ -246,7 +246,7 @@ exports.checkExistingUsername = function(req, res) {
|
|||||||
|
|
||||||
exports.checkUniqueEmail = function(req, res) {
|
exports.checkUniqueEmail = function(req, res) {
|
||||||
User.count({'email': decodeURIComponent(req.params.email).toLowerCase()}, function (err, data) {
|
User.count({'email': decodeURIComponent(req.params.email).toLowerCase()}, function (err, data) {
|
||||||
if (data == 1) {
|
if (data === 1) {
|
||||||
return res.send(true);
|
return res.send(true);
|
||||||
} else {
|
} else {
|
||||||
return res.send(false);
|
return res.send(false);
|
||||||
@ -265,56 +265,13 @@ exports.returnUser = function(req, res, next) {
|
|||||||
if (err) { debug('Username err: ', err); next(err); }
|
if (err) { debug('Username err: ', err); next(err); }
|
||||||
if (user[0]) {
|
if (user[0]) {
|
||||||
var user = user[0];
|
var user = user[0];
|
||||||
Challenge.find({}, null, {sort: {challengeNumber: 1}}, function (err, c) {
|
|
||||||
data = {};
|
var data = {};
|
||||||
progressTimestamps = user.progressTimestamps;
|
var progressTimestamps = user.progressTimestamps;
|
||||||
// dummy data to experiment with visualizations
|
for (var i = 0; i < progressTimestamps.length; i++) {
|
||||||
progressTimestamps = [1417117319, 1384091493, 1367893914, 1411547157, 1366875140, 1382614404, 1374973026, 1363495510, 1372229313, 1389795294, 1393820136, 1395425437, 1383366211, 1402063449, 1368384561, 1413460738, 1390013511, 1408510076, 1395530419, 1391588683, 1410480320, 1360219531, 1367248635, 1408531181, 1374214772, 1424038529, 1387468139, 1381934158, 1409278748, 1390696161, 1415933043, 1389573689, 1395703336, 1401223291, 1375539279, 1371229698, 1371990948, 1422236826, 1363017438, 1359619855, 1364850739, 1401982108, 1381270295, 1420063854, 1406540493, 1409122251, 1360775035, 1367712723, 1395305605, 1382037418, 1378402477, 1377563090, 1398930836, 1417371909, 1377417393, 1423763002, 1357511908, 1377375961, 1388374304, 1406416407, 1399463258, 1422593990, 1383434425, 1420200570, 1379435518, 1414512582, 1416263148, 1398635260, 1381815565, 1369178539, 1378414973, 1394409827, 1398463526, 1379564971, 1385849279, 1392899666, 1367053659, 1417730793, 1400112915, 1379923357, 1417768487, 1415779985, 1416150640, 1399820237, 1370498715, 1374800622, 1363924512, 1402497668, 1400146327, 1362456746, 1394935898, 1414980963, 1413942775, 1367606840, 1387144705, 1407906392, 1417213587, 1422640891, 1414033139, 1365323522, 1424661148];
|
|
||||||
for (i = 0; i < progressTimestamps.length; i++) {
|
|
||||||
data[progressTimestamps[i].toString()] = 1;
|
data[progressTimestamps[i].toString()] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
res.render('account/show', {
|
|
||||||
title: 'Camper: ',
|
|
||||||
username: user.profile.username,
|
|
||||||
name: user.profile.name,
|
|
||||||
location: user.profile.location,
|
|
||||||
githubProfile: user.profile.githubProfile,
|
|
||||||
linkedinProfile: user.profile.linkedinProfile,
|
|
||||||
codepenProfile: user.profile.codepenProfile,
|
|
||||||
twitterHandle: user.profile.twitterHandle,
|
|
||||||
bio: user.profile.bio,
|
|
||||||
picture: user.profile.picture,
|
|
||||||
progressTimestamps: req.user.progressTimestamps,
|
|
||||||
points: user.progressTimestamps,
|
|
||||||
website1Link: user.portfolio.website1Link,
|
|
||||||
website1Title: user.portfolio.website1Title,
|
|
||||||
website1Image: user.portfolio.website1Image,
|
|
||||||
website2Link: user.portfolio.website2Link,
|
|
||||||
website2Title: user.portfolio.website2Title,
|
|
||||||
website2Image: user.portfolio.website2Image,
|
|
||||||
website3Link: user.portfolio.website3Link,
|
|
||||||
website3Title: user.portfolio.website3Title,
|
|
||||||
website3Image: user.portfolio.website3Image,
|
|
||||||
challenges: c,
|
|
||||||
calender: data,
|
|
||||||
moment: moment
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
req.flash('errors', {
|
|
||||||
msg: "404: We couldn't find a page with that url. Please double check the link."
|
|
||||||
});
|
|
||||||
return res.redirect('/');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
User.find({'profile.username': req.params.username.toLowerCase()}, function(err, user) {
|
|
||||||
if (err) { debug('Username err: ', err); next(err); }
|
|
||||||
if (user[0]) {
|
|
||||||
var user = user[0];
|
|
||||||
Challenge.find({}, null, {sort: {challengeNumber: 1}}, function (err, c) {
|
|
||||||
res.render('account/show', {
|
res.render('account/show', {
|
||||||
title: 'Camper ' + user.profile.username + '\'s portfolio',
|
title: 'Camper ' + user.profile.username + '\'s portfolio',
|
||||||
username: user.profile.username,
|
username: user.profile.username,
|
||||||
@ -326,7 +283,8 @@ exports.returnUser = function(req, res, next) {
|
|||||||
twitterHandle: user.profile.twitterHandle,
|
twitterHandle: user.profile.twitterHandle,
|
||||||
bio: user.profile.bio,
|
bio: user.profile.bio,
|
||||||
picture: user.profile.picture,
|
picture: user.profile.picture,
|
||||||
points: user.points,
|
progressTimestamps: user.progressTimestamps,
|
||||||
|
points: user.progressTimestamps.length,
|
||||||
website1Link: user.portfolio.website1Link,
|
website1Link: user.portfolio.website1Link,
|
||||||
website1Title: user.portfolio.website1Title,
|
website1Title: user.portfolio.website1Title,
|
||||||
website1Image: user.portfolio.website1Image,
|
website1Image: user.portfolio.website1Image,
|
||||||
@ -336,11 +294,12 @@ exports.returnUser = function(req, res, next) {
|
|||||||
website3Link: user.portfolio.website3Link,
|
website3Link: user.portfolio.website3Link,
|
||||||
website3Title: user.portfolio.website3Title,
|
website3Title: user.portfolio.website3Title,
|
||||||
website3Image: user.portfolio.website3Image,
|
website3Image: user.portfolio.website3Image,
|
||||||
challenges: c,
|
challenges: resources.getAllCourses(),
|
||||||
ch: user.challengesHash,
|
ch: user.challengesHash,
|
||||||
|
calender: data,
|
||||||
moment: moment
|
moment: moment
|
||||||
});
|
});
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
req.flash('errors', {
|
req.flash('errors', {
|
||||||
msg: "404: We couldn't find a page with that url. Please double check the link."
|
msg: "404: We couldn't find a page with that url. Please double check the link."
|
||||||
|
@ -41,7 +41,7 @@ block content
|
|||||||
.col-xs-12.col-sm-12.col-md-3.text-center
|
.col-xs-12.col-sm-12.col-md-3.text-center
|
||||||
.background-svg.img-center
|
.background-svg.img-center
|
||||||
.points-on-top
|
.points-on-top
|
||||||
= "[ " + progressTimestamps.length + " ]"
|
= "[ " + points + " ]"
|
||||||
|
|
||||||
|
|
||||||
.row
|
.row
|
||||||
@ -95,7 +95,7 @@ block content
|
|||||||
a.btn.btn-lg.btn-block.btn-info(href=website3Link, target='_blank')
|
a.btn.btn-lg.btn-block.btn-info(href=website3Link, target='_blank')
|
||||||
i.fa.icon-beaker
|
i.fa.icon-beaker
|
||||||
| Try it out
|
| Try it out
|
||||||
|
//
|
||||||
html.
|
html.
|
||||||
<script type="text/javascript" src="//d3js.org/d3.v3.min.js"></script>
|
<script type="text/javascript" src="//d3js.org/d3.v3.min.js"></script>
|
||||||
<script type="text/javascript" src="//cdn.jsdelivr.net/cal-heatmap/3.3.10/cal-heatmap.min.js"></script>
|
<script type="text/javascript" src="//cdn.jsdelivr.net/cal-heatmap/3.3.10/cal-heatmap.min.js"></script>
|
||||||
@ -103,6 +103,9 @@ block content
|
|||||||
|
|
||||||
.col-xs-12
|
.col-xs-12
|
||||||
#cal-heatmap
|
#cal-heatmap
|
||||||
|
script(src="//d3js.org/d3.v3.min.js")
|
||||||
|
script(src="//cdn.jsdelivr.net/cal-heatmap/3.3.10/cal-heatmap.min.js")
|
||||||
|
link(rel="stylesheet", href="//cdn.jsdelivr.net/cal-heatmap/3.3.10/cal-heatmap.css")
|
||||||
script.
|
script.
|
||||||
var cal = new CalHeatMap();
|
var cal = new CalHeatMap();
|
||||||
var calendar = !{JSON.stringify(calender)};
|
var calendar = !{JSON.stringify(calender)};
|
||||||
|
Reference in New Issue
Block a user