Skip to content

Commit

Permalink
Add allowed submission fields from backend
Browse files Browse the repository at this point in the history
  • Loading branch information
Ram81 committed Oct 23, 2020
1 parent 89ee70c commit 175c4d6
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 2 deletions.
2 changes: 2 additions & 0 deletions apps/challenges/serializers.py
Expand Up @@ -96,6 +96,7 @@ class Meta:
"is_restricted_to_select_one_submission",
"submission_meta_attributes",
"is_partial_submission_evaluation_enabled",
"allowed_submission_file_types",
)


Expand Down Expand Up @@ -326,6 +327,7 @@ class Meta:
"submission_meta_attributes",
"is_partial_submission_evaluation_enabled",
"config_id",
"allowed_submission_file_types",
)


Expand Down
13 changes: 13 additions & 0 deletions frontend/src/js/controllers/challengeCtrl.js
Expand Up @@ -63,6 +63,8 @@
vm.team = {};
vm.isSubmissionUsingUrl = null;
vm.isRemoteChallenge = false;
vm.allowedSubmissionFileTypes = [];
vm.currentPhaseAllowedSubmissionFileTypes = '';

vm.filter_all_submission_by_team_name = '';
vm.filter_my_submission_by_team_name = '';
Expand Down Expand Up @@ -639,6 +641,14 @@
var data = {"phaseId":details.results[k].id, "attributes": null};
vm.submissionMetaAttributes.push(data);
}
if (details.results[k].allowed_submission_file_types != undefined || details.results[k].allowed_submission_file_types != null) {
var data = {"phaseId": details.results[k].id, "allowedSubmissionFileTypes": details.results[k].allowed_submission_file_types};
vm.allowedSubmissionFileTypes.push(data);
} else {
// Handle case for missing values
var data = {"phaseId": details.results[k].id, "allowedSubmissionFileTypes": ".json, .zip, .txt, .tsv, .gz, .csv, .h5, .npy"};
vm.allowedSubmissionFileTypes.push(data);
}
}
utilities.hideLoader();
},
Expand All @@ -656,6 +666,9 @@
vm.metaAttributesforCurrentSubmission = vm.submissionMetaAttributes.find(function(element){
return element["phaseId"] == phaseId;
}).attributes;
vm.currentPhaseAllowedSubmissionFileTypes = vm.allowedSubmissionFileTypes.find(function(element) {
return element["phaseId"] == phaseId;
}).allowedSubmissionFileTypes;
};

vm.clearMetaAttributeValues = function(){
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/views/web/challenge/submission.html
Expand Up @@ -227,7 +227,7 @@ <h5 class="w-300">Make Submission</h5>
<span>Upload file</span>
<input type="file" ngf-select ng-model="challenge.input_file"
name="challenge.input_file"
accept=".json, .zip, .txt, .tsv, .gz, .csv, .h5, .npy, .npz">
accept="{{challenge.currentPhaseAllowedSubmissionFileTypes}}">
</div>
<div class="file-path-wrapper">
<input class="file-path validate" type="text" readonly>
Expand Down
6 changes: 6 additions & 0 deletions tests/unit/challenges/test_serializers.py
Expand Up @@ -122,6 +122,7 @@ def setUp(self):
"environment_image": self.challenge_phase.environment_image,
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
}
self.challenge_phase_create_serializer = ChallengePhaseCreateSerializer(
instance=self.challenge_phase
Expand Down Expand Up @@ -150,6 +151,7 @@ def setUp(self):
"environment_image": self.challenge_phase.environment_image,
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
}
self.challenge_phase_create_serializer_without_max_submissions_per_month = ChallengePhaseCreateSerializer(
instance=self.challenge_phase
Expand Down Expand Up @@ -177,6 +179,7 @@ def setUp(self):
"slug": self.challenge_phase.slug,
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
}
self.challenge_phase_create_serializer_without_max_concurrent_submissions_allowed = ChallengePhaseCreateSerializer(
instance=self.challenge_phase
Expand Down Expand Up @@ -212,6 +215,7 @@ def test_challenge_phase_create_serializer(self):
"submission_meta_attributes",
"is_partial_submission_evaluation_enabled",
"config_id",
"allowed_submission_file_types",
]
),
)
Expand Down Expand Up @@ -292,6 +296,7 @@ def test_challenge_phase_create_serializer_wihout_max_submissions_per_month(
"submission_meta_attributes",
"is_partial_submission_evaluation_enabled",
"config_id",
"allowed_submission_file_types",
]
),
)
Expand Down Expand Up @@ -368,6 +373,7 @@ def test_challenge_phase_create_serializer_without_max_concurrent_submissions_al
"submission_meta_attributes",
"is_partial_submission_evaluation_enabled",
"config_id",
"allowed_submission_file_types"
]
),
)
Expand Down
14 changes: 13 additions & 1 deletion tests/unit/challenges/test_views.py
Expand Up @@ -1977,6 +1977,7 @@ def test_get_challenge_phase(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
},
{
"id": self.private_challenge_phase.id,
Expand All @@ -2001,6 +2002,7 @@ def test_get_challenge_phase(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
},
]

Expand Down Expand Up @@ -2033,6 +2035,7 @@ def test_get_challenge_phase_when_user_is_not_authenticated(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
}
]
self.client.force_authenticate(user=None)
Expand Down Expand Up @@ -2075,6 +2078,7 @@ def test_get_challenge_phase_when_user_is_host(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
},
{
"id": self.private_challenge_phase.id,
Expand All @@ -2099,6 +2103,7 @@ def test_get_challenge_phase_when_user_is_host(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
},
]

Expand Down Expand Up @@ -2445,6 +2450,7 @@ def test_get_particular_challenge_phase_if_user_is_participant(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
}
self.client.force_authenticate(user=self.participant_user)
response = self.client.get(self.url, {})
Expand Down Expand Up @@ -2479,7 +2485,8 @@ def test_get_particular_challenge_phase_if_user_is_challenge_host(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"config_id": None
"config_id": None,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types
}
self.client.force_authenticate(user=self.user)
response = self.client.get(self.url, {})
Expand Down Expand Up @@ -2538,6 +2545,7 @@ def test_update_challenge_phase_when_user_is_its_creator(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
}
response = self.client.put(
self.url, {"name": new_name, "description": new_description}
Expand Down Expand Up @@ -2635,6 +2643,7 @@ def test_particular_challenge_phase_partial_update(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
}
response = self.client.patch(self.url, self.partial_update_data)
self.assertEqual(response.data, expected)
Expand Down Expand Up @@ -4134,6 +4143,7 @@ def test_get_challenge_phase_by_pk(self):
"is_restricted_to_select_one_submission": self.challenge_phase.is_restricted_to_select_one_submission,
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
}
response = self.client.get(self.url, {})
self.assertEqual(response.data, expected)
Expand Down Expand Up @@ -4205,6 +4215,7 @@ def test_get_challenge_phases_by_challenge_pk(self):
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"config_id": None,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
},
{
"id": self.challenge_phase.id,
Expand Down Expand Up @@ -4234,6 +4245,7 @@ def test_get_challenge_phases_by_challenge_pk(self):
"submission_meta_attributes": None,
"is_partial_submission_evaluation_enabled": self.challenge_phase.is_partial_submission_evaluation_enabled,
"config_id": None,
"allowed_submission_file_types": self.challenge_phase.allowed_submission_file_types,
},
]
response = self.client.get(self.url, {})
Expand Down

0 comments on commit 175c4d6

Please sign in to comment.