Refactor CourseEnrollView to use view in template

This commit is contained in:
Scott Erickson 2015-10-30 11:40:34 -07:00
parent 11d3bfc9c4
commit 0da66bd468
2 changed files with 19 additions and 31 deletions
app
templates/courses
views/courses

View file

@ -7,53 +7,53 @@ block content
a.spl(href='mailto:team@codecombat.com') team@codecombat.com a.spl(href='mailto:team@codecombat.com') team@codecombat.com
div(style='border-bottom: 1px solid black') div(style='border-bottom: 1px solid black')
if state === 'declined' || state === 'unknown_error' if view.state === 'declined' || view.state === 'unknown_error'
p p
.alert.alert-danger .alert.alert-danger
span.spr(data-i18n="loading_error.error") span.spr(data-i18n="loading_error.error")
span #{stateMessage} span #{view.stateMessage}
if state === 'creating' if view.state === 'creating'
p p
.alert.alert-info(data-i18n="courses.creating_class") .alert.alert-info(data-i18n="courses.creating_class")
else if state === 'purchasing' else if view.state === 'purchasing'
p p
.alert.alert-info(data-i18n="courses.purchasing_course") .alert.alert-info(data-i18n="courses.purchasing_course")
else else
.well.well-lg.enroll-container .well.well-lg.enroll-container
if price > 0 if view.price > 0
h1.center(data-i18n="courses.buy_course") h1.center(data-i18n="courses.buy_course")
else else
h1.center(data-i18n="courses.create_class") h1.center(data-i18n="courses.create_class")
h3 h3
span 1. span 1.
span.spl(data-i18n="courses.course") span.spl(data-i18n="courses.course")
if courses.length > 2 if view.courses.size() > 2
p(data-i18n="courses.select_all_courses") p(data-i18n="courses.select_all_courses")
.form-group .form-group
select.form-control.course-select select.form-control.course-select
each course in courses each course in view.courses.models
option(value="#{course.id}")= course.get('name') option(value="#{course.id}")= course.get('name')
if courses.length > 1 if view.courses.size() > 1
option(value="All Courses", data-i18n="courses.all_courses") option(value="All Courses", data-i18n="courses.all_courses")
if price > 0 if view.price > 0
h3 h3
span 2. span 2.
span.spl(data-i18n="courses.number_students") span.spl(data-i18n="courses.number_students")
p(data-i18n="courses.enter_number_students") p(data-i18n="courses.enter_number_students")
input.input-seats(type='text', value="#{seats}") input.input-seats(type='text', value="#{view.seats}")
h3 h3
if price > 0 if view.price > 0
span 3. span 3.
else else
span 2. span 2.
span.spl(data-i18n="courses.name_class") span.spl(data-i18n="courses.name_class")
p(data-i18n="courses.displayed_course_page") p(data-i18n="courses.displayed_course_page")
input.class-name(type='text', placeholder="Mrs. Smith's 4th Period", value="#{className ? className : ''}") input.class-name(type='text', placeholder="Mrs. Smith's 4th Period", value="#{view.className ? view.className : ''}")
if price > 0 if view.price > 0
h3 h3
span 4. span 4.
span.spl(data-i18n="courses.buy") Buy span.spl(data-i18n="courses.buy") Buy
@ -62,21 +62,21 @@ block content
span 3. span 3.
span.spl(data-i18n="courses.create_class") span.spl(data-i18n="courses.create_class")
p p
if price > 0 if view.price > 0
span.spr(data-i18n="courses.purchasing_for") span.spr(data-i18n="courses.purchasing_for")
else else
span.spr(data-i18n="courses.creating_for") span.spr(data-i18n="courses.creating_for")
strong.spr #{selectedCourseTitle} strong.spr #{view.selectedCourseTitle}
if price > 0 if view.price > 0
span.spr(data-i18n="courses.for") span.spr(data-i18n="courses.for")
strong strong
span #{seats} span #{view.seats}
span.spl(data-i18n="courses.students1") span.spl(data-i18n="courses.students1")
span #{'.'} span #{'.'}
p(data-i18n="courses.receive_code") p(data-i18n="courses.receive_code")
p.center p.center
if price > 0 if view.price > 0
button.btn.btn-success.btn-lg.btn-buy $#{(price / 100.0).toFixed(2)} button.btn.btn-success.btn-lg.btn-buy $#{(view.price / 100.0).toFixed(2)}
else else
button.btn.btn-success.btn-lg.btn-buy(data-i18n="courses.create_class") button.btn.btn-success.btn-lg.btn-buy(data-i18n="courses.create_class")
+trial-and-questions +trial-and-questions

View file

@ -29,18 +29,6 @@ module.exports = class CourseEnrollView extends RootView
@listenTo @courses, 'sync', @onCoursesLoaded @listenTo @courses, 'sync', @onCoursesLoaded
@supermodel.loadCollection(@courses, 'courses') @supermodel.loadCollection(@courses, 'courses')
getRenderData: ->
context = super()
context.className = @className
context.courses = @courses.models
context.price = @price ? 0
context.seats = @seats
context.selectedCourse = @selectedCourse
context.selectedCourseTitle = @selectedCourse?.get('name') ? 'All Courses'
context.state = @state
context.stateMessage = @stateMessage
context
afterRender: -> afterRender: ->
super() super()
if @selectedCourse if @selectedCourse