From a443c2bd37cfaacfab9400ade82fea551dbaf444 Mon Sep 17 00:00:00 2001 From: Harsha Date: Wed, 9 Dec 2015 19:16:47 -0500 Subject: [PATCH] Go to next step is enabled after user finishes step challenge --- server/boot/challenge.js | 11 +++++++++++ server/views/coursewares/showStep.jade | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/server/boot/challenge.js b/server/boot/challenge.js index 414b7b7b6a..390cf1b76e 100644 --- a/server/boot/challenge.js +++ b/server/boot/challenge.js @@ -41,6 +41,14 @@ const challengeView = { 7: 'coursewares/showStep' }; +function isChallengeCompleted(user, challengeId) { + if (!user) { + return false; + } + return user.completedChallenges.some(challenge => + challenge.id === challengeId ); +} + function numberWithCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); } @@ -293,6 +301,9 @@ module.exports = function(app) { tail: challenge.tail, tests: challenge.tests, + // identifies if a challenge is completed + isCompleted: isChallengeCompleted(req.user, challenge.id), + // video challenges video: challenge.challengeSeed[0], diff --git a/server/views/coursewares/showStep.jade b/server/views/coursewares/showStep.jade index 2f0ca02cba..4925ae7f58 100644 --- a/server/views/coursewares/showStep.jade +++ b/server/views/coursewares/showStep.jade @@ -18,9 +18,9 @@ block content .btn.btn-warning.col-sm-5.col-xs-12.challenge-step-btn-prev(id='#{index - 1}') Go to my previous step .challenge-step-counter.large-p.col-sm-2.col-xs-12.text-center (#{index + 1} / #{description.length}) if index + 1 === description.length - .btn.btn-primary.col-sm-5.col-xs-12.challenge-step-btn-finish(id='last' class=step[3] ? 'disabled' : '') Finish challenge + .btn.btn-primary.col-sm-5.col-xs-12.challenge-step-btn-finish(id='last' class=step[3] && !isCompleted ? 'disabled' : '') Finish challenge else - .btn.btn-primary.col-sm-5.col-xs-12.challenge-step-btn-next(id='#{index}' class=step[3] ? 'disabled' : '') Go to my next step + .btn.btn-primary.col-sm-5.col-xs-12.challenge-step-btn-next(id='#{index}' class=step[3] && !isCompleted ? 'disabled' : '') Go to my next step .clearfix #challenge-step-modal.modal(tabindex='-1') .modal-dialog.animated.fadeIn.fast-animation