diff --git a/aurweb/routers/accounts.py b/aurweb/routers/accounts.py index a9257d3d..4c4ce849 100644 --- a/aurweb/routers/accounts.py +++ b/aurweb/routers/accounts.py @@ -590,8 +590,8 @@ async def account(request: Request, username: str): return render_template(request, "account/show.html", context) -@router.get("/accounts/") -@auth_required(True, redirect="/accounts/") +@router.get("/accounts") +@auth_required(True, redirect="/accounts") @account_type_required({account_type.TRUSTED_USER, account_type.DEVELOPER, account_type.TRUSTED_USER_AND_DEV}) @@ -600,8 +600,8 @@ async def accounts(request: Request): return render_template(request, "account/search.html", context) -@router.post("/accounts/") -@auth_required(True, redirect="/accounts/") +@router.post("/accounts") +@auth_required(True, redirect="/accounts") @account_type_required({account_type.TRUSTED_USER, account_type.DEVELOPER, account_type.TRUSTED_USER_AND_DEV}) diff --git a/templates/account/search.html b/templates/account/search.html index 3f83d25b..d28d4169 100644 --- a/templates/account/search.html +++ b/templates/account/search.html @@ -6,7 +6,7 @@ {{ "Use this form to search existing accounts." | tr }}

-
+

diff --git a/templates/addvote.html b/templates/addvote.html index eebae06f..4d2b0292 100644 --- a/templates/addvote.html +++ b/templates/addvote.html @@ -8,7 +8,7 @@

{{ "Submit a proposal to vote on." | tr }}

- +

diff --git a/templates/login.html b/templates/login.html index 57b94c5c..2c028936 100644 --- a/templates/login.html +++ b/templates/login.html @@ -6,7 +6,7 @@

AUR {% trans %}Login{% endtrans %}

{% if request.url.scheme == "http" and config.getboolean("options", "disable_http_login") %} - {% set https_login = url_base.replace("http://", "https://") + "/login/" %} + {% set https_login = url_base.replace("http://", "https://") + "/login" %}

{{ "HTTP login is disabled. Please %sswitch to HTTPs%s if you want to login." | tr @@ -23,7 +23,7 @@ | format("%s" | format(request.user.Username)) | safe }} - [{% trans %}Logout{% endtrans %}] + [{% trans %}Logout{% endtrans %}]

{% else %} @@ -70,7 +70,7 @@

- + [{% trans %}Forgot Password{% endtrans %}] - +

@@ -59,7 +59,7 @@ -
+
diff --git a/templates/partials/archdev-navbar.html b/templates/partials/archdev-navbar.html index 86f368d0..072fa54d 100644 --- a/templates/partials/archdev-navbar.html +++ b/templates/partials/archdev-navbar.html @@ -5,16 +5,16 @@ {% else %}
  • AUR {% trans %}Home{% endtrans %}
  • {% endif %} -
  • {% trans %}Packages{% endtrans %}
  • +
  • {% trans %}Packages{% endtrans %}
  • {% if request.user.is_authenticated() %}
  • - + {% trans %}Requests{% endtrans %}
  • {% if request.user.is_trusted_user() or request.user.is_developer() %}
  • - + {% trans %}Accounts{% endtrans %}
  • @@ -32,7 +32,7 @@ {% endif %}
  • - + {% trans %}Logout{% endtrans %}
  • @@ -43,7 +43,7 @@
  • - + {% trans %}Login{% endtrans %}
  • diff --git a/templates/partials/head.html b/templates/partials/head.html index 9b438255..8bfde020 100644 --- a/templates/partials/head.html +++ b/templates/partials/head.html @@ -10,7 +10,7 @@ + title="Newest Packages RSS" href="/rss"> diff --git a/templates/partials/packages/actions.html b/templates/partials/packages/actions.html index 2a4efb5d..486356b6 100644 --- a/templates/partials/packages/actions.html +++ b/templates/partials/packages/actions.html @@ -26,7 +26,7 @@ {% if not out_of_date %}
  • - + {{ "Flag package out-of-date" | tr }}
  • @@ -52,14 +52,14 @@ {% endif %}
  • {% if not voted %} - +
  • {% else %} -
    +
  • {% if notified %} - +
  • {% else %} -
    + {% if request.user.has_credential('CRED_PKGBASE_EDIT_COMAINTAINERS', approved=[pkgbase.Maintainer]) %}
  • - + {{ "Manage Co-Maintainers" | tr }}
  • @@ -101,20 +101,20 @@ {% endif %}
  • - + {{ "Submit Request" | tr }}
  • {% if request.user.has_credential("CRED_PKGBASE_DELETE") %}
  • - + {{ "Delete Package" | tr }}
  • {% endif %} {% if request.user.has_credential("CRED_PKGBASE_MERGE") %}
  • - + {{ "Merge Package" | tr }}
  • @@ -130,7 +130,7 @@ {% elif request.user.has_credential("CRED_PKGBASE_DISOWN", approved=[pkgbase.Maintainer]) %}
  • - + {{ "Disown Package" | tr }}
  • diff --git a/templates/partials/packages/details.html b/templates/partials/packages/details.html index 05dc82c6..e8414bf4 100644 --- a/templates/partials/packages/details.html +++ b/templates/partials/packages/details.html @@ -38,7 +38,7 @@ {% if request.user.has_credential("CRED_PKGBASE_SET_KEYWORDS", approved=[pkgbase.Maintainer]) %}
    {% for result in packages %}
  • - {{ result.Name }} diff --git a/templates/partials/packages/widgets/search.html b/templates/partials/packages/widgets/search.html index 106b93ea..048e1aa9 100644 --- a/templates/partials/packages/widgets/search.html +++ b/templates/partials/packages/widgets/search.html @@ -1,5 +1,5 @@
    - +
    diff --git a/templates/partials/packages/widgets/updates.html b/templates/partials/packages/widgets/updates.html index 3ee1b98e..9b1996e9 100644 --- a/templates/partials/packages/widgets/updates.html +++ b/templates/partials/packages/widgets/updates.html @@ -5,7 +5,7 @@ ({{ "more" | tr }}) - RSS Feed diff --git a/templates/partials/tu/proposals.html b/templates/partials/tu/proposals.html index 40eba22b..9e3c67e1 100644 --- a/templates/partials/tu/proposals.html +++ b/templates/partials/tu/proposals.html @@ -4,7 +4,7 @@ {% if title == "Current Votes" %}
    • - + {% trans %}Add Proposal{% endtrans %}
    • diff --git a/test/test_accounts_routes.py b/test/test_accounts_routes.py index 9120f23f..9252e5bf 100644 --- a/test/test_accounts_routes.py +++ b/test/test_accounts_routes.py @@ -942,13 +942,13 @@ def test_get_account_unauthenticated(): def test_get_accounts(tu_user): - """ Test that we can GET request /accounts/ and receive - a form which can be used to POST /accounts/. """ + """ Test that we can GET request /accounts and receive + a form which can be used to POST /accounts. """ sid = user.login(Request(), "testPassword") cookies = {"AURSID": sid} with client as request: - response = request.get("/accounts/", cookies=cookies) + response = request.get("/accounts", cookies=cookies) assert response.status_code == int(HTTPStatus.OK) parser = lxml.etree.HTMLParser() @@ -961,7 +961,7 @@ def test_get_accounts(tu_user): assert len(form) == 1 form = next(iter(form)) assert form.attrib.get("method") == "post" - assert form.attrib.get("action") == "/accounts/" + assert form.attrib.get("action") == "/accounts" def field(element): """ Return the given element string as a valid @@ -1020,7 +1020,7 @@ def test_post_accounts(tu_user): cookies = {"AURSID": sid} with client as request: - response = request.post("/accounts/", cookies=cookies) + response = request.post("/accounts", cookies=cookies) assert response.status_code == int(HTTPStatus.OK) rows = get_rows(response.text) @@ -1061,7 +1061,7 @@ def test_post_accounts_username(tu_user): cookies = {"AURSID": sid} with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"U": user.Username}) assert response.status_code == int(HTTPStatus.OK) @@ -1093,14 +1093,14 @@ def test_post_accounts_account_type(tu_user): # Expect no entries; we marked our only user as a User type. with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"T": "t"}) assert response.status_code == int(HTTPStatus.OK) assert len(get_rows(response.text)) == 0 # So, let's also ensure that specifying "u" returns our user. with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"T": "u"}) assert response.status_code == int(HTTPStatus.OK) @@ -1119,7 +1119,7 @@ def test_post_accounts_account_type(tu_user): ).first() with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"T": "t"}) assert response.status_code == int(HTTPStatus.OK) @@ -1137,7 +1137,7 @@ def test_post_accounts_account_type(tu_user): ).first() with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"T": "d"}) assert response.status_code == int(HTTPStatus.OK) @@ -1155,7 +1155,7 @@ def test_post_accounts_account_type(tu_user): ).first() with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"T": "td"}) assert response.status_code == int(HTTPStatus.OK) @@ -1174,7 +1174,7 @@ def test_post_accounts_status(tu_user): cookies = {"AURSID": sid} with client as request: - response = request.post("/accounts/", cookies=cookies) + response = request.post("/accounts", cookies=cookies) assert response.status_code == int(HTTPStatus.OK) rows = get_rows(response.text) @@ -1188,7 +1188,7 @@ def test_post_accounts_status(tu_user): user.Suspended = True with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"S": True}) assert response.status_code == int(HTTPStatus.OK) @@ -1206,7 +1206,7 @@ def test_post_accounts_email(tu_user): # Search via email. with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"E": user.Email}) assert response.status_code == int(HTTPStatus.OK) @@ -1220,7 +1220,7 @@ def test_post_accounts_realname(tu_user): cookies = {"AURSID": sid} with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"R": user.RealName}) assert response.status_code == int(HTTPStatus.OK) @@ -1234,7 +1234,7 @@ def test_post_accounts_irc(tu_user): cookies = {"AURSID": sid} with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"I": user.IRCNick}) assert response.status_code == int(HTTPStatus.OK) @@ -1259,14 +1259,14 @@ def test_post_accounts_sortby(tu_user): # Show that "u" is the default search order, by username. with client as request: - response = request.post("/accounts/", cookies=cookies) + response = request.post("/accounts", cookies=cookies) assert response.status_code == int(HTTPStatus.OK) rows = get_rows(response.text) assert len(rows) == 2 first_rows = rows with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"SB": "u"}) assert response.status_code == int(HTTPStatus.OK) rows = get_rows(response.text) @@ -1280,7 +1280,7 @@ def test_post_accounts_sortby(tu_user): assert compare_text_values(0, first_rows, rows) is True with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"SB": "i"}) assert response.status_code == int(HTTPStatus.OK) rows = get_rows(response.text) @@ -1291,7 +1291,7 @@ def test_post_accounts_sortby(tu_user): # Sort by "i" -> RealName. with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"SB": "r"}) assert response.status_code == int(HTTPStatus.OK) rows = get_rows(response.text) @@ -1307,7 +1307,7 @@ def test_post_accounts_sortby(tu_user): # Fetch first_rows again with our new AccountType ordering. with client as request: - response = request.post("/accounts/", cookies=cookies) + response = request.post("/accounts", cookies=cookies) assert response.status_code == int(HTTPStatus.OK) rows = get_rows(response.text) assert len(rows) == 2 @@ -1315,7 +1315,7 @@ def test_post_accounts_sortby(tu_user): # Sort by "t" -> AccountType. with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"SB": "t"}) assert response.status_code == int(HTTPStatus.OK) rows = get_rows(response.text) @@ -1334,7 +1334,7 @@ def test_post_accounts_pgp_key(tu_user): # Search via PGPKey. with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"K": user.PGPKey}) assert response.status_code == int(HTTPStatus.OK) @@ -1360,7 +1360,7 @@ def test_post_accounts_paged(tu_user): cookies = {"AURSID": sid} with client as request: - response = request.post("/accounts/", cookies=cookies) + response = request.post("/accounts", cookies=cookies) assert response.status_code == int(HTTPStatus.OK) rows = get_rows(response.text) @@ -1386,7 +1386,7 @@ def test_post_accounts_paged(tu_user): assert "disabled" not in page_next.attrib with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"O": 50}) # +50 offset. assert response.status_code == int(HTTPStatus.OK) @@ -1401,7 +1401,7 @@ def test_post_accounts_paged(tu_user): assert username.text.strip() == _user.Username with client as request: - response = request.post("/accounts/", cookies=cookies, + response = request.post("/accounts", cookies=cookies, data={"O": 101}) # Last page. assert response.status_code == int(HTTPStatus.OK)