mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-05-02 00:43:34 -04:00
🐛Fix instance selection on /courses page
This commit is contained in:
parent
d7d6694ee9
commit
feef9c0ac6
6 changed files with 15 additions and 14 deletions
app
core
templates/courses
views
courses
play/level
|
@ -65,7 +65,7 @@ module.exports = class CocoRouter extends Backbone.Router
|
||||||
'courses/mock1/:courseID': go('courses/mock1/CourseDetailsView')
|
'courses/mock1/:courseID': go('courses/mock1/CourseDetailsView')
|
||||||
'courses': go('courses/CoursesView')
|
'courses': go('courses/CoursesView')
|
||||||
'courses/enroll(/:courseID)': go('courses/CourseEnrollView')
|
'courses/enroll(/:courseID)': go('courses/CourseEnrollView')
|
||||||
'courses/:courseID': go('courses/CourseDetailsView')
|
'courses/:courseID(/:courseInstanceID)': go('courses/CourseDetailsView')
|
||||||
|
|
||||||
'db/*path': 'routeToServer'
|
'db/*path': 'routeToServer'
|
||||||
'demo(/*subpath)': go('DemoView')
|
'demo(/*subpath)': go('DemoView')
|
||||||
|
|
|
@ -92,12 +92,13 @@ mixin teacher-dialog(course)
|
||||||
.container-fluid
|
.container-fluid
|
||||||
.row
|
.row
|
||||||
.col-md-8
|
.col-md-8
|
||||||
select.form-control.select-session
|
select.form-control.select-session(data-course-id="#{course.id}")
|
||||||
each inst in instances
|
each inst in instances
|
||||||
if inst.get('name')
|
if inst.get('courseID') == course.id
|
||||||
option(value="#{inst.id}")= inst.get('name')
|
if inst.get('name')
|
||||||
else
|
option(value="#{inst.id}")= inst.get('name')
|
||||||
option(value="#{inst.id}") *unnamed*
|
else
|
||||||
|
option(value="#{inst.id}") *unnamed*
|
||||||
.col-md-4
|
.col-md-4
|
||||||
button.btn.btn-success.btn-enter(data-course-id="#{course.id}") Enter
|
button.btn.btn-success.btn-enter(data-course-id="#{course.id}") Enter
|
||||||
.row.button-row.center.row-pick-class
|
.row.button-row.center.row-pick-class
|
||||||
|
|
|
@ -25,7 +25,8 @@ module.exports = class CourseDetailsView extends RootView
|
||||||
|
|
||||||
constructor: (options, @courseID, @courseInstanceID) ->
|
constructor: (options, @courseID, @courseInstanceID) ->
|
||||||
super options
|
super options
|
||||||
@courseInstanceID ?= utils.getQueryVariable('ciid', false) or options.courseInstanceID
|
@courseID ?= options.courseID
|
||||||
|
@courseInstanceID ?= options.courseInstanceID
|
||||||
@adminMode = me.isAdmin()
|
@adminMode = me.isAdmin()
|
||||||
@memberSort = 'nameAsc'
|
@memberSort = 'nameAsc'
|
||||||
@course = @supermodel.getModel(Course, @courseID) or new Course _id: @courseID
|
@course = @supermodel.getModel(Course, @courseID) or new Course _id: @courseID
|
||||||
|
|
|
@ -74,10 +74,11 @@ module.exports = class CoursesView extends RootView
|
||||||
onClickEnter: (e) ->
|
onClickEnter: (e) ->
|
||||||
$('.continue-dialog').modal('hide')
|
$('.continue-dialog').modal('hide')
|
||||||
courseID = $(e.target).data('course-id')
|
courseID = $(e.target).data('course-id')
|
||||||
courseInstanceID = $('.select-session').val()
|
courseInstanceID = $(".select-session[data-course-id=#{courseID}]").val()
|
||||||
|
route = "/courses/#{courseID}/#{courseInstanceID}"
|
||||||
viewClass = require 'views/courses/CourseDetailsView'
|
viewClass = require 'views/courses/CourseDetailsView'
|
||||||
viewArgs = [{courseInstanceID:courseInstanceID}, courseID]
|
viewArgs = [{}, courseID, courseInstanceID]
|
||||||
navigationEvent = route: "/courses/#{courseID}", viewClass: viewClass, viewArgs: viewArgs
|
navigationEvent = route: route, viewClass: viewClass, viewArgs: viewArgs
|
||||||
Backbone.Mediator.publish 'router:navigate', navigationEvent
|
Backbone.Mediator.publish 'router:navigate', navigationEvent
|
||||||
|
|
||||||
onClickStudent: (e) ->
|
onClickStudent: (e) ->
|
||||||
|
|
|
@ -98,7 +98,7 @@ module.exports = class ControlBarView extends CocoView
|
||||||
@homeViewArgs.push @courseID
|
@homeViewArgs.push @courseID
|
||||||
@homeViewClass = 'views/courses/CourseDetailsView'
|
@homeViewClass = 'views/courses/CourseDetailsView'
|
||||||
if @courseInstanceID
|
if @courseInstanceID
|
||||||
@homeLink += "?ciid=#{@courseInstanceID}"
|
@homeLink += "/#{@courseInstanceID}"
|
||||||
@homeViewArgs.push @courseInstanceID
|
@homeViewArgs.push @courseInstanceID
|
||||||
else
|
else
|
||||||
@homeLink = '/'
|
@homeLink = '/'
|
||||||
|
|
|
@ -408,7 +408,7 @@ module.exports = class HeroVictoryModal extends ModalView
|
||||||
if @courseID
|
if @courseID
|
||||||
link += "/#{@courseID}"
|
link += "/#{@courseID}"
|
||||||
if @courseInstanceID
|
if @courseInstanceID
|
||||||
link += "?ciid=#{@courseInstanceID}"
|
link += "/#{@courseInstanceID}"
|
||||||
else
|
else
|
||||||
link = '/play'
|
link = '/play'
|
||||||
nextCampaign = @getNextLevelCampaign()
|
nextCampaign = @getNextLevelCampaign()
|
||||||
|
@ -436,10 +436,8 @@ module.exports = class HeroVictoryModal extends ModalView
|
||||||
viewArgs = [options]
|
viewArgs = [options]
|
||||||
if @courseID
|
if @courseID
|
||||||
viewClass = require 'views/courses/CourseDetailsView'
|
viewClass = require 'views/courses/CourseDetailsView'
|
||||||
options.courseID = @courseID
|
|
||||||
viewArgs.push @courseID
|
viewArgs.push @courseID
|
||||||
if @courseInstanceID
|
if @courseInstanceID
|
||||||
options.courseInstanceID = @courseInstanceID
|
|
||||||
viewArgs.push @courseInstanceID
|
viewArgs.push @courseInstanceID
|
||||||
else
|
else
|
||||||
viewClass = require 'views/play/CampaignView'
|
viewClass = require 'views/play/CampaignView'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue