Added checking level ladder status before submitting

This commit is contained in:
Michael Schmatz 2014-03-07 18:16:48 -08:00
parent 2fa40fb2db
commit 2f378106ca
2 changed files with 25 additions and 17 deletions

View file

@ -95,7 +95,7 @@ module.exports = class MyMatchesTabView extends CocoView
success = => @setRankingButtonText(button, 'ranked')
failure = => @setRankingButtonText(button, 'failed')
ajaxData = { session: sessionID, levelID: @level.attributes.original, levelMajorVersion: @level.attributes.version.major }
ajaxData = { session: sessionID, levelID: @level.id, originalLevelID: @level.attributes.original, levelMajorVersion: @level.attributes.version.major }
$.ajax '/queue/scoring', {
type: 'POST'
data: ajaxData

View file

@ -8,6 +8,7 @@ db = require './../routes/db'
mongoose = require 'mongoose'
queues = require '../commons/queue'
LevelSession = require '../levels/sessions/LevelSession'
Level = require '../levels/Level'
TaskLog = require './task/ScoringTask'
bayes = new (require 'bayesian-battle')()
@ -48,7 +49,8 @@ addPairwiseTaskToQueue = (taskPair, cb) ->
module.exports.createNewTask = (req, res) ->
requestSessionID = req.body.session
requestLevelID = req.body.levelID
requestLevelID = req.body.originalLevelID
requestCurrentLevelID = req.body.levelID
requestLevelMajorVersion = parseInt(req.body.levelMajorVersion)
validatePermissions req, requestSessionID, (error, permissionsAreValid) ->
@ -56,6 +58,12 @@ module.exports.createNewTask = (req, res) ->
unless permissionsAreValid then return errors.forbidden res, "You do not have the permissions to submit that game to the leaderboard"
return errors.badInput res, "The session ID is invalid" unless typeof requestSessionID is "string"
Level.findOne({_id: requestCurrentLevelID}).lean().select('type').exec (err, levelWithType) ->
if err? then return errors.serverError res, "There was an error finding the level type"
if not levelWithType.type or levelWithType.type isnt "ladder"
console.log "The level type of level with ID #{requestLevelID} is #{levelWithType.type}"
return errors.badInput res, "That level isn't a ladder level"
fetchSessionToSubmit requestSessionID, (err, sessionToSubmit) ->
if err? then return errors.serverError res, "There was an error finding the given session."