                     @courseLevelsFake[idx].position = levelPositions[idx]
                 @courseLevelsFake[idx].courseIdx = parseInt(k)
                 @courseLevelsFake[idx].requiresSubscription = false
+                @render()
 
               # Fill in missing positions, for courses which have levels that no longer exist in campaigns
               for k,v of courseLevels

      level.locked = true if level.requiresSubscription and @requiresSubscription and me.get('hourOfCode')
      level.locked = false if @levelStatusMap[level.slug] in ['started', 'complete']
      level.locked = false if @editorMode
      level.locked = false if not @course? and @campaign?.get('name') in ['Auditions', 'Intro']
      level.locked = false if me.isInGodMode()
      level.disabled = true if level.adminOnly and @levelStatusMap[level.slug] not in ['started', 'complete']
      level.disabled = false if me.isInGodMode()

      level.color = 'rgb(255, 80, 60)'
      unless @course? or @campaign?.get('type') is 'hoc'
        level.color = 'rgb(80, 130, 200)' if level.requiresSubscription and not features.codePlay
        level.color = 'rgb(200, 80, 200)' if level.adventurer


    leaderboardModal = new LeaderboardModal supermodel: @supermodel, levelSlug: levelSlug
    @openModalView leaderboardModal

  isClassroom: -> @courseInstanceID?

  determineNextLevel: (orderedLevels) ->
    if @isClassroom()
      @applyCourseLogicToLevels(orderedLevels) if @courseStats?
      return true


