Move bonfire view into courseware view folder. Update seed file to exit when finished.
This commit is contained in:
		| @@ -54,14 +54,7 @@ exports.returnNextChallenge = function(req, res, next) { | ||||
|         return elem; | ||||
|       } | ||||
|     }); | ||||
|   // It's not important to wait for the save to finish as the updated user | ||||
|   // object is already in memory! We'll just check to see if there was an | ||||
|   // error saving and log it out to investigate in our logs. | ||||
|   req.user.save(function(err, data) { | ||||
|     if (err) { | ||||
|       debug('%s saving user!', err); | ||||
|     } | ||||
|   }); | ||||
|  | ||||
|   // find the user's current challenge and block | ||||
|   // look in that block and find the index of their current challenge | ||||
|   // if index + 1 < block.challenges.length | ||||
| @@ -92,7 +85,13 @@ exports.returnNextChallenge = function(req, res, next) { | ||||
|   var nameString = nextChallengeName.trim() | ||||
|     .toLowerCase() | ||||
|     .replace(/\s/g, '-'); | ||||
|  | ||||
|   req.user.save(function(err) { | ||||
|     if (err) { | ||||
|       return next(err); | ||||
|     } | ||||
|     return res.redirect('../challenges/' + nameString); | ||||
|   }); | ||||
| }; | ||||
|  | ||||
| exports.returnCurrentChallenge = function(req, res, next) { | ||||
| @@ -255,7 +254,7 @@ exports.returnIndividualChallenge = function(req, res, next) { | ||||
|         }, | ||||
|  | ||||
|         5: function() { | ||||
|           res.render('bonfire/show', { | ||||
|           res.render('coursewares/showBonfire', { | ||||
|             completedWith: null, | ||||
|             title: challenge.name, | ||||
|             dashedName: dashedName, | ||||
|   | ||||
| @@ -23,7 +23,7 @@ var async = require('async'), | ||||
|  * Cached values | ||||
|  */ | ||||
| var allFieldGuideIds, allFieldGuideNames, allNonprofitNames, | ||||
|   allBonfireIndexesAndNames, challengeMap, challengeMapWithIds, | ||||
|   challengeMap, challengeMapWithIds, | ||||
|   challengeMapWithNames, allChallengeIds, allChallenges; | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -12,7 +12,7 @@ mongoose.connect(secrets.db); | ||||
| var challenges = fs.readdirSync(__dirname + '/challenges'); | ||||
|  | ||||
| var counter = 0; | ||||
| var offerings = 3; | ||||
| var offerings = 2 + challenges.length; | ||||
|  | ||||
| var CompletionMonitor = function() { | ||||
|   counter++; | ||||
| @@ -37,12 +37,11 @@ Challenge.remove({}, function(err, data) { | ||||
|         console.log(err); | ||||
|       } else { | ||||
|         console.log('Successfully parsed %s', file); | ||||
|         console.log(data); | ||||
|         CompletionMonitor(); | ||||
|       } | ||||
|     }); | ||||
|   }); | ||||
| }); | ||||
| /* | ||||
| FieldGuide.remove({}, function(err, data) { | ||||
|   if (err) { | ||||
|     console.error(err); | ||||
| @@ -76,4 +75,3 @@ Nonprofit.remove({}, function(err, data) { | ||||
|   }); | ||||
|   console.log('nonprofits'); | ||||
| }); | ||||
| */ | ||||
|   | ||||
| @@ -1,45 +0,0 @@ | ||||
| extends ../layout-wide | ||||
| block content | ||||
|     script(src='/js/lib/codemirror/lib/codemirror.js') | ||||
|     script(src='/js/lib/codemirror/addon/edit/closebrackets.js') | ||||
|     script(src='/js/lib/codemirror/addon/edit/matchbrackets.js') | ||||
|     script(src='/js/lib/codemirror/addon/lint/lint.js') | ||||
|     script(src='/js/lib/codemirror/addon/lint/javascript-lint.js') | ||||
|     script(src='//ajax.aspnetcdn.com/ajax/jshint/r07/jshint.js') | ||||
|     script(src='/js/lib/chai/chai.js') | ||||
|     link(rel='stylesheet', href='/js/lib/codemirror/lib/codemirror.css') | ||||
|     link(rel='stylesheet', href='/js/lib/codemirror/addon/lint/lint.css') | ||||
|     link(rel='stylesheet', href='/js/lib/codemirror/theme/monokai.css') | ||||
|     link(rel="stylesheet", href="http://fonts.googleapis.com/css?family=Ubuntu+Mono") | ||||
|     script(src='/js/lib/codemirror/mode/javascript/javascript.js') | ||||
|     script(src='/js/lib/jailed/jailed.js') | ||||
|     script(src='/js/lib/bonfire/sandbox.js') | ||||
|     .row | ||||
|         script(type="text/javascript"). | ||||
|             var tests = !{JSON.stringify(tests)}; | ||||
|             var challengeSeed = !{JSON.stringify(challengeSeed)}; | ||||
|             var challengeEntryPoint = !{JSON.stringify(challengeEntryPoint)}; | ||||
|             var title = !{JSON.stringify(title)}; | ||||
|  | ||||
|         #mainEditorPanel.col-sm-12.col-md-7.col-xs-12 | ||||
|             .panel.panel-primary.panel-bonfire | ||||
|                 .panel-heading.text-center Playground | ||||
|                 .panel.panel-body | ||||
|                     form.code | ||||
|                         .form-group.codeMirrorView | ||||
|                             textarea#codeEditor(autofocus=true) | ||||
|  | ||||
|  | ||||
|         #testCreatePanel.col-sm-12.col-md-5.col-xs-12 | ||||
|             .panel.panel-primary.panel-bonfire | ||||
|                 .panel-heading.text-center Output | ||||
|                 .panel.panel-body | ||||
|                     #submitButton.btn.btn-primary.btn-big.btn-block Run code (ctrl + enter) | ||||
|                     br | ||||
|                     form.code | ||||
|                         .form-group.codeMirrorView | ||||
|                             textarea#codeOutput | ||||
|                     br | ||||
|                     ul#testSuite.list-group | ||||
|                     br | ||||
|                     script(src='/js/lib/bonfire/bonfireFramework_v0.1.2.js') | ||||
| @@ -1,45 +0,0 @@ | ||||
| extends ../layout | ||||
| block content | ||||
|     .row | ||||
|         .col-md-offset-2.col-md-8.col-lg-offset-2.col-lg-8.text-center | ||||
|  | ||||
|             h1 JSON generator for bonfire challenges - just fill the form out and get the correct format back | ||||
|         .col-xs-12.col-sm-12.col-md-offset-1.col-md-10.col-lg-offset-1-col-lg-10 | ||||
|             .panel | ||||
|                 form.form-horizontal(method="POST", action="/bonfire-json-generator", name="bonfireInfo") | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label(for='name') name: | ||||
|                         .col-sm-10 | ||||
|                             input#name.form-control(type='text', placeholder='name', name="name") | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label(for='difficultyField') difficulty: | ||||
|                         .col-sm-10 | ||||
|                             label.radio-inline 1 | ||||
|                                 input#inlineRadio1(type='radio', name='difficulty', value='1') | ||||
|                             label.radio-inline 2 | ||||
|                                 input#inlineRadio2(type='radio', name='difficulty', value='2') | ||||
|                             label.radio-inline 3 | ||||
|                                 input#inlineRadio3(type='radio', name='difficulty', value='3') | ||||
|                             label.radio-inline 4 | ||||
|                                 input#inlineRadio4(type='radio', name='difficulty', value='4') | ||||
|                             label.radio-inline 5 | ||||
|                                 input#inlineRadio5(type='radio', name='difficulty', value='5') | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label.wrappable(for='description') description: | ||||
|                         .col-sm-10 | ||||
|                             textarea#description.form-control(name="description", rows=5, placeholder="Each \"paragraph\" needs to be separated by a line break(return key).") | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label.wrappable(for='challengeSeed') challengeSeed: | ||||
|                         .col-sm-10 | ||||
|                             textarea#challengeSeed.form-control(name="challengeSeed", rows=5) | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label.wrappable(for='challengeEntryPoint') challenge entrypoint: | ||||
|                         .col-sm-10 | ||||
|                             textarea#name.form-control(name="challengeEntryPoint", rows=1, type='text', placeholder="palindrome(\"eye\");") | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label.wrappable(for='tests') tests: | ||||
|                         .col-sm-10 | ||||
|                             textarea#tests.form-control(name="tests", rows=5, placeholder="Separate tests by a newline.") | ||||
|                     .form-group | ||||
|                         .col-sm-offset-2.col-sm-10 | ||||
|                             input.btn.btn-default(type='submit', value="submit") | ||||
| @@ -1,44 +0,0 @@ | ||||
| extends ../layout | ||||
| block content | ||||
|     .row | ||||
|         .col-md-offset-2.col-md-8.col-lg-offset-2.col-lg-8.text-center | ||||
|             h1 Welcome to the challenge generator. Test your ideas out and see them live in bonfire! | ||||
|         .col-xs-12.col-sm-12.col-md-offset-1.col-md-10.col-lg-offset-1-col-lg-10 | ||||
|             .panel | ||||
|                 form.form-horizontal(method="POST", action="/bonfire-challenge-generator", name="bonfireInfo") | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label(for='name') name: | ||||
|                         .col-sm-10 | ||||
|                             input#name.form-control(type='text', placeholder='name', name="name") | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label(for='difficultyField') difficulty: | ||||
|                         .col-sm-10 | ||||
|                             label.radio-inline 1 | ||||
|                                 input#inlineRadio1(type='radio', name='difficulty', value='1') | ||||
|                             label.radio-inline 2 | ||||
|                                 input#inlineRadio2(type='radio', name='difficulty', value='2') | ||||
|                             label.radio-inline 3 | ||||
|                                 input#inlineRadio3(type='radio', name='difficulty', value='3') | ||||
|                             label.radio-inline 4 | ||||
|                                 input#inlineRadio4(type='radio', name='difficulty', value='4') | ||||
|                             label.radio-inline 5 | ||||
|                                 input#inlineRadio5(type='radio', name='difficulty', value='5') | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label.wrappable(for='description') description: | ||||
|                         .col-sm-10 | ||||
|                             textarea#description.form-control(name="description", rows=5, placeholder="Each \"paragraph\" needs to be separated by a line break(return key).") | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label.wrappable(for='challengeSeed') challengeSeed: | ||||
|                         .col-sm-10 | ||||
|                             textarea#challengeSeed.form-control(name="challengeSeed", rows=5) | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label.wrappable(for='challengeEntryPoint') challenge entrypoint: | ||||
|                         .col-sm-10 | ||||
|                             textarea#name.form-control(name="challengeEntryPoint", rows=1, type='text', placeholder="palindrome(\"eye\");") | ||||
|                     .form-group | ||||
|                         label.col-sm-2.control-label.wrappable(for='tests') tests: | ||||
|                         .col-sm-10 | ||||
|                             textarea#tests.form-control(name="tests", rows=5, placeholder="Separate tests by a newline.") | ||||
|                     .form-group | ||||
|                         .col-sm-offset-2.col-sm-10 | ||||
|                             input.btn.btn-default(type='submit', value="submit") | ||||
		Reference in New Issue
	
	Block a user