mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-14 07:00:01 -04:00
Admin classroom levels page
This commit is contained in:
parent
ac47928131
commit
ba54754373
4 changed files with 61 additions and 0 deletions
|
@ -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')
|
||||
|
|
5
app/styles/admin/admin-classroom-levels.sass
Normal file
5
app/styles/admin/admin-classroom-levels.sass
Normal file
|
@ -0,0 +1,5 @@
|
|||
#admin-classroom-levels-view
|
||||
|
||||
table
|
||||
td, th
|
||||
padding: 0px
|
39
app/templates/admin/admin-classroom-levels.jade
Normal file
39
app/templates/admin/admin-classroom-levels.jade
Normal 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')
|
16
app/views/admin/AdminClassroomLevelsView.coffee
Normal file
16
app/views/admin/AdminClassroomLevelsView.coffee
Normal 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()
|
Loading…
Reference in a new issue