Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions src/elections/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -275,15 +275,25 @@
"/{election_name}",
description="Deletes an election from the database. Returns whether the election exists after deletion.",
response_model=SuccessResponse,
responses={401: {"description": "Need to be logged in as an admin.", "model": DetailModel}},
responses={
401: {"description": "Need to be logged in as an admin.", "model": DetailModel},
409: {"description": "Election is still referenced by nominee applications.", "model": DetailModel}
},
operation_id="delete_election",
dependencies=[Depends(perm_election)],
)
async def delete_election(db_session: database.DBSession, election_name: str):
slugified_name = slugify(election_name)

existing_applications = await candidates.crud.get_all_candidates_in_election(db_session, slugified_name)
if existing_applications:

Check failure on line 289 in src/elections/urls.py

View workflow job for this annotation

GitHub Actions / ruff

ruff (W291)

src/elections/urls.py:289:30: W291 Trailing whitespace help: Remove trailing whitespace
raise HTTPException(
status_code=status.HTTP_409_CONFLICT,
detail=f"{election_name} is still referenced by nominee applications.",
)

Check failure on line 294 in src/elections/urls.py

View workflow job for this annotation

GitHub Actions / ruff

ruff (W293)

src/elections/urls.py:294:1: W293 Blank line contains whitespace help: Remove whitespace from blank line
await elections.crud.delete_election(db_session, slugified_name)
await db_session.commit()

Check failure on line 297 in src/elections/urls.py

View workflow job for this annotation

GitHub Actions / ruff

ruff (W293)

src/elections/urls.py:297:1: W293 Blank line contains whitespace help: Remove whitespace from blank line
old_election = await elections.crud.get_election(db_session, slugified_name)
return JSONResponse({"success": old_election is None})
Loading