Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@kconragan
Created May 9, 2012 02:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kconragan/2641300 to your computer and use it in GitHub Desktop.
Save kconragan/2641300 to your computer and use it in GitHub Desktop.
list surf sessions
exports.listLogs = function(req, res) {
SurfSession.find()
.populate('location')
.run(function(err, log) {
Wave.find(function(err, waves) {
var surfHeight = SurfSession.schema.path('surfHeight').enumValues;
var surfConditions = SurfSession.schema.path('surfConditions').enumValues;
var surfStoke = new SurfSession().generateStoke();
var currentYear = moment().year();
var surfSessionsThisYear = 0;
var surfSeshByLoc = {};
waves.forEach(function(w) {
var wave = {
"name": w.name,
"count": 0
};
surfSeshByLoc[w.name] = 0;
});
// find number of sessions for current year
// and build map of sessions by wave
for(var i = 0; i < log.length; i++) {
var y = moment(log[i].timestamp).year();
if(y === currentYear) {
surfSessionsThisYear++;
}
for(var key in surfSeshByLoc) {
if(surfSeshByLoc.hasOwnProperty(key)) {
if(key === log[i].location.name) {
surfSeshByLoc[key] = surfSeshByLoc[key] + 1;
}
}
}
}
res.render('list_sessions.html', {
title: 'Latest Surf Sessions',
log: log,
waves: waves,
surfSessionsThisYear: surfSessionsThisYear,
allSurfSessions: log.length,
surfHeight: surfHeight,
surfConditions: surfConditions,
surfStoke: surfStoke
});
});
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment