Admin classroom levels page

This commit is contained in:
Matt Lott 2016-06-30 08:29:27 -07:00
parent ac47928131
commit ba54754373
4 changed files with 61 additions and 0 deletions

View file

@ -30,6 +30,7 @@ module.exports = class CocoRouter extends Backbone.Router
'admin': go('admin/MainAdminView')
'admin/clas': go('admin/CLAsView')
'admin/classroom-levels': go('admin/AdminClassroomLevelsView')
'admin/design-elements': go('admin/DesignElementsView')
'admin/files': go('admin/FilesView')
'admin/analytics': go('admin/AnalyticsView')

View file

@ -0,0 +1,5 @@
#admin-classroom-levels-view
table
td, th
padding: 0px

View file

@ -0,0 +1,39 @@
extends /templates/base
//- DO NOT TRANSLATE
block content
if !me.isAdmin()
div You must be logged in as an admin to view this page.
else
p
- var levelsTotal = 0;
each course in view.courses.models
- var campaign = view.campaigns.get(course.get('campaignID'));
- var levels = campaign.getLevels().models;
- levelsTotal += levels.length;
div #{levels.length} #{course.get('name')}
div #{levelsTotal} levels total
each course in view.courses.models
- var campaign = view.campaigns.get(course.get('campaignID'));
- var levels = campaign.getLevels().models;
- levelCounts = levels.length;
strong #{course.get('name')}
.small= course.get('description')
.small Levels last updated #{campaign.get('levelsUpdated')}
table.table.table-striped.table-condensed
tr
th= levels.length
th Slug
th Type
th Practice
th Practice Threshold (m)
each level, levelIndex in levels
- var levelNumber = campaign.getLevelNumber(level.get('original'), levelIndex + 1)
tr
td= levelNumber
td= level.get('slug')
td= level.get('type')
td= level.get('practice')
td= level.get('practiceThresholdMinutes')

View file

@ -0,0 +1,16 @@
RootView = require 'views/core/RootView'
CocoCollection = require 'collections/CocoCollection'
Campaigns = require 'collections/Campaigns'
Course = require 'models/Course'
module.exports = class AdminClassroomLevelsView extends RootView
id: 'admin-classroom-levels-view'
template: require 'templates/admin/admin-classroom-levels'
initialize: ->
return super() unless me.isAdmin()
@campaigns = new Campaigns()
@supermodel.trackRequest @campaigns.fetchByType('course', { data: { project: 'levels,levelsUpdated' } })
@courses = new CocoCollection([], { url: "/db/course", model: Course})
@supermodel.loadCollection(@courses, 'courses')
super()