extends /templates/base-flat block content .container.m-t-3 p a(href="/courses", data-i18n="courses.back_courses") p strong if view.courseInstance.get('name') span= view.courseInstance.get('name') else if view.classroom.get('name') span= view.classroom.get('name') else span(data-i18n='courses.unnamed_class') if !view.owner.isNew() && view.getOwnerName() && view.courseInstance.get('name') != 'Single Player' span.spl - span.spl(data-i18n='courses.teacher') span.spr : span strong= view.getOwnerName() h1 | #{view.course.get('name')} if view.courseComplete span.spl - span.spl(data-i18n='courses.complete') span ! p if view.courseInstance.get('description') each line in view.courseInstance.get('description').split('\n') div= line .available-courses-title(data-i18n='courses.available_levels') table.table.table-striped.table-condensed thead tr th th(data-i18n="clans.status") th(data-i18n="common.type") th(data-i18n="resources.level") th(data-i18n="courses.concepts") tbody - var previousLevelCompleted = true; - var lastLevelCompleted = view.getLastLevelCompleted(); - var passedLastCompletedLevel = !lastLevelCompleted; - var levelCount = 0; each level in view.levels.models - var levelStatus = null; - var levelNumber = view.classroom.getLevelNumber(level.get('original'), ++levelCount); if view.userLevelStateMap[me.id] - levelStatus = view.userLevelStateMap[me.id][level.get('original')] tr td if previousLevelCompleted || !passedLastCompletedLevel || levelStatus - var i18nTag = level.isType('course-ladder') ? 'play.compete' : 'home.play'; button.btn.btn-forest.btn-play-level(data-level-slug=level.get('slug'), data-i18n=i18nTag, data-level-id=level.get('original')) if level.get('shareable') - var levelOriginal = level.get('original'); - var session = view.levelSessions.find(function(session) { return session.get('level').original === levelOriginal }); if session - var url = '/play/' + level.get('type') + '-level/' + level.get('slug') + '/' + session.id + '?course=' + view.courseID; a.btn.btn-gold.btn-view-project-level(href=url) if level.isType('game-dev') span(data-i18n='sharing.game') else span(data-i18n='sharing.webpage') td if view.userLevelStateMap[me.id] div= view.userLevelStateMap[me.id][level.get('original')] td #{level.get('practice') ? 'practice' : 'required'} td #{levelNumber}. #{i18n(level.attributes, 'name').replace('Course: ', '')} td if view.levelConceptMap[level.get('original')] each concept in view.course.get('concepts') if view.levelConceptMap[level.get('original')][concept] span.spr.concept(data-i18n="concepts." + concept) if level.get('original') === lastLevelCompleted - passedLastCompletedLevel = true if !level.get('practice') if view.userLevelStateMap[me.id] - previousLevelCompleted = view.userLevelStateMap[me.id][level.get('original')] === 'complete' else - previousLevelCompleted = false