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

Commit 5e785db

Browse files
committed
Merge pull request #419 from cloudspokes/SUP-420-filter-review
review type filtering
2 parents b7e440c + d16d9ea commit 5e785db

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

actions/challenges.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ var TECHNOLOGY_FILTER = ' AND EXISTS (SELECT DISTINCT 1 FROM comp_technology ct
133133
var PLATFORM_FILTER = ' AND EXISTS (SELECT 1 FROM project_platform pp WHERE pp.project_platform_id IN (@filter@) ' +
134134
'AND p.project_id = pp.project_id)';
135135

136+
/* Filter based on review type */
137+
var REVIEW_FILTER = ' AND EXISTS (SELECT 1 FROM project_info pi WHERE project_info_type_id = 79 AND value IN (@filter@) ' +
138+
'AND p.project_id = pi.project_id)';
139+
136140
/**
137141
* The challenge type filter for challenges api.
138142
* @since 1.30
@@ -176,7 +180,7 @@ var MY_CHALLENGES_FILTER = 'AND EXISTS ' +
176180
var ALLOWABLE_QUERY_PARAMETER = [
177181
"listType", "challengeType", "challengeName", "projectId", SORT_COLUMN,
178182
"sortOrder", "pageIndex", "pageSize", "prizeLowerBound", "prizeUpperBound", "cmcTaskId", 'communityId',
179-
"submissionEndFrom", "submissionEndTo", "technologies", "platforms"];
183+
"submissionEndFrom", "submissionEndTo", "technologies", "platforms", 'review'];
180184

181185
/**
182186
* Represents a list of valid query parameter for split challenges api.
@@ -185,7 +189,7 @@ var ALLOWABLE_QUERY_PARAMETER = [
185189
var SPLIT_API_ALLOWABLE_QUERY_PARAMETER = [
186190
"challengeType", "challengeName", "projectId", SORT_COLUMN,
187191
"sortOrder", "pageIndex", "pageSize", "prizeLowerBound", "prizeUpperBound", 'communityId',
188-
"submissionEndFrom", "submissionEndTo", 'type', 'platforms', 'technologies'];
192+
"submissionEndFrom", "submissionEndTo", 'type', 'platforms', 'technologies', 'review'];
189193

190194
/**
191195
* Represents a predefined list of valid sort column for active challenge.
@@ -763,7 +767,7 @@ var editSql = function (sql, template, content) {
763767
* @since 1.23
764768
*/
765769
var addFilter = function (sql, filter, isMyChallenges, helper, caller) {
766-
var platform, technology, challengeFilter, challengeType;
770+
var platform, technology, review, challengeFilter, challengeType;
767771
if (_.isDefined(filter.platforms)) {
768772
platform = filter.platforms.join(', ');
769773
sql.count = editSql(sql.count, PLATFORM_FILTER, platform);
@@ -781,6 +785,16 @@ var addFilter = function (sql, filter, isMyChallenges, helper, caller) {
781785
sql.count = editSql(sql.count, CHALLENGE_TYPE_FILTER, challengeType);
782786
sql.data = editSql(sql.data, CHALLENGE_TYPE_FILTER, challengeType);
783787
}
788+
789+
if (_.isDefined(filter.review)) {
790+
review = "'" + filter.review.toUpperCase().replace(/,/g, "','") + "'";
791+
}
792+
else {
793+
review = "'COMMUNITY','INTERNAL'";
794+
}
795+
796+
sql.count = editSql(sql.count, REVIEW_FILTER, review);
797+
sql.data = editSql(sql.data, REVIEW_FILTER, review);
784798

785799
if (isMyChallenges) {
786800
sql.count = editSql(sql.count, MY_CHALLENGES_FILTER, null);
@@ -876,7 +890,7 @@ var searchChallenges = function (api, connection, dbConnectionMap, community, ne
876890
query = connection.rawConnection.parsedURL.query,
877891
caller = connection.caller,
878892
copyToFilter = ["challengeType", "challengeName", "projectId", "prizeLowerBound",
879-
"prizeUpperBound", "cmcTaskId", 'communityId', "submissionEndFrom", "submissionEndTo", "technologies", "platforms"],
893+
"prizeUpperBound", "cmcTaskId", 'communityId', "submissionEndFrom", "submissionEndTo", "technologies", "platforms", "review"],
880894
sqlParams = {},
881895
filter = {},
882896
pageIndex,
@@ -3636,7 +3650,7 @@ var getChallenges = function (api, connection, listType, isMyChallenges, next) {
36363650
query = connection.rawConnection.parsedURL.query,
36373651
caller = connection.caller,
36383652
copyToFilter = ["challengeType", "challengeName", "projectId", "prizeLowerBound",
3639-
"prizeUpperBound", 'communityId', "submissionEndFrom", "submissionEndTo", 'type', 'technologies', 'platforms'],
3653+
"prizeUpperBound", 'communityId', "submissionEndFrom", "submissionEndTo", 'type', 'technologies', 'platforms', 'review'],
36403654
dbConnectionMap = connection.dbConnectionMap,
36413655
sqlParams = {},
36423656
filter = {},

0 commit comments

Comments
 (0)