mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-26 05:53:39 -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': go('courses/CoursesView')
|
||||
'courses/enroll(/:courseID)': go('courses/CourseEnrollView')
|
||||
'courses/:courseID': go('courses/CourseDetailsView')
|
||||
'courses/:courseID(/:courseInstanceID)': go('courses/CourseDetailsView')
|
||||
|
||||
'db/*path': 'routeToServer'
|
||||
'demo(/*subpath)': go('DemoView')
|
||||
|
|
|
@ -92,12 +92,13 @@ mixin teacher-dialog(course)
|
|||
.container-fluid
|
||||
.row
|
||||
.col-md-8
|
||||
select.form-control.select-session
|
||||
select.form-control.select-session(data-course-id="#{course.id}")
|
||||
each inst in instances
|
||||
if inst.get('name')
|
||||
option(value="#{inst.id}")= inst.get('name')
|
||||
else
|
||||
option(value="#{inst.id}") *unnamed*
|
||||
if inst.get('courseID') == course.id
|
||||
if inst.get('name')
|
||||
option(value="#{inst.id}")= inst.get('name')
|
||||
else
|
||||
option(value="#{inst.id}") *unnamed*
|
||||
.col-md-4
|
||||
button.btn.btn-success.btn-enter(data-course-id="#{course.id}") Enter
|
||||
.row.button-row.center.row-pick-class
|
||||
|
|
|
@ -25,7 +25,8 @@ module.exports = class CourseDetailsView extends RootView
|
|||
|
||||
constructor: (options, @courseID, @courseInstanceID) ->
|
||||
super options
|
||||
@courseInstanceID ?= utils.getQueryVariable('ciid', false) or options.courseInstanceID
|
||||
@courseID ?= options.courseID
|
||||
@courseInstanceID ?= options.courseInstanceID
|
||||
@adminMode = me.isAdmin()
|
||||
@memberSort = 'nameAsc'
|
||||
@course = @supermodel.getModel(Course, @courseID) or new Course _id: @courseID
|
||||
|
|
|
@ -74,10 +74,11 @@ module.exports = class CoursesView extends RootView
|
|||
onClickEnter: (e) ->
|
||||
$('.continue-dialog').modal('hide')
|
||||
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'
|
||||
viewArgs = [{courseInstanceID:courseInstanceID}, courseID]
|
||||
navigationEvent = route: "/courses/#{courseID}", viewClass: viewClass, viewArgs: viewArgs
|
||||
viewArgs = [{}, courseID, courseInstanceID]
|
||||
navigationEvent = route: route, viewClass: viewClass, viewArgs: viewArgs
|
||||
Backbone.Mediator.publish 'router:navigate', navigationEvent
|
||||
|
||||
onClickStudent: (e) ->
|
||||
|
|
|
@ -98,7 +98,7 @@ module.exports = class ControlBarView extends CocoView
|
|||
@homeViewArgs.push @courseID
|
||||
@homeViewClass = 'views/courses/CourseDetailsView'
|
||||
if @courseInstanceID
|
||||
@homeLink += "?ciid=#{@courseInstanceID}"
|
||||
@homeLink += "/#{@courseInstanceID}"
|
||||
@homeViewArgs.push @courseInstanceID
|
||||
else
|
||||
@homeLink = '/'
|
||||
|
|
|
@ -408,7 +408,7 @@ module.exports = class HeroVictoryModal extends ModalView
|
|||
if @courseID
|
||||
link += "/#{@courseID}"
|
||||
if @courseInstanceID
|
||||
link += "?ciid=#{@courseInstanceID}"
|
||||
link += "/#{@courseInstanceID}"
|
||||
else
|
||||
link = '/play'
|
||||
nextCampaign = @getNextLevelCampaign()
|
||||
|
@ -436,10 +436,8 @@ module.exports = class HeroVictoryModal extends ModalView
|
|||
viewArgs = [options]
|
||||
if @courseID
|
||||
viewClass = require 'views/courses/CourseDetailsView'
|
||||
options.courseID = @courseID
|
||||
viewArgs.push @courseID
|
||||
if @courseInstanceID
|
||||
options.courseInstanceID = @courseInstanceID
|
||||
viewArgs.push @courseInstanceID
|
||||
else
|
||||
viewClass = require 'views/play/CampaignView'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue