Skip to content

Commit abe7df6

Browse files
authored
Merge pull request #2409 from mhikeo/issues/mhikeo/2391
Fix for Issue #2391
2 parents 80bda72 + a851467 commit abe7df6

File tree

1 file changed

+40
-4
lines changed
  • src/shared/containers/challenge-listing/Listing

1 file changed

+40
-4
lines changed

src/shared/containers/challenge-listing/Listing/index.jsx

+40-4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,20 @@ let mounted = false;
3434

3535
const SEO_PAGE_TITLE = 'Topcoder Challenges';
3636

37+
const DEVELOP_TRACK_ONLY = ['UI_PROTOTYPE_COMPETITION', 'ASSEMBLY_COMPETITION', 'FIRST_2_FINISH', 'BUG_HUNT', 'CODE',
38+
'DESIGN_FIRST_2_FINISH', 'DESIGN', 'DEVELOPMENT', 'ARCHITECTURE', 'CONCEPTUALIZATION',
39+
'TEST_SCENARIOS', 'CONTENT_CREATION', 'TEST_SUITES', 'SPECIFICATION', 'RIA_BUILD_COMPETITION',
40+
'WEB_DESIGNS', 'WIDGET_OR_MOBILE_SCREEN_DESIGN', 'APPLICATION_FRONT_END_DESIGN',
41+
'PRINT_OR_PRESENTATION', 'IDEA_GENERATION', 'WIREFRAMES', 'LOGO_DESIGN', 'BANNERS_OR_ICONS',
42+
'STUDIO_OTHER', 'FRONT_END_FLASH'];
43+
44+
const DESIGN_TRACK_ONLY = ['WEB_DESIGNS', 'WIDGET_OR_MOBILE_SCREEN_DESIGN', 'DESIGN_FIRST_2_FINISH',
45+
'APPLICATION_FRONT_END_DESIGN', 'PRINT_OR_PRESENTATION', 'IDEA_GENERATION', 'WIREFRAMES',
46+
'LOGO_DESIGN', 'BANNERS_OR_ICONS', 'STUDIO_OTHER', 'FRONT_END_FLASH'];
47+
48+
const DATASCIENCE_TRACK_ONLY = ['DEVELOP_MARATHON_MATCH', 'MARATHON_MATCH', 'SRM'];
49+
50+
3751
export class ListingContainer extends React.Component {
3852
componentDidMount() {
3953
const {
@@ -171,18 +185,40 @@ export class ListingContainer extends React.Component {
171185
selectedCommunityId,
172186
} = this.props;
173187

188+
const finalTracks = _.clone(filter.tracks) || {};
189+
let finalSubTracks = _.clone(filter.subtracks);
190+
174191
const f = {};
175192
if (!filter) {
176193
return f;
177194
}
195+
178196
if (filter.tags) {
179197
f.keywords = filter.tags.join(',');
180198
}
181-
if (filter.subtracks) {
182-
f.subTrack = filter.subtracks.join(',');
183-
}
199+
184200
if (filter.tracks) {
185-
const tracks = Object.keys(filter.tracks).map(t => t.toUpperCase());
201+
if (!(!filter.tracks.design && filter.tracks.develop && filter.tracks.data_science)) {
202+
finalSubTracks = [];
203+
}
204+
205+
if (filter.tracks.design) {
206+
finalSubTracks = _.concat(finalSubTracks, DESIGN_TRACK_ONLY);
207+
}
208+
209+
if (filter.tracks.develop && !filter.tracks.data_science) {
210+
finalSubTracks = _.concat(finalSubTracks, DEVELOP_TRACK_ONLY);
211+
} else if (!filter.tracks.develop && filter.tracks.data_science) {
212+
finalTracks.develop = true;
213+
finalSubTracks = _.concat(finalSubTracks, DATASCIENCE_TRACK_ONLY);
214+
}
215+
}
216+
217+
if (finalSubTracks) {
218+
f.subTrack = finalSubTracks.join(',');
219+
}
220+
if (filter.tracks && finalTracks) {
221+
const tracks = Object.keys(finalTracks).map(t => t.toUpperCase());
186222
f.track = tracks.join(',');
187223
}
188224
if (filter.text) {

0 commit comments

Comments
 (0)