Skip to content
This repository was archived by the owner on Jan 23, 2025. It is now read-only.

add studio checkpoint submissions and submitter count #136

Merged
merged 1 commit into from
Mar 19, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 28 additions & 7 deletions actions/challenges.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* Copyright (C) 2013 - 2014 TopCoder Inc., All Rights Reserved.
*
* @version 1.15
* @version 1.16
* @author Sky_, mekanizumu, TCSASSEMBLER, freegod, Ghost_141, kurtrips, xjtufreeman, ecnu_haozi, hesibo, LazyChild
* @changes from 1.0
* merged with Member Registration API
Expand Down Expand Up @@ -38,6 +38,8 @@
* changes in 1.15:
* Change the open and active status filter behaviour. OPEN for only reg phase is open, ACTIVE for reg is closed and
* the challenge status is active.
* changes in 1.16:
* add studio checkpoint submissions and submitter count
*/
"use strict";

Expand Down Expand Up @@ -1164,19 +1166,20 @@ var getCheckpoint = function (api, connection, dbConnectionMap, isStudio, next)
challengeId: challengeId,
user_id: connection.caller.userId || 0,
projectCategory: isStudio ? helper.studio.category : helper.software.category
},
execQuery = function (name) {
return function (cbx) {
api.dataAccess.executeQuery(name, sqlParams, dbConnectionMap, cbx);
};
};
async.waterfall([
function (cb) {
//whole validation is here
validateChallenge(api, connection, dbConnectionMap, challengeId, isStudio, cb);
}, function (cb) {
async.parallel({
detail: function (cbx) {
api.dataAccess.executeQuery('get_checkpoint_detail', sqlParams, dbConnectionMap, cbx);
},
feedback: function (cbx) {
api.dataAccess.executeQuery(feedbackQueryName, sqlParams, dbConnectionMap, cbx);
}
detail: execQuery('get_checkpoint_detail'),
feedback: execQuery(feedbackQueryName)
}, cb);
}, function (res, cb) {
var generalFeedback = "", hasGeneralFeedback = true;
Expand All @@ -1198,6 +1201,24 @@ var getCheckpoint = function (api, connection, dbConnectionMap, isStudio, next)
};
});
result.generalFeedback = generalFeedback;

if (isStudio) {
async.parallel({
numberOfSubmissions: execQuery("get_studio_challenge_checkpoints_submissions_count"),
numberOfPassedScreeningSubmissions: execQuery("get_studio_challenge_checkpoints_passed_screening_submissions_count"),
numberOfPassedScreeningUniqueSubmitters: execQuery('get_studio_challenge_checkpoints_passed_screening_submitters_count'),
numberOfUniqueSubmitters: execQuery('get_studio_challenge_checkpoints_submitters_count')
}, cb);
} else {
cb(null, cb);
}
}, function (res, cb) {
if (isStudio) {
result.numberOfSubmissions = res.numberOfSubmissions[0].total;
result.numberOfPassedScreeningSubmissions = res.numberOfPassedScreeningSubmissions[0].total;
result.numberOfPassedScreeningUniqueSubmitters = res.numberOfPassedScreeningUniqueSubmitters[0].total;
result.numberOfUniqueSubmitters = res.numberOfUniqueSubmitters[0].total;
}
cb();
}
], function (err) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
select
COUNT(*) AS total
from upload u,
submission s
where u.project_id = @challengeId@
and s.upload_id = u.upload_id
and s.submission_type_id = 3
and s.submission_status_id in (1,4)
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name" : "get_studio_challenge_checkpoints_passed_screening_submissions_count",
"db" : "tcs_catalog",
"sqlfile" : "get_studio_challenge_checkpoints_passed_screening_submissions_count"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
select
COUNT (DISTINCT ri.value) AS total
from upload u,
submission s,
resource_info ri
where u.project_id = @challengeId@
and s.upload_id = u.upload_id
and s.submission_type_id = 3
and s.submission_status_id in (1,4)
and ri.resource_id = u.resource_id
and ri.resource_info_type_id = 2
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name" : "get_studio_challenge_checkpoints_passed_screening_submitters_count",
"db" : "tcs_catalog",
"sqlfile" : "get_studio_challenge_checkpoints_passed_screening_submitters_count"
}
7 changes: 7 additions & 0 deletions queries/get_studio_challenge_checkpoints_submissions_count
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
select
COUNT(*) AS total
from upload u,
submission s
where u.project_id = @challengeId@
and s.upload_id = u.upload_id
and s.submission_type_id = 3
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name" : "get_studio_challenge_checkpoints_submissions_count",
"db" : "tcs_catalog",
"sqlfile" : "get_studio_challenge_checkpoints_submissions_count"
}
10 changes: 10 additions & 0 deletions queries/get_studio_challenge_checkpoints_submitters_count
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
select
COUNT (DISTINCT ri.value) AS total
from upload u,
submission s,
resource_info ri
where u.project_id = @challengeId@
and s.upload_id = u.upload_id
and s.submission_type_id = 3
and ri.resource_id = u.resource_id
and ri.resource_info_type_id = 2
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"name" : "get_studio_challenge_checkpoints_submitters_count",
"db" : "tcs_catalog",
"sqlfile" : "get_studio_challenge_checkpoints_submitters_count"
}
3 changes: 2 additions & 1 deletion test/sqls/checkpoint/tcs_catalog__clean
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ DELETE FROM review WHERE submission_id >= 2001 AND submission_id <= 5000;
DELETE FROM submission WHERE submission_id >= 2001 AND submission_id <= 5000;
DELETE FROM prize WHERE prize_id >= 2001 AND prize_id <= 5000;
DELETE FROM upload WHERE project_id >= 2001 AND project_id <= 5000;
DELETE FROM resource_info WHERE resource_id >= 2001 AND resource_id <= 5000;
DELETE FROM resource WHERE project_id >= 2001 AND project_id <= 5000;
DELETE FROM project_phase WHERE project_id >= 2001 AND project_id <= 5000;
DELETE FROM project WHERE project_id >= 2001 AND project_id <= 5000;
DELETE FROM project_studio_specification WHERE project_studio_spec_id >= 2001 AND project_studio_spec_id <= 5000;
DELETE user_group_xref WHERE user_group_id IN (2001, 2002);
DELETE group_contest_eligibility WHERE contest_eligibility_id IN (1000, 1001);
DELETE contest_eligibility WHERE contest_eligibility_id IN (1000, 1001);
DELETE security_groups WHERE group_id IN (2001, 2002);
DELETE security_groups WHERE group_id IN (2001, 2002);
8 changes: 8 additions & 0 deletions test/sqls/checkpoint/tcs_catalog__insert_test_data.part1
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ VALUES(2002, 2002, 17, 3, current, current + 2 units day, current + 2 units day,

INSERT INTO resource(resource_id, resource_role_id, project_id, create_user, create_date, modify_user, modify_date) VALUES(2001, 20, 2001, 132456, current, 132456, current);
INSERT INTO resource(resource_id, resource_role_id, project_id, create_user, create_date, modify_user, modify_date) VALUES(2002, 20, 2002, 132456, current, 132456, current);
INSERT INTO resource_info (resource_id, resource_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (2001, 2, '132457', 132457, CURRENT, 132457, CURRENT);
INSERT INTO resource_info (resource_id, resource_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (2002, 2, '132456', 132456, CURRENT, 132456, CURRENT);

INSERT INTO comp_milestone_feedback(comp_milestone_feedback_id, project_id, feedback) VALUES(2001, 2001, 'General feedback for challenge 2001');
INSERT INTO comp_milestone_feedback(comp_milestone_feedback_id, project_id, feedback) VALUES(2002, 2002, 'General feedback for challenge 2002');
Expand Down Expand Up @@ -86,3 +88,9 @@ INSERT INTO review_item(review_item_id, review_id, scorecard_question_id, answer
INSERT INTO review_item_comment(review_item_comment_id, resource_id, review_item_id, comment_type_id, content, sort, create_user, create_date, modify_user, modify_date) VALUES(2010, 2002, 2010, 11, 'Checkpoint review for submission 2010', 1, 132456, current, 132456, current);


INSERT INTO upload(upload_id, project_id, resource_id, upload_type_id, upload_status_id, parameter, create_user, create_date, modify_user, modify_date) VALUES(2011, 2002, 2001, 1, 1, 'test', 132456, CURRENT, 132456, CURRENT);
INSERT INTO prize(prize_id, project_id, place, prize_amount, prize_type_id, number_of_submissions, create_user, create_date, modify_user, modify_date) VALUES(2011, 2002, 6, 200, 14, 1, 'heffan', CURRENT, 'heffan', CURRENT);
INSERT INTO submission(submission_id, upload_id, submission_status_id, placement, submission_type_id, prize_id, create_user, create_date, modify_user, modify_date) VALUES(2011, 2011, 6, 2, 3, 2010, 132456, CURRENT, 132456, CURRENT);
INSERT INTO review(review_id, resource_id, submission_id, project_phase_id, scorecard_id, committed, create_user, create_date, modify_user, modify_date) VALUES(2011, 2002, 2011, 2002, 30000417, 1, 132456, current, 132456, current);
INSERT INTO review_item(review_item_id, review_id, scorecard_question_id, answer, sort, create_user, create_date, modify_user, modify_date) VALUES(2011, 2010, 30003113, 'test', 1, 132456, current, 132456, current);
INSERT INTO review_item_comment(review_item_comment_id, resource_id, review_item_id, comment_type_id, content, sort, create_user, create_date, modify_user, modify_date) VALUES(2011, 2002, 2011, 11, 'Checkpoint review for submission 2010', 1, 132456, current, 132456, current);
2 changes: 2 additions & 0 deletions test/sqls/checkpoint/tcs_catalog__insert_test_data.part2
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ VALUES(3002, 3002, 17, 3, current, current + 2 units day, current + 2 units day,

INSERT INTO resource(resource_id, resource_role_id, project_id, create_user, create_date, modify_user, modify_date) VALUES(3001, 20, 3001, 132456, current, 132456, current);
INSERT INTO resource(resource_id, resource_role_id, project_id, create_user, create_date, modify_user, modify_date) VALUES(3002, 20, 3002, 132456, current, 132456, current);
INSERT INTO resource_info (resource_id, resource_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (3001, 2, '132457', 132457, CURRENT, 132457, CURRENT);
INSERT INTO resource_info (resource_id, resource_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (3002, 2, '132456', 132456, CURRENT, 132456, CURRENT);

INSERT INTO comp_milestone_feedback(comp_milestone_feedback_id, project_id, feedback) VALUES(3001, 3001, 'General feedback for challenge 3001');
INSERT INTO comp_milestone_feedback(comp_milestone_feedback_id, project_id, feedback) VALUES(3002, 3002, 'General feedback for challenge 3002');
Expand Down
6 changes: 5 additions & 1 deletion test/sqls/checkpoint/tcs_catalog__insert_test_data.part3
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ INSERT INTO resource(resource_id, resource_role_id, project_id, create_user, cre
INSERT INTO resource(resource_id, resource_role_id, project_id, create_user, create_date, modify_user, modify_date) VALUES(4002, 20, 4002, 132456, current, 132456, current);
INSERT INTO resource(resource_id, resource_role_id, project_id, create_user, create_date, modify_user, modify_date) VALUES(4003, 20, 4003, 132456, current, 132456, current);
INSERT INTO resource(resource_id, resource_role_id, project_id, create_user, create_date, modify_user, modify_date) VALUES(4004, 20, 4004, 132456, current, 132456, current);
INSERT INTO resource_info (resource_id, resource_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (4001, 2, '132457', 132457, CURRENT, 132457, CURRENT);
INSERT INTO resource_info (resource_id, resource_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (4002, 2, '132456', 132456, CURRENT, 132456, CURRENT);
INSERT INTO resource_info (resource_id, resource_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (4003, 2, '132457', 132457, CURRENT, 132457, CURRENT);
INSERT INTO resource_info (resource_id, resource_info_type_id, value, create_user, create_date, modify_user, modify_date) VALUES (4004, 2, '132456', 132456, CURRENT, 132456, CURRENT);

INSERT INTO comp_milestone_feedback(comp_milestone_feedback_id, project_id, feedback) VALUES(4003, 4003, 'General feedback for challenge 4003');
INSERT INTO comp_milestone_feedback(comp_milestone_feedback_id, project_id, feedback) VALUES(4004, 4004, 'General feedback for challenge 4004');
Expand All @@ -40,4 +44,4 @@ INSERT INTO review_item_comment(review_item_comment_id, resource_id, review_item
INSERT INTO project_studio_specification(project_studio_spec_id, general_feedback, create_user, create_date, modify_user, modify_date) VALUES(4011, null, 132456, current, 132456, current);

INSERT INTO project(project_id, project_status_id, project_category_id, tc_direct_project_id, create_user, create_date, modify_user, modify_date) VALUES(4010, 2, 14, 132456, 4010, current, 132456, current);
INSERT INTO project(project_id, project_status_id, project_category_id, tc_direct_project_id, project_studio_spec_id, create_user, create_date, modify_user, modify_date) VALUES(4011, 2, 17, 132456, 4011, 4011, current, 132456, current);
INSERT INTO project(project_id, project_status_id, project_category_id, tc_direct_project_id, project_studio_spec_id, create_user, create_date, modify_user, modify_date) VALUES(4011, 2, 17, 132456, 4011, 4011, current, 132456, current);
32 changes: 20 additions & 12 deletions test/test_files/expected_checkpoint_studio.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,33 @@
{
"checkpointResults": [
{
"feedback": "Checkpoint review for submission 2006",
"submissionId": 2006
"submissionId": 2006,
"feedback": "Checkpoint review for submission 2006"
},
{
"feedback": "Checkpoint review for submission 2007",
"submissionId": 2007
"submissionId": 2007,
"feedback": "Checkpoint review for submission 2007"
},
{
"feedback": "Checkpoint review for submission 2008",
"submissionId": 2008
"submissionId": 2008,
"feedback": "Checkpoint review for submission 2008"
},
{
"feedback": "Checkpoint review for submission 2009",
"submissionId": 2009
"submissionId": 2009,
"feedback": "Checkpoint review for submission 2009"
},
{
"feedback": "Checkpoint review for submission 2010",
"submissionId": 2010
"submissionId": 2010,
"feedback": "Checkpoint review for submission 2010"
},
{
"submissionId": 2010,
"feedback": "Checkpoint review for submission 2010"
}
],
"generalFeedback": "general feedback for challenge 2002"
}
"generalFeedback": "general feedback for challenge 2002",
"numberOfSubmissions": 6,
"numberOfPassedScreeningSubmissions": 5,
"numberOfPassedScreeningUniqueSubmitters": 1,
"numberOfUniqueSubmitters": 2
}
8 changes: 6 additions & 2 deletions test/test_files/expected_checkpoint_studio_2.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,9 @@
"submissionId": 4006
}
],
"generalFeedback": ""
}
"generalFeedback": "",
"numberOfSubmissions": 1,
"numberOfPassedScreeningSubmissions": 1,
"numberOfPassedScreeningUniqueSubmitters": 1,
"numberOfUniqueSubmitters": 1
}
8 changes: 6 additions & 2 deletions test/test_files/expected_checkpoint_studio_3.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
{
"checkpointResults": [],
"generalFeedback": "general feedback for challenge 4004"
}
"generalFeedback": "general feedback for challenge 4004",
"numberOfSubmissions": 0,
"numberOfPassedScreeningSubmissions": 0,
"numberOfPassedScreeningUniqueSubmitters": 0,
"numberOfUniqueSubmitters": 0
}
28 changes: 16 additions & 12 deletions test/test_files/expected_checkpoint_studio_priv.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,29 @@
{
"checkpointResults": [
{
"feedback": "Checkpoint review for submission 3006",
"submissionId": 3006
"submissionId": 3006,
"feedback": "Checkpoint review for submission 3006"
},
{
"feedback": "Checkpoint review for submission 3007",
"submissionId": 3007
"submissionId": 3007,
"feedback": "Checkpoint review for submission 3007"
},
{
"feedback": "Checkpoint review for submission 3008",
"submissionId": 3008
"submissionId": 3008,
"feedback": "Checkpoint review for submission 3008"
},
{
"feedback": "Checkpoint review for submission 3009",
"submissionId": 3009
"submissionId": 3009,
"feedback": "Checkpoint review for submission 3009"
},
{
"feedback": "Checkpoint review for submission 3010",
"submissionId": 3010
"submissionId": 3010,
"feedback": "Checkpoint review for submission 3010"
}
],
"generalFeedback": "general feedback for challenge 3002"
}
"generalFeedback": "general feedback for challenge 3002",
"numberOfSubmissions": 5,
"numberOfPassedScreeningSubmissions": 5,
"numberOfPassedScreeningUniqueSubmitters": 1,
"numberOfUniqueSubmitters": 1
}