mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
fix(templates): hide non-actionable links when not logged in
A non-logged in user cannot vote/enable notifications or submit a request so hide these links.
This commit is contained in:
parent
a16fac9b95
commit
d393ed2352
2 changed files with 73 additions and 66 deletions
|
@ -24,71 +24,73 @@
|
||||||
{{ "Search wiki" | tr }}
|
{{ "Search wiki" | tr }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
{% if not out_of_date %}
|
{% if request.user.is_authenticated() %}
|
||||||
|
{% if not out_of_date %}
|
||||||
|
<li>
|
||||||
|
<a href="/pkgbase/{{ pkgbase.Name }}/flag">
|
||||||
|
{{ "Flag package out-of-date" | tr }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% else %}
|
||||||
|
<li>
|
||||||
|
<span class="flagged">
|
||||||
|
<a href="/pkgbase/{{ pkgbase.Name }}/flag-comment">
|
||||||
|
{{
|
||||||
|
"Flagged out-of-date (%s)"
|
||||||
|
| tr | format(date_strftime(pkgbase.OutOfDateTS, "%Y-%m-%d"))
|
||||||
|
}}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
{% if request.user.has_credential(creds.PKGBASE_UNFLAG, approved=unflaggers) %}
|
||||||
|
<li>
|
||||||
|
<form action="/pkgbase/{{ pkgbase.Name }}/unflag" method="post">
|
||||||
|
<input class="button text-button"
|
||||||
|
type="submit"
|
||||||
|
name="do_UnFlag"
|
||||||
|
value="{{ 'Unflag package' | tr }}"
|
||||||
|
/>
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
<li>
|
<li>
|
||||||
<a href="/pkgbase/{{ pkgbase.Name }}/flag">
|
{% if not voted %}
|
||||||
{{ "Flag package out-of-date" | tr }}
|
<form action="/pkgbase/{{ pkgbase.Name }}/vote" method="post">
|
||||||
</a>
|
<input type="submit"
|
||||||
</li>
|
class="button text-button"
|
||||||
{% else %}
|
name="do_Vote"
|
||||||
<li>
|
value="{{ 'Vote for this package' | tr }}" />
|
||||||
<span class="flagged">
|
|
||||||
<a href="/pkgbase/{{ pkgbase.Name }}/flag-comment">
|
|
||||||
{{
|
|
||||||
"Flagged out-of-date (%s)"
|
|
||||||
| tr | format(date_strftime(pkgbase.OutOfDateTS, "%Y-%m-%d"))
|
|
||||||
}}
|
|
||||||
</a>
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
{% if request.user.has_credential(creds.PKGBASE_UNFLAG, approved=unflaggers) %}
|
|
||||||
<li>
|
|
||||||
<form action="/pkgbase/{{ pkgbase.Name }}/unflag" method="post">
|
|
||||||
<input class="button text-button"
|
|
||||||
type="submit"
|
|
||||||
name="do_UnFlag"
|
|
||||||
value="{{ 'Unflag package' | tr }}"
|
|
||||||
/>
|
|
||||||
</form>
|
</form>
|
||||||
|
{% else %}
|
||||||
|
<form action="/pkgbase/{{ pkgbase.Name }}/unvote" method="post">
|
||||||
|
<input type="submit"
|
||||||
|
class="button text-button"
|
||||||
|
name="do_UnVote"
|
||||||
|
value="{{ 'Remove vote' | tr }}" />
|
||||||
|
</form>
|
||||||
|
{% endif %}
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
{% if notified %}
|
||||||
|
<form action="/pkgbase/{{ pkgbase.Name }}/unnotify" method="post">
|
||||||
|
<input type="submit"
|
||||||
|
class="button text-button"
|
||||||
|
name="do_UnNotify"
|
||||||
|
value="{{ 'Disable notifications' | tr }}"
|
||||||
|
/>
|
||||||
|
</form>
|
||||||
|
{% else %}
|
||||||
|
<form action="/pkgbase/{{ pkgbase.Name }}/notify" method="post">
|
||||||
|
<input type="submit"
|
||||||
|
class="button text-button"
|
||||||
|
name="do_Notify"
|
||||||
|
value="{{ 'Enable notifications' | tr }}"
|
||||||
|
/>
|
||||||
|
</form>
|
||||||
|
{% endif %}
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li>
|
|
||||||
{% if not voted %}
|
|
||||||
<form action="/pkgbase/{{ pkgbase.Name }}/vote" method="post">
|
|
||||||
<input type="submit"
|
|
||||||
class="button text-button"
|
|
||||||
name="do_Vote"
|
|
||||||
value="{{ 'Vote for this package' | tr }}" />
|
|
||||||
</form>
|
|
||||||
{% else %}
|
|
||||||
<form action="/pkgbase/{{ pkgbase.Name }}/unvote" method="post">
|
|
||||||
<input type="submit"
|
|
||||||
class="button text-button"
|
|
||||||
name="do_UnVote"
|
|
||||||
value="{{ 'Remove vote' | tr }}" />
|
|
||||||
</form>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
{% if notified %}
|
|
||||||
<form action="/pkgbase/{{ pkgbase.Name }}/unnotify" method="post">
|
|
||||||
<input type="submit"
|
|
||||||
class="button text-button"
|
|
||||||
name="do_UnNotify"
|
|
||||||
value="{{ 'Disable notifications' | tr }}"
|
|
||||||
/>
|
|
||||||
</form>
|
|
||||||
{% else %}
|
|
||||||
<form action="/pkgbase/{{ pkgbase.Name }}/notify" method="post">
|
|
||||||
<input type="submit"
|
|
||||||
class="button text-button"
|
|
||||||
name="do_Notify"
|
|
||||||
value="{{ 'Enable notifications' | tr }}"
|
|
||||||
/>
|
|
||||||
</form>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
|
||||||
{% if request.user.has_credential(creds.PKGBASE_EDIT_COMAINTAINERS, approved=[pkgbase.Maintainer]) %}
|
{% if request.user.has_credential(creds.PKGBASE_EDIT_COMAINTAINERS, approved=[pkgbase.Maintainer]) %}
|
||||||
<li>
|
<li>
|
||||||
<a href="/pkgbase/{{ pkgbase.Name }}/comaintainers">
|
<a href="/pkgbase/{{ pkgbase.Name }}/comaintainers">
|
||||||
|
@ -111,11 +113,13 @@
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<li>
|
{% if request.user.is_authenticated() %}
|
||||||
<a href="/pkgbase/{{ pkgbase.Name }}/request?{{ {'next': '/pkgbase/%s' | format(pkgbase.Name)} | urlencode }}">
|
<li>
|
||||||
{{ "Submit Request" | tr }}
|
<a href="/pkgbase/{{ pkgbase.Name }}/request?{{ {'next': '/pkgbase/%s' | format(pkgbase.Name)} | urlencode }}">
|
||||||
</a>
|
{{ "Submit Request" | tr }}
|
||||||
</li>
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endif %}
|
||||||
{% if request.user.has_credential(creds.PKGBASE_DELETE) %}
|
{% if request.user.has_credential(creds.PKGBASE_DELETE) %}
|
||||||
<li>
|
<li>
|
||||||
<a href="/pkgbase/{{ pkgbase.Name }}/delete?next=/packages">
|
<a href="/pkgbase/{{ pkgbase.Name }}/delete?next=/packages">
|
||||||
|
|
|
@ -507,7 +507,9 @@ def test_package_requests_display(
|
||||||
client: TestClient, user: User, package: Package, pkgreq: PackageRequest
|
client: TestClient, user: User, package: Package, pkgreq: PackageRequest
|
||||||
):
|
):
|
||||||
# Test that a single request displays "1 pending request".
|
# Test that a single request displays "1 pending request".
|
||||||
|
cookies = {"AURSID": user.login(Request(), "testPassword")}
|
||||||
with client as request:
|
with client as request:
|
||||||
|
request.cookies = cookies
|
||||||
resp = request.get(package_endpoint(package))
|
resp = request.get(package_endpoint(package))
|
||||||
assert resp.status_code == int(HTTPStatus.OK)
|
assert resp.status_code == int(HTTPStatus.OK)
|
||||||
|
|
||||||
|
@ -530,6 +532,7 @@ def test_package_requests_display(
|
||||||
|
|
||||||
# Test that a two requests display "2 pending requests".
|
# Test that a two requests display "2 pending requests".
|
||||||
with client as request:
|
with client as request:
|
||||||
|
request.cookies = cookies
|
||||||
resp = request.get(package_endpoint(package))
|
resp = request.get(package_endpoint(package))
|
||||||
assert resp.status_code == int(HTTPStatus.OK)
|
assert resp.status_code == int(HTTPStatus.OK)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue