2023-03-04
This commit is contained in:
54
src/controllers/event.js
Normal file
54
src/controllers/event.js
Normal file
@@ -0,0 +1,54 @@
|
||||
tsUtils = require("../lib/utils");
|
||||
const path = require('path')
|
||||
|
||||
|
||||
exports.helpers = {
|
||||
availability_percentage: (availabilitySummary, status) => {
|
||||
attribute = {
|
||||
going: "playerGoingCount",
|
||||
notgoing: "playerNotGoingCount",
|
||||
maybe: "playerMaybeCount",
|
||||
unknown: "playerUnknownCount"
|
||||
}[status.toLowerCase()]
|
||||
return (availabilitySummary[attribute]/availabilitySummary.team.playerMemberCount)*100.0
|
||||
}
|
||||
}
|
||||
|
||||
exports.partials = path.join(__dirname, "../views/event/partials")
|
||||
|
||||
exports.getEvents = async (req, res, next) => {
|
||||
const {user, team, layout} = req
|
||||
const bulkLoadTypes = ["event", "availabilitySummary"]
|
||||
req.promises.push(
|
||||
teamsnap.bulkLoad(team.id, bulkLoadTypes , () => {tsUtils.teamsnapCallback;req.items = tsUtils.teamsnapLog('bulkLoad', types=bulkLoadTypes, team.id, req)})
|
||||
.then(items=>tsUtils.groupTeamsnapItems(items))
|
||||
.then(items=>{
|
||||
items.events.forEach((event) => {
|
||||
event.link('availabilitySummary', items.availabilitySummaries.find(a=>a.eventId==event.id))
|
||||
}
|
||||
)
|
||||
req.events = items.events;
|
||||
}
|
||||
)
|
||||
)
|
||||
await Promise.all(req.promises)
|
||||
const context = {
|
||||
title: "Events",
|
||||
user, team, layout,
|
||||
events: req.events,
|
||||
};
|
||||
res.render("event/list", context);
|
||||
};
|
||||
|
||||
exports.getEvent = async (req, res, next) => {
|
||||
await Promise.all(req.promises)
|
||||
const {user, team, event, layout} = req
|
||||
lineups = await req.event.loadItem('eventLineups')
|
||||
event.link('availabilitySummary', req.availabilitySummary)
|
||||
context = {
|
||||
title: "Event",
|
||||
user, team, event, layout,
|
||||
availabilitySummary: req.availabilitySummary,
|
||||
};
|
||||
res.render("event/show", context);
|
||||
};
|
||||
Reference in New Issue
Block a user