mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
fix: depend on OutOfDateTS for flag state
It was found in the aur.al database that some records have a non-null flagger, but are not flagged. Using the flagger relationship, we were false redirecting away from the flag page. Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
a445a40bea
commit
7618101b1b
2 changed files with 4 additions and 4 deletions
|
@ -78,7 +78,7 @@ async def pkgbase_voters(request: Request, name: str) -> Response:
|
|||
async def pkgbase_flag_comment(request: Request, name: str):
|
||||
pkgbase = get_pkg_or_base(name, PackageBase)
|
||||
|
||||
if pkgbase.Flagger is None:
|
||||
if pkgbase.OutOfDateTS is None:
|
||||
return RedirectResponse(f"/pkgbase/{name}",
|
||||
status_code=HTTPStatus.SEE_OTHER)
|
||||
|
||||
|
@ -120,7 +120,7 @@ async def pkgbase_flag_get(request: Request, name: str):
|
|||
pkgbase = get_pkg_or_base(name, PackageBase)
|
||||
|
||||
has_cred = request.user.has_credential(creds.PKGBASE_FLAG)
|
||||
if not has_cred or pkgbase.Flagger is not None:
|
||||
if not has_cred or pkgbase.OutOfDateTS is not None:
|
||||
return RedirectResponse(f"/pkgbase/{name}",
|
||||
status_code=HTTPStatus.SEE_OTHER)
|
||||
|
||||
|
@ -144,7 +144,7 @@ async def pkgbase_flag_post(request: Request, name: str,
|
|||
status_code=HTTPStatus.BAD_REQUEST)
|
||||
|
||||
has_cred = request.user.has_credential(creds.PKGBASE_FLAG)
|
||||
if has_cred and not pkgbase.Flagger:
|
||||
if has_cred and not pkgbase.OutOfDateTS:
|
||||
now = time.utcnow()
|
||||
with db.begin():
|
||||
pkgbase.OutOfDateTS = now
|
||||
|
|
|
@ -804,7 +804,7 @@ def test_pkgbase_flag(client: TestClient, user: User, maintainer: User,
|
|||
pkgbase = package.PackageBase
|
||||
|
||||
# We shouldn't have flagged the package yet; assert so.
|
||||
assert pkgbase.Flagger is None
|
||||
assert pkgbase.OutOfDateTS is None
|
||||
|
||||
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||
endpoint = f"/pkgbase/{pkgbase.Name}/flag"
|
||||
|
|
Loading…
Add table
Reference in a new issue