mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
fix(FastAPI): use popupdate when [un]voting
The `aurweb.scripts.popupdate` script is used to maintain the NumVotes and Popularity field. We could do the NumVotes change more simply; however, since this is already a long-term implementation, we're going to use it until we move scripts over to ORM. Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
01fb42c5d9
commit
63498f5edd
3 changed files with 47 additions and 10 deletions
|
@ -30,7 +30,7 @@ from aurweb.models.request_type import DELETION_ID, RequestType
|
|||
from aurweb.models.user import User
|
||||
from aurweb.packages.search import PackageSearch
|
||||
from aurweb.packages.util import get_pkg_or_base, get_pkgbase_comment, query_notified, query_voted
|
||||
from aurweb.scripts import notify
|
||||
from aurweb.scripts import notify, popupdate
|
||||
from aurweb.scripts.rendercomment import update_comment_render
|
||||
from aurweb.templates import make_context, render_raw_template, render_template
|
||||
|
||||
|
@ -858,6 +858,10 @@ async def pkgbase_vote(request: Request, name: str):
|
|||
PackageBase=pkgbase,
|
||||
VoteTS=now)
|
||||
|
||||
# Update NumVotes/Popularity.
|
||||
conn = db.ConnectionExecutor(db.get_engine().raw_connection())
|
||||
popupdate.run_single(conn, pkgbase)
|
||||
|
||||
return RedirectResponse(f"/pkgbase/{name}",
|
||||
status_code=int(HTTPStatus.SEE_OTHER))
|
||||
|
||||
|
@ -875,6 +879,10 @@ async def pkgbase_unvote(request: Request, name: str):
|
|||
with db.begin():
|
||||
db.session.delete(vote)
|
||||
|
||||
# Update NumVotes/Popularity.
|
||||
conn = db.ConnectionExecutor(db.get_engine().raw_connection())
|
||||
popupdate.run_single(conn, pkgbase)
|
||||
|
||||
return RedirectResponse(f"/pkgbase/{name}",
|
||||
status_code=int(HTTPStatus.SEE_OTHER))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue