Add support for voting on Question

This commit is contained in:
Thomas Sileo 2022-07-23 19:02:06 +02:00
parent 4046fa0506
commit d67a44bb59
8 changed files with 187 additions and 6 deletions

View file

@ -6,6 +6,7 @@ from fastapi import Request
from fastapi import UploadFile
from fastapi.exceptions import HTTPException
from fastapi.responses import RedirectResponse
from loguru import logger
from sqlalchemy import func
from sqlalchemy import select
from sqlalchemy.orm import joinedload
@ -683,6 +684,26 @@ async def admin_actions_new(
)
@router.post("/actions/vote")
async def admin_actions_vote(
request: Request,
redirect_url: str = Form(),
in_reply_to: str = Form(),
csrf_check: None = Depends(verify_csrf_token),
db_session: AsyncSession = Depends(get_db_session),
) -> RedirectResponse:
form_data = await request.form()
names = form_data.getlist("name")
logger.info(f"{names=}")
for name in names:
await boxes.send_vote(
db_session,
in_reply_to=in_reply_to,
name=name,
)
return RedirectResponse(redirect_url, status_code=302)
@unauthenticated_router.get("/login")
async def login(
request: Request,