codecombat/app/templates/courses/teacher-courses-view.jade

106 lines
4.5 KiB
Text

extends /templates/base-flat
block page_nav
include ./teacher-dashboard-nav.jade
block content
if !me.isTeacher() && view.ownedClassrooms.size()
.alert.alert-danger.text-center
.container
// DNT: Temporary
h3 ATTENTION: Please upgrade your account to a Teacher Account.
p
| We are transitioning to a new improved classroom management system for instructors.
| Please convert your account to ensure you retain access to your classrooms.
a.btn.btn-primary.btn-lg(href="/teachers/update-account") Upgrade to teacher account
.container
h1(data-i18n="courses.title")
h2(data-i18n="courses.subtitle")
p
a(href="https://discourse.codecombat.com/t/course-level-changelog/7352" data-i18n="courses.changelog")
.courses.container
- var courses = view.courses.models;
- var courseIndex = 0;
while courseIndex < courses.length
- var course = courses[courseIndex];
- courseIndex++;
.course.row
.col-sm-9
+course-info(course)
if me.isTeacher()
.col-sm-3
.play-level-form(data-course-id=course.id)
.form-group
label.control-label
span(data-i18n="courses.select_language")
| :
select.language-select.form-control
// TODO: Automate this list @scott
option(value="python")
| Python
option(value="javascript")
| JavaScript
//- option(value="coffeescript")
//- | CoffeeScript (Experimental)
//- option(value="clojure")
//- | Clojure (Experimental)
//- option(value="lua")
//- | Lua
//- option(value="java")
//- | Java
.form-group
label.control-label
span(data-i18n="courses.select_level")
| :
select.level-select.form-control
if view.campaigns.loaded
- var campaign = view.campaigns.get(course.get('campaignID'))
if campaign
each level, levelIndex in campaign.getLevels().models
- var levelNumber = campaign.getLevelNumber(level.get('original'), levelIndex + 1)
option(value=level.get('slug'))
span
= levelNumber
span.spr
| .
span
= level.get('name').replace('Course: ', '')
a.play-level-button.btn.btn-lg.btn-primary
span(data-i18n="courses.play_level")
.clearfix
mixin course-info(course)
- var campaign = view.campaigns.get(course.get('campaignID'));
.course-info
.text-h4.semibold
= course.get('name')
p= course.get('description')
p.concepts.semibold
span(data-i18n="courses.concepts_covered")
| :
each concept in course.get('concepts')
span(data-i18n="concepts." + concept)
if course.get('concepts').indexOf(concept) !== course.get('concepts').length - 1
span.spr ,
if me.isTeacher() || view.ownedClassrooms.size()
if view.guideLinks[course.id]
//- a.btn.btn-primary(href=view.guideLinks[course.id] class=(me.isTeacher() ? '': 'disabled'))
//- span(data-i18n="courses.print_guide")
a.guide-btn.btn.btn-primary(href=view.guideLinks[course.id].python data-course-id=course.id data-course-name=course.get('name') data-event-action="Classes Guides Guide Python" class=(me.isTeacher() ? '': 'disabled'))
span(data-i18n="courses.view_guide_online")
| &mdash; Python
a.guide-btn.btn.btn-primary(href=view.guideLinks[course.id].javascript data-course-id=course.id data-course-name=course.get('name') data-event-action="Classes Guides Guide JavaScript" class=(me.isTeacher() ? '': 'disabled'))
span(data-i18n="courses.view_guide_online")
| &mdash; JavaScript
else
i.small
| (
span(data-i18n='teacher.guides_coming_soon')
| )
if campaign && campaign.get('levelsUpdated')
p.small.m-t-2
span.spr(data-i18n="courses.last_updated")
span= moment(campaign.get('levelsUpdated')).format('LL')