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):
|
async def pkgbase_flag_comment(request: Request, name: str):
|
||||||
pkgbase = get_pkg_or_base(name, PackageBase)
|
pkgbase = get_pkg_or_base(name, PackageBase)
|
||||||
|
|
||||||
if pkgbase.Flagger is None:
|
if pkgbase.OutOfDateTS is None:
|
||||||
return RedirectResponse(f"/pkgbase/{name}",
|
return RedirectResponse(f"/pkgbase/{name}",
|
||||||
status_code=HTTPStatus.SEE_OTHER)
|
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)
|
pkgbase = get_pkg_or_base(name, PackageBase)
|
||||||
|
|
||||||
has_cred = request.user.has_credential(creds.PKGBASE_FLAG)
|
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}",
|
return RedirectResponse(f"/pkgbase/{name}",
|
||||||
status_code=HTTPStatus.SEE_OTHER)
|
status_code=HTTPStatus.SEE_OTHER)
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ async def pkgbase_flag_post(request: Request, name: str,
|
||||||
status_code=HTTPStatus.BAD_REQUEST)
|
status_code=HTTPStatus.BAD_REQUEST)
|
||||||
|
|
||||||
has_cred = request.user.has_credential(creds.PKGBASE_FLAG)
|
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()
|
now = time.utcnow()
|
||||||
with db.begin():
|
with db.begin():
|
||||||
pkgbase.OutOfDateTS = now
|
pkgbase.OutOfDateTS = now
|
||||||
|
|
|
@ -804,7 +804,7 @@ def test_pkgbase_flag(client: TestClient, user: User, maintainer: User,
|
||||||
pkgbase = package.PackageBase
|
pkgbase = package.PackageBase
|
||||||
|
|
||||||
# We shouldn't have flagged the package yet; assert so.
|
# 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")}
|
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||||
endpoint = f"/pkgbase/{pkgbase.Name}/flag"
|
endpoint = f"/pkgbase/{pkgbase.Name}/flag"
|
||||||
|
|
Loading…
Add table
Reference in a new issue