Skip to content

Commit 3dfa74c

Browse files
committed
fix contest post and put username check
1 parent beb6d20 commit 3dfa74c

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

contest/views/admin.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ def post(self, request):
3131
data["created_by"] = request.user
3232
if "contest_admin" not in data:
3333
data["contest_admin"] = list
34-
data["contest_admin"].append(str(request.user.id))
34+
for user_name in data["contest_admin"]:
35+
if not User.objects.filter(username=user_name).exists():
36+
return self.error(f"User:{user_name} not exist")
37+
# data["contest_admin"].append(str(request.user.id))
3538
if data["end_time"] <= data["start_time"]:
3639
return self.error("Start time must occur earlier than end time")
3740
if data.get("password") and data["password"] == "":
@@ -56,9 +59,9 @@ def put(self, request):
5659
data["end_time"] = dateutil.parser.parse(data["end_time"])
5760

5861
if data["contest_admin"] and request.user == contest.created_by:
59-
for user_id in data["contest_admin"]:
60-
if not User.objects.filter(id=int(user_id)).exists():
61-
return self.error(f"User:{user_id} not exist")
62+
for user_name in data["contest_admin"]:
63+
if not User.objects.filter(username=user_name).exists():
64+
return self.error(f"User:{user_name} not exist")
6265
else:
6366
data["contest_admin"] = contest.contest_admin
6467

@@ -212,4 +215,4 @@ def get(self, request):
212215
resp = FileResponse(open(zip_path, "rb"))
213216
resp["Content-Type"] = "application/zip"
214217
resp["Content-Disposition"] = f"attachment;filename={os.path.basename(zip_path)}"
215-
return resp
218+
return resp

0 commit comments

Comments
 (0)