diff --git a/actions/challengeRegistration.js b/actions/challengeRegistration.js index 8f73c9020..791121d3f 100644 --- a/actions/challengeRegistration.js +++ b/actions/challengeRegistration.js @@ -869,9 +869,12 @@ exports.registerChallenge = { if (error) { console.log("error: " + error); cb(error); - } else { - console.log("error11: " + error); - api.dataAccess.executeQuery('check_challenge_exists', {challengeId: challengeId}, connection.dbConnectionMap, cb); + } else { + api.helper.checkUserActivated(connection.caller.handle, api, connection.dbConnectionMap, function (err, inactive) { + var fail = err || inactive; + if (fail) cb(fail); + else api.dataAccess.executeQuery('check_challenge_exists', {challengeId: challengeId}, connection.dbConnectionMap, cb); + }, "You must activate your account in order to participate. Please check your e-mail in order to complete the activation process, or contact support@topcoder.com if you did not receive an e-mail."); } }, function (result, cb) { if (result.length > 0) { diff --git a/apiary.apib b/apiary.apib index 955a88fc9..f7dd6dcd6 100644 --- a/apiary.apib +++ b/apiary.apib @@ -9946,7 +9946,7 @@ Request } ## Register for a software/studio challenge [/challenges/{challengeId}/register] -### Register for a software/studio challenge [GET] +### Register for a software/studio challenge [POST] + Parameters + challengeId (required, number, `1234567`) ... The challenge for which to register diff --git a/initializers/helper.js b/initializers/helper.js index 466d970b1..198a9f05d 100644 --- a/initializers/helper.js +++ b/initializers/helper.js @@ -1625,7 +1625,7 @@ helper.checkUserExists = function (handle, api, dbConnectionMap, callback) { * @param {Object} dbConnectionMap - the database connection map * @param {Function} callback - the callback function */ -helper.checkUserActivated = function (handle, api, dbConnectionMap, callback) { +helper.checkUserActivated = function (handle, api, dbConnectionMap, callback, textResponse) { api.dataAccess.executeQuery('check_user_activated', { handle: handle }, dbConnectionMap, function (err, result) { if (err) { callback(err, null); @@ -1634,7 +1634,8 @@ helper.checkUserActivated = function (handle, api, dbConnectionMap, callback) { if (result && result[0] && result[0].status === 'A') { callback(err, null); } else { - callback(err, new BadRequestError('User is not activated.')); + var message = textResponse || 'User is not activated.'; + callback(err, new BadRequestError(message)); } }); };