mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-28 22:00:25 -04:00
🐛Fix auto level solutions numbering
Practice levels were being numbered normally.
This commit is contained in:
parent
df69cb54a8
commit
e43d90ae23
3 changed files with 9 additions and 2 deletions
app
server/middleware
|
@ -16,7 +16,7 @@ block content
|
|||
|
||||
if view.levels
|
||||
each level, index in view.levels.models
|
||||
h2.page-break-before ##{index + 1}. #{i18n(level.attributes, 'name')}
|
||||
h2.page-break-before ##{view.levelNumberMap[level.get('original')]}. #{i18n(level.attributes, 'name')}
|
||||
h3(data-i18n="teacher.level_overview_solutions")
|
||||
i #{i18n(level.attributes, 'description')}
|
||||
div
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
utils = require 'core/utils'
|
||||
RootView = require 'views/core/RootView'
|
||||
CocoCollection = require 'collections/CocoCollection'
|
||||
Course = require 'models/Course'
|
||||
|
@ -16,6 +17,7 @@ module.exports = class TeacherCourseSolutionView extends RootView
|
|||
@supermodel.trackRequest(@course.fetch())
|
||||
@levels = new CocoCollection([], { url: "/db/course/#{@courseID}/level-solutions", model: Level})
|
||||
@supermodel.loadCollection(@levels, 'levels', {cache: false})
|
||||
@levelNumberMap = {}
|
||||
super(options)
|
||||
|
||||
camelCaseLanguage: (language) ->
|
||||
|
@ -44,4 +46,9 @@ module.exports = class TeacherCourseSolutionView extends RootView
|
|||
level.set 'begin', _.template(programmableMethod.languages[@language] or programmableMethod.source)(programmableMethod.context)
|
||||
solution = programmableMethod.solutions?.find (x) => x.language is @language
|
||||
level.set 'solution', _.template(solution?.source)(programmableMethod.context)
|
||||
levels = []
|
||||
for level in @levels?.models when level.get('original')
|
||||
continue if @language? and level.get('primerLanguage') is @language
|
||||
levels.push({key: level.get('original'), practice: level.get('practice') ? false})
|
||||
@levelNumberMap = utils.createLevelNumberMap(levels)
|
||||
@render?()
|
||||
|
|
|
@ -35,7 +35,7 @@ module.exports =
|
|||
|
||||
levelOriginals = (mongoose.Types.ObjectId(levelID) for levelID in sortedLevelIDs)
|
||||
query = { original: { $in: levelOriginals }, slug: { $exists: true }}
|
||||
select = {documentation: 1, intro: 1, name: 1, original: 1, slug: 1, thangs: 1, i18n: 1}
|
||||
select = {documentation: 1, intro: 1, name: 1, original: 1, practice: 1, slug: 1, thangs: 1, i18n: 1}
|
||||
levels = yield Level.find(query).select(select).lean()
|
||||
levels.sort((a, b) -> sortedLevelIDs.indexOf(a.original + '') - sortedLevelIDs.indexOf(b.original + ''))
|
||||
res.status(200).send(levels)
|
||||
|
|
Loading…
Add table
Reference in a new issue