File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -170,6 +170,22 @@ async def submit(self, request: Request) -> JSONResponse:
170
170
else :
171
171
return JSONResponse ({"error" : "missing_discord_data" }, status_code = 400 )
172
172
173
+ if constants .FormFeatures .UNIQUE_RESPONDER .value in form .features :
174
+ if not request .user .is_authenticated :
175
+ return JSONResponse ({"error" : "missing_discord_data" }, status_code = 400 )
176
+
177
+ existing_response = await request .state .db .responses .find_one (
178
+ {
179
+ "form_id" : form .id ,
180
+ "user.id" : request .user .payload ["id" ],
181
+ },
182
+ )
183
+ if existing_response :
184
+ return JSONResponse (
185
+ {"error" : "unique_responder" , "message" : "You have already submitted this form." },
186
+ status_code = 400 ,
187
+ )
188
+
173
189
missing_fields = []
174
190
for question in form .questions :
175
191
if question .id not in response ["response" ]:
You can’t perform that action at this time.
0 commit comments