Hide teacher controls in ClassroomView when a student is viewing

This commit is contained in:
Scott Erickson 2015-12-03 13:16:57 -08:00
parent fac71e64c9
commit afbfc69fd5
2 changed files with 17 additions and 11 deletions

View file

@ -21,17 +21,19 @@ block content
h1 h1
| Students | Students
.pull-right#main-button-area if view.teacherMode
button#add-students-btn.btn.btn-success Add Students .pull-right#main-button-area
button#activate-licenses-btn.btn.btn-warning Activate Licenses button#add-students-btn.btn.btn-success Add Students
a.btn.btn-warning(href="/courses/purchase?from-classroom="+view.classroom.id) Purchase Licenses button#activate-licenses-btn.btn.btn-warning Activate Licenses
a.btn.btn-warning(href="/courses/purchase?from-classroom="+view.classroom.id) Purchase Licenses
hr hr
for user in view.users.models for user in view.users.models
a.remove-student-link.pull-right.text-uppercase(data-user-id=user.id) if view.teacherMode
span.glyphicon.glyphicon-remove a.remove-student-link.pull-right.text-uppercase(data-user-id=user.id)
span.spl remove student span.glyphicon.glyphicon-remove
span.spl remove student
h2= user.broadName() h2= user.broadName()
- var lastPlayedString = view.makeLastPlayedString(user); - var lastPlayedString = view.makeLastPlayedString(user);
@ -46,6 +48,8 @@ block content
- var paidFor = user.get('coursePrepaidID'); - var paidFor = user.get('coursePrepaidID');
for courseInstance in view.courseInstances.models for courseInstance in view.courseInstances.models
- var inCourse = _.contains(courseInstance.get('members'), user.id); - var inCourse = _.contains(courseInstance.get('members'), user.id);
if !(inCourse || view.teacherMode)
- continue;
- var course = view.courses.get(courseInstance.get('courseID')); - var course = view.courses.get(courseInstance.get('courseID'));
- var campaign = view.campaigns.get(course.get('campaignID')); - var campaign = view.campaigns.get(course.get('campaignID'));
- var sessions = courseInstance.sessionsByUser[user.id] || []; - var sessions = courseInstance.sessionsByUser[user.id] || [];
@ -77,8 +81,9 @@ block content
- i++ - i++
else if paidFor else if paidFor
button.enable-btn.btn.btn-info.btn-sm(data-user-id=user.id, data-course-instance-cid=courseInstance.cid) Enable button.enable-btn.btn.btn-info.btn-sm(data-user-id=user.id, data-course-instance-cid=courseInstance.cid) Enable
if !paidFor if view.teacherMode && !paidFor
.text-center .text-center
p p
em Activate a license to enable more courses for this student. em Activate a license to enable more courses for this student.

View file

@ -69,6 +69,7 @@ module.exports = class ClassroomView extends RootView
courseInstance.sessionsByUser = {} courseInstance.sessionsByUser = {}
onLoaded: -> onLoaded: ->
@teacherMode = me.isAdmin() or @classroom.get('ownerID') is me.id
userSessions = @sessions.groupBy('creator') userSessions = @sessions.groupBy('creator')
for user in @users.models for user in @users.models
user.sessions = new CocoCollection(userSessions[user.id], { model: LevelSession }) user.sessions = new CocoCollection(userSessions[user.id], { model: LevelSession })
@ -162,16 +163,16 @@ module.exports = class ClassroomView extends RootView
@render() @render()
levelPopoverContent: (level, session, i) -> levelPopoverContent: (level, session, i) ->
return '' unless level and session return null unless level and session
context = { context = {
moment: moment moment: moment
level: level level: level
session: session session: session
i: i i: i
canViewSolution: me.isAdmin() or @classroom.get('ownerID') is me.id canViewSolution: @teacherMode
} }
return popoverTemplate(context) return popoverTemplate(context)
getLevelURL: (level, course, courseInstance, session) -> getLevelURL: (level, course, courseInstance, session) ->
return '#' unless _.all(arguments) return null unless @teacherMode and _.all(arguments)
"/play/level/#{level.slug}?course=#{course.id}&course-instance=#{courseInstance.id}&session=#{session.id}&observing=true" "/play/level/#{level.slug}?course=#{course.id}&course-instance=#{courseInstance.id}&session=#{session.id}&observing=true"