diff --git a/app/core/Router.coffee b/app/core/Router.coffee index a6c42752b..984619ee6 100644 --- a/app/core/Router.coffee +++ b/app/core/Router.coffee @@ -69,15 +69,15 @@ module.exports = class CocoRouter extends Backbone.Router 'contribute/diplomat': go('contribute/DiplomatView') 'contribute/scribe': go('contribute/ScribeView') - 'courses': go('courses/CoursesView') # , { studentsOnly: true }) # TODO: Enforce after session-less play for teachers - 'Courses': go('courses/CoursesView') # , { studentsOnly: true }) + 'courses': go('courses/CoursesView', { studentsOnly: true }) + 'Courses': go('courses/CoursesView', { studentsOnly: true }) 'courses/students': redirect('/courses') 'courses/teachers': redirect('/teachers/classes') 'courses/purchase': redirect('/teachers/licenses') 'courses/enroll(/:courseID)': redirect('/teachers/licenses') 'courses/update-account': go('courses/CoursesUpdateAccountView') - 'courses/:classroomID': go('courses/ClassroomView') #, { studentsOnly: true }) - 'courses/:courseID/:courseInstanceID': go('courses/CourseDetailsView') + 'courses/:classroomID': go('courses/ClassroomView', { studentsOnly: true }) + 'courses/:courseID/:courseInstanceID': go('courses/CourseDetailsView', { studentsOnly: true }) 'db/*path': 'routeToServer' 'demo(/*subpath)': go('DemoView') @@ -142,14 +142,14 @@ module.exports = class CocoRouter extends Backbone.Router 'SEEN': go('NewHomeView') 'teachers': redirect('/teachers/classes') - 'teachers/classes': go('courses/TeacherClassesView') #, { teachersOnly: true }) - 'teachers/classes/:classroomID': go('courses/TeacherClassView') #, { teachersOnly: true }) + 'teachers/classes': go('courses/TeacherClassesView', { teachersOnly: true }) + 'teachers/classes/:classroomID': go('courses/TeacherClassView', { teachersOnly: true }) 'teachers/courses': go('courses/TeacherCoursesView') 'teachers/demo': go('teachers/RequestQuoteView') 'teachers/enrollments': redirect('/teachers/licenses') - 'teachers/licenses': go('courses/EnrollmentsView') #, { teachersOnly: true }) + 'teachers/licenses': go('courses/EnrollmentsView', { teachersOnly: true }) 'teachers/freetrial': go('teachers/RequestQuoteView') - 'teachers/quote': go('teachers/RequestQuoteView') + 'teachers/quote': redirect('/teachers/demo') 'teachers/signup': -> return @routeDirectly('teachers/CreateTeacherAccountView', []) if me.isAnonymous() @navigate('/teachers/update-account', {trigger: true, replace: true}) @@ -174,7 +174,7 @@ module.exports = class CocoRouter extends Backbone.Router routeDirectly: (path, args=[], options={}) -> if options.teachersOnly and not me.isTeacher() return @routeDirectly('teachers/RestrictedToTeachersView') - if options.studentsOnly and me.isTeacher() + if options.studentsOnly and not me.isStudent() return @routeDirectly('courses/RestrictedToStudentsView') leavingMessage = _.result(window.currentView, 'onLeaveMessage') if leavingMessage diff --git a/app/locale/en.coffee b/app/locale/en.coffee index d546acda9..f7ebe2c6e 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -1279,7 +1279,8 @@ student_age_range_to: "to" create_class: "Create Class" class_name: "Class Name" - teacher_account_restricted: "Your account is a teacher account, and so cannot access student content." + teacher_account_restricted: "Your account is a teacher account and cannot access student content." # {change} + account_restricted: "A student account is required to access this page." update_account_login_title: "Log in to update your account" update_account_title: "Your account needs attention!" update_account_blurb: "Before you can access your classes, choose how you want to use this account." diff --git a/app/templates/courses/restricted-to-students-view.jade b/app/templates/courses/restricted-to-students-view.jade index d31f421c8..ebea62f7c 100644 --- a/app/templates/courses/restricted-to-students-view.jade +++ b/app/templates/courses/restricted-to-students-view.jade @@ -3,10 +3,19 @@ extends /templates/base-flat block content .access-restricted.container.text-center.m-y-3 h5(data-i18n='teacher.access_restricted') - p(data-i18n='courses.teacher_account_restricted') - a.btn.btn-lg.btn-primary(href="/teachers/classes" data-i18n="new_home.goto_classes") - button#logout-button.btn.btn-lg.btn-primary-alt(data-i18n="login.log_out") + if me.isTeacher() + p(data-i18n='courses.teacher_account_restricted') + a.btn.btn-lg.btn-primary(href="/teachers/classes" data-i18n="new_home.goto_classes") + button#logout-button.btn.btn-lg.btn-primary-alt(data-i18n="login.log_out") + else + p(data-i18n='courses.account_restricted') + if me.isAnonymous() + .login-button.btn.btn-lg.btn-primary(data-i18n='login.log_in') + else + a.btn.btn-lg.btn-primary(href="/courses/update-account" data-i18n="courses.update_account_update_student") + button#logout-button.btn.btn-lg.btn-primary-alt(data-i18n="login.log_out") - .teacher-account-blurb.text-center.col-xs-6.col-xs-offset-3.m-y-3 - h5(data-i18n='teacher.what_is_a_teacher_account') - p(data-i18n='teacher.teacher_account_explanation') \ No newline at end of file + if me.isTeacher() + .teacher-account-blurb.text-center.col-xs-6.col-xs-offset-3.m-y-3 + h5(data-i18n='teacher.what_is_a_teacher_account') + p(data-i18n='teacher.teacher_account_explanation') \ No newline at end of file