Role-based hard feature blocks
This commit is contained in:
parent
d0d3d838ed
commit
9ce4ac51f0
3 changed files with 26 additions and 16 deletions
app
|
@ -69,15 +69,15 @@ module.exports = class CocoRouter extends Backbone.Router
|
||||||
'contribute/diplomat': go('contribute/DiplomatView')
|
'contribute/diplomat': go('contribute/DiplomatView')
|
||||||
'contribute/scribe': go('contribute/ScribeView')
|
'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/students': redirect('/courses')
|
||||||
'courses/teachers': redirect('/teachers/classes')
|
'courses/teachers': redirect('/teachers/classes')
|
||||||
'courses/purchase': redirect('/teachers/licenses')
|
'courses/purchase': redirect('/teachers/licenses')
|
||||||
'courses/enroll(/:courseID)': redirect('/teachers/licenses')
|
'courses/enroll(/:courseID)': redirect('/teachers/licenses')
|
||||||
'courses/update-account': go('courses/CoursesUpdateAccountView')
|
'courses/update-account': go('courses/CoursesUpdateAccountView')
|
||||||
'courses/:classroomID': go('courses/ClassroomView') #, { studentsOnly: true })
|
'courses/:classroomID': go('courses/ClassroomView', { studentsOnly: true })
|
||||||
'courses/:courseID/:courseInstanceID': go('courses/CourseDetailsView')
|
'courses/:courseID/:courseInstanceID': go('courses/CourseDetailsView', { studentsOnly: true })
|
||||||
|
|
||||||
'db/*path': 'routeToServer'
|
'db/*path': 'routeToServer'
|
||||||
'demo(/*subpath)': go('DemoView')
|
'demo(/*subpath)': go('DemoView')
|
||||||
|
@ -142,14 +142,14 @@ module.exports = class CocoRouter extends Backbone.Router
|
||||||
'SEEN': go('NewHomeView')
|
'SEEN': go('NewHomeView')
|
||||||
|
|
||||||
'teachers': redirect('/teachers/classes')
|
'teachers': redirect('/teachers/classes')
|
||||||
'teachers/classes': go('courses/TeacherClassesView') #, { teachersOnly: true })
|
'teachers/classes': go('courses/TeacherClassesView', { teachersOnly: true })
|
||||||
'teachers/classes/:classroomID': go('courses/TeacherClassView') #, { teachersOnly: true })
|
'teachers/classes/:classroomID': go('courses/TeacherClassView', { teachersOnly: true })
|
||||||
'teachers/courses': go('courses/TeacherCoursesView')
|
'teachers/courses': go('courses/TeacherCoursesView')
|
||||||
'teachers/demo': go('teachers/RequestQuoteView')
|
'teachers/demo': go('teachers/RequestQuoteView')
|
||||||
'teachers/enrollments': redirect('/teachers/licenses')
|
'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/freetrial': go('teachers/RequestQuoteView')
|
||||||
'teachers/quote': go('teachers/RequestQuoteView')
|
'teachers/quote': redirect('/teachers/demo')
|
||||||
'teachers/signup': ->
|
'teachers/signup': ->
|
||||||
return @routeDirectly('teachers/CreateTeacherAccountView', []) if me.isAnonymous()
|
return @routeDirectly('teachers/CreateTeacherAccountView', []) if me.isAnonymous()
|
||||||
@navigate('/teachers/update-account', {trigger: true, replace: true})
|
@navigate('/teachers/update-account', {trigger: true, replace: true})
|
||||||
|
@ -174,7 +174,7 @@ module.exports = class CocoRouter extends Backbone.Router
|
||||||
routeDirectly: (path, args=[], options={}) ->
|
routeDirectly: (path, args=[], options={}) ->
|
||||||
if options.teachersOnly and not me.isTeacher()
|
if options.teachersOnly and not me.isTeacher()
|
||||||
return @routeDirectly('teachers/RestrictedToTeachersView')
|
return @routeDirectly('teachers/RestrictedToTeachersView')
|
||||||
if options.studentsOnly and me.isTeacher()
|
if options.studentsOnly and not me.isStudent()
|
||||||
return @routeDirectly('courses/RestrictedToStudentsView')
|
return @routeDirectly('courses/RestrictedToStudentsView')
|
||||||
leavingMessage = _.result(window.currentView, 'onLeaveMessage')
|
leavingMessage = _.result(window.currentView, 'onLeaveMessage')
|
||||||
if leavingMessage
|
if leavingMessage
|
||||||
|
|
|
@ -1279,7 +1279,8 @@
|
||||||
student_age_range_to: "to"
|
student_age_range_to: "to"
|
||||||
create_class: "Create Class"
|
create_class: "Create Class"
|
||||||
class_name: "Class Name"
|
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_login_title: "Log in to update your account"
|
||||||
update_account_title: "Your account needs attention!"
|
update_account_title: "Your account needs attention!"
|
||||||
update_account_blurb: "Before you can access your classes, choose how you want to use this account."
|
update_account_blurb: "Before you can access your classes, choose how you want to use this account."
|
||||||
|
|
|
@ -3,10 +3,19 @@ extends /templates/base-flat
|
||||||
block content
|
block content
|
||||||
.access-restricted.container.text-center.m-y-3
|
.access-restricted.container.text-center.m-y-3
|
||||||
h5(data-i18n='teacher.access_restricted')
|
h5(data-i18n='teacher.access_restricted')
|
||||||
p(data-i18n='courses.teacher_account_restricted')
|
if me.isTeacher()
|
||||||
a.btn.btn-lg.btn-primary(href="/teachers/classes" data-i18n="new_home.goto_classes")
|
p(data-i18n='courses.teacher_account_restricted')
|
||||||
button#logout-button.btn.btn-lg.btn-primary-alt(data-i18n="login.log_out")
|
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
|
if me.isTeacher()
|
||||||
h5(data-i18n='teacher.what_is_a_teacher_account')
|
.teacher-account-blurb.text-center.col-xs-6.col-xs-offset-3.m-y-3
|
||||||
p(data-i18n='teacher.teacher_account_explanation')
|
h5(data-i18n='teacher.what_is_a_teacher_account')
|
||||||
|
p(data-i18n='teacher.teacher_account_explanation')
|
Reference in a new issue