Update query for user code problems view

So it doesn’t explode in production.
This commit is contained in:
Matt Lott 2014-10-26 10:49:13 -07:00
parent a36db735ee
commit 7c21d5921e
2 changed files with 44 additions and 28 deletions

View file

@ -4,30 +4,33 @@ block content
h1(data-i18n="admin.ucp_title") User Code Problems
table.table.table-striped.table-bordered.table-condensed#users
thead(style='font-weight:bold')
tr
td language
//- td errType
//- td errLevel
//- td errId
td levelID
td codeSnippet
td errHint
td errMessage
//- td code
td created
tbody
each problem in userCodeProblems
tr
td #{problem.language}
//- td #{problem.errType}
//- td #{problem.errLevel}
//- td #{problem.errId}
td #{problem.levelID}
td #{problem.codeSnippet}
td #{problem.errHint}
td #{problem.errMessage}
//- td #{problem.code}
td #{new Date(problem.created).toLocaleString()}
if fetchingData
h3 Fetching data...
else
table.table.table-striped.table-bordered.table-condensed#users
thead(style='font-weight:bold')
tr
td language
//- td errType
//- td errLevel
//- td errId
td levelID
td codeSnippet
td errHint
td errMessage
//- td code
td created
tbody
each problem in userCodeProblems
tr
td #{problem.language}
//- td #{problem.errType}
//- td #{problem.errLevel}
//- td #{problem.errId}
td #{problem.levelID}
td #{problem.codeSnippet}
td #{problem.errHint}
td #{problem.errMessage}
//- td #{problem.code}
td #{new Date(problem.created).toLocaleString()}

View file

@ -10,6 +10,7 @@ module.exports = class UserCodeProblemsView extends RootView
constructor: (options) ->
super options
@fetchingData = true
@getUserCodeProblems()
getUserCodeProblems: ->
@ -19,9 +20,18 @@ module.exports = class UserCodeProblemsView extends RootView
# The first arg is the function name
# The rest are the args for the function
lastMonth = new Date()
if lastMonth.getMonth() is 1
lastMonth.setMonth 12
lastMonth.setYear lastMonth.getYear() - 1
else
lastMonth.setMonth lastMonth.getMonth() - 1
conditions = [
['limit', 1000]
['sort', '-created']
['where', 'created']
['gte', lastMonth.toString()]
]
conditions = $.param({conditions:JSON.stringify(conditions)})
UserCodeProblemCollection = Backbone.Collection.extend({
@ -30,9 +40,12 @@ module.exports = class UserCodeProblemsView extends RootView
})
@userCodeProblems = new UserCodeProblemCollection()
@userCodeProblems.fetch()
@listenTo(@userCodeProblems, 'all', @render)
@listenTo @userCodeProblems, 'all', ->
@fetchingData = false
@render()
getRenderData: ->
c = super()
c.fetchingData = @fetchingData
c.userCodeProblems = (problem.attributes for problem in @userCodeProblems.models)
c