diff --git a/backend/siarnaq/api/compete/test_views.py b/backend/siarnaq/api/compete/test_views.py index f4aa62ce9..d3e53b1a0 100644 --- a/backend/siarnaq/api/compete/test_views.py +++ b/backend/siarnaq/api/compete/test_views.py @@ -1,6 +1,7 @@ import io import random from datetime import timedelta +from unittest import skip from unittest.mock import mock_open, patch from django.test import TestCase, override_settings @@ -1246,6 +1247,7 @@ def test_my_none(self): self.assertEqual(len(response.json()["results"]), 1) +@skip("Skipping tests for forcing scrimmages against only reference player") class ScrimmageRequestViewSetTestCase(APITransactionTestCase): """Test suite for the Scrimmage Requests API.""" diff --git a/backend/siarnaq/api/compete/views.py b/backend/siarnaq/api/compete/views.py index 9dcd3db62..1ac26ddaa 100644 --- a/backend/siarnaq/api/compete/views.py +++ b/backend/siarnaq/api/compete/views.py @@ -5,6 +5,7 @@ from django.conf import settings from django.db import NotSupportedError, transaction from django.db.models import Exists, OuterRef, Q, Subquery +from django.http import HttpResponseForbidden from django.utils import timezone from drf_spectacular.utils import OpenApiParameter, OpenApiResponse, extend_schema from rest_framework import mixins, status, viewsets @@ -543,6 +544,9 @@ def create(self, request, *, episode_id): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) + if serializer.validated_data["requested_to"].pk != 842: + return HttpResponseForbidden() + if serializer.validated_data["is_ranked"]: active_statuses = { SaturnStatus.CREATED, diff --git a/frontend/src/components/scrimmageRequestForm.js b/frontend/src/components/scrimmageRequestForm.js index 61a7d7665..6b39b8bf5 100644 --- a/frontend/src/components/scrimmageRequestForm.js +++ b/frontend/src/components/scrimmageRequestForm.js @@ -171,6 +171,12 @@ class ScrimmageRequestForm extends Component {
+

+ Note: only scrimmage requests against Reference Player are + allowed for now. This restriction is to enable our MIT class's + students to submit their bots to pass the class, and will be + removed after Friday. +