Add count of campers who have earned all three certs to about page (#8288)
* add count of campers who have earned all three certs to about page * refactor to get tests to pass
This commit is contained in:
committed by
Berkeley Martinez
parent
91d1cb528b
commit
6039d29282
@ -16,6 +16,15 @@ function getCertCount(userCount, cert) {
|
|||||||
::timeCache(2, 'hours');
|
::timeCache(2, 'hours');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getAllThreeCertsCount(userCount) {
|
||||||
|
return userCount({
|
||||||
|
isFrontEndCert: true,
|
||||||
|
isDataVisCert: true,
|
||||||
|
isBackEndCert: true
|
||||||
|
})
|
||||||
|
::timeCache(2, 'hours');
|
||||||
|
}
|
||||||
|
|
||||||
export default function about(app) {
|
export default function about(app) {
|
||||||
const router = app.loopback.Router();
|
const router = app.loopback.Router();
|
||||||
const User = app.models.User;
|
const User = app.models.User;
|
||||||
@ -23,6 +32,7 @@ export default function about(app) {
|
|||||||
const frontEndCount$ = getCertCount(userCount, 'isFrontEndCert');
|
const frontEndCount$ = getCertCount(userCount, 'isFrontEndCert');
|
||||||
const dataVisCount$ = getCertCount(userCount, 'isDataVisCert');
|
const dataVisCount$ = getCertCount(userCount, 'isDataVisCert');
|
||||||
const backEndCount$ = getCertCount(userCount, 'isBackEndCert');
|
const backEndCount$ = getCertCount(userCount, 'isBackEndCert');
|
||||||
|
const allThreeCount$ = getAllThreeCertsCount(userCount);
|
||||||
|
|
||||||
function showAbout(req, res, next) {
|
function showAbout(req, res, next) {
|
||||||
const daysRunning = moment().diff(new Date('10/15/2014'), 'days');
|
const daysRunning = moment().diff(new Date('10/15/2014'), 'days');
|
||||||
@ -31,17 +41,30 @@ export default function about(app) {
|
|||||||
frontEndCount$,
|
frontEndCount$,
|
||||||
dataVisCount$,
|
dataVisCount$,
|
||||||
backEndCount$,
|
backEndCount$,
|
||||||
(frontEndCount = 0, dataVisCount = 0, backEndCount = 0) => ({
|
allThreeCount$,
|
||||||
|
(
|
||||||
|
frontEndCount = 0,
|
||||||
|
dataVisCount = 0,
|
||||||
|
backEndCount = 0,
|
||||||
|
allThreeCount = 0
|
||||||
|
) => ({
|
||||||
frontEndCount,
|
frontEndCount,
|
||||||
dataVisCount,
|
dataVisCount,
|
||||||
backEndCount
|
backEndCount,
|
||||||
|
allThreeCount
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
.doOnNext(({ frontEndCount, dataVisCount, backEndCount }) => {
|
.doOnNext(({
|
||||||
|
frontEndCount,
|
||||||
|
dataVisCount,
|
||||||
|
backEndCount,
|
||||||
|
allThreeCount
|
||||||
|
}) => {
|
||||||
res.render('resources/about', {
|
res.render('resources/about', {
|
||||||
frontEndCount: numberWithCommas(frontEndCount),
|
frontEndCount: numberWithCommas(frontEndCount),
|
||||||
dataVisCount: numberWithCommas(dataVisCount),
|
dataVisCount: numberWithCommas(dataVisCount),
|
||||||
backEndCount: numberWithCommas(backEndCount),
|
backEndCount: numberWithCommas(backEndCount),
|
||||||
|
allThreeCount: numberWithCommas(allThreeCount),
|
||||||
daysRunning,
|
daysRunning,
|
||||||
title: dedent`
|
title: dedent`
|
||||||
About our Open Source Community, our social media presence,
|
About our Open Source Community, our social media presence,
|
||||||
|
@ -38,6 +38,10 @@ block content
|
|||||||
span.tag Back End:	
|
span.tag Back End:	
|
||||||
span.text-primary #{backEndCount}
|
span.text-primary #{backEndCount}
|
||||||
| earned
|
| earned
|
||||||
|
li.nowrap
|
||||||
|
span.tag All three:	
|
||||||
|
span.text-primary #{allThreeCount}
|
||||||
|
| earned
|
||||||
.spacer
|
.spacer
|
||||||
.row
|
.row
|
||||||
.col-xs-12.col-sm-10.col-sm-offset-1.col-md-6.col-md-offset-3
|
.col-xs-12.col-sm-10.col-sm-offset-1.col-md-6.col-md-offset-3
|
||||||
|
Reference in New Issue
Block a user