This is an automated email from the ASF dual-hosted git repository.

sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git


The following commit(s) were added to refs/heads/main by this push:
     new e354d17  Fix several route reference bugs
e354d17 is described below

commit e354d17c8b3c9c8303f45971bca90380cbeb8e27
Author: Sean B. Palmer <[email protected]>
AuthorDate: Wed Oct 29 22:51:51 2025 +0000

    Fix several route reference bugs
---
 README.md              | 18 +++++++++---------
 atr/shared/finish.py   |  2 +-
 atr/shared/projects.py | 15 +++++++++------
 atr/shared/start.py    |  4 ++--
 atr/shared/tokens.py   |  7 ++++---
 atr/shared/upload.py   |  4 ++--
 6 files changed, 27 insertions(+), 23 deletions(-)

diff --git a/README.md b/README.md
index 9a3b2f8..c09e23d 100644
--- a/README.md
+++ b/README.md
@@ -13,30 +13,30 @@
 
 This repository contains code developed by the **Apache Software Foundation 
(ASF) Tooling team**.
 
-As of **October 2025**, this code is available for **internal ASF feedback 
only**.  
+As of **October 2025**, this code is available for **internal ASF feedback 
only**.
 The project is in **alpha development** and subject to significant changes.
 
-We welcome feedback and discussion, but note that many known issues and design 
refinements are already scheduled for future iterations.  
+We welcome feedback and discussion, but note that many known issues and design 
refinements are already scheduled for future iterations.
 Please review our [issue 
tracker](https://github.com/apache/tooling-trusted-releases/issues) and inline 
comments before filing new issues.
 
-The alpha test deployment is available at:  
+The alpha test deployment is available at:
 🔗 <https://release-test.apache.org/>
 
-> **Note:** This repository is not yet an officially maintained or endorsed 
ASF project.  
-> It does not represent final technical or policy decisions for future ASF 
Tooling products.  
+> **Note:** This repository is not yet an officially maintained or endorsed 
ASF project.
+> It does not represent final technical or policy decisions for future ASF 
Tooling products.
 > The code is provided without guarantees regarding stability, security, or 
 > backward compatibility.
 
 ## Getting Involved
 
-Community feedback is encouraged!  
+Community feedback is encouraged!
 If you are an ASF committer or contributor interested in Trusted Releases:
 
 1. **Try it out** – The alpha test server allows you to experiment with the 
release process for your ASF project.
 
-2. **Introduce yourself** on the development mailing list:  
+2. **Introduce yourself** on the development mailing list:
    📧 [[email protected]](mailto:[email protected])
 
-3. **Share ideas or file issues:**  
+3. **Share ideas or file issues:**
    Use the [GitHub 
Issues](https://github.com/apache/tooling-trusted-releases/issues) page to 
report bugs, suggest features, or discuss improvements.
 
 ## License
@@ -45,5 +45,5 @@ This project is licensed under the [Apache License, Version 
2.0](LICENSE).
 
 ---
 
-*Part of the [Apache Tooling Initiative](https://tooling.apache.org/).*  
+*Part of the [Apache Tooling Initiative](https://tooling.apache.org/).*
 For more information about the ASF, visit 
[https://www.apache.org/](https://www.apache.org/).
diff --git a/atr/shared/finish.py b/atr/shared/finish.py
index c197946..8033ea3 100644
--- a/atr/shared/finish.py
+++ b/atr/shared/finish.py
@@ -120,7 +120,7 @@ async def selected(
         if wants_json:
             return quart.jsonify(ok=ok, message=msg), http_status
         await quart.flash(msg, "success" if ok else "error")
-        return await session.redirect(selected, project_name=project_name, 
version_name=version_name)
+        return await session.redirect(get.finish.selected, 
project_name=project_name, version_name=version_name)
 
     async with db.session() as data:
         release = await data.release(
diff --git a/atr/shared/projects.py b/atr/shared/projects.py
index 18e9017..1a98c87 100644
--- a/atr/shared/projects.py
+++ b/atr/shared/projects.py
@@ -28,6 +28,7 @@ import quart
 import atr.db as db
 import atr.db.interaction as interaction
 import atr.forms as forms
+import atr.get as get
 import atr.log as log
 import atr.models.policy as policy
 import atr.models.sql as sql
@@ -271,7 +272,7 @@ async def view(session: web.Committer, name: str) -> 
response.Response | str:
         if "submit_metadata" in form_data:
             edited_metadata, metadata_form = await _metadata_edit(session, 
project, form_data)
             if edited_metadata is True:
-                return quart.redirect(util.as_url(view, name=project.name))
+                return quart.redirect(util.as_url(get.projects.view, 
name=project.name))
         elif "submit_policy" in form_data:
             policy_form = await ReleasePolicyForm.create_form(data=form_data)
             if await policy_form.validate_on_submit():
@@ -281,8 +282,10 @@ async def view(session: web.Committer, name: str) -> 
response.Response | str:
                     try:
                         await wacm.policy.edit(project, policy_data)
                     except storage.AccessError as e:
-                        return await session.redirect(view, name=project.name, 
error=f"Error editing policy: {e}")
-                    return quart.redirect(util.as_url(view, name=project.name))
+                        return await session.redirect(
+                            get.projects.view, name=project.name, 
error=f"Error editing policy: {e}"
+                        )
+                    return quart.redirect(util.as_url(get.projects.view, 
name=project.name))
             else:
                 log.info(f"policy_form.errors: {policy_form.errors}")
         else:
@@ -450,7 +453,7 @@ async def _policy_form_create(project: sql.Project) -> 
ReleasePolicyForm:
 async def _project_add(form: AddForm, session: web.Committer) -> 
response.Response:
     form_values = await _project_add_validate(form)
     if form_values is None:
-        return quart.redirect(util.as_url(add_project, 
committee_name=form.committee_name.data))
+        return quart.redirect(util.as_url(get.projects.add_project, 
committee_name=form.committee_name.data))
     committee_name, display_name, label = form_values
 
     async with storage.write(session) as write:
@@ -459,9 +462,9 @@ async def _project_add(form: AddForm, session: 
web.Committer) -> response.Respon
             await wacm.project.create(committee_name, display_name, label)
         except storage.AccessError as e:
             await quart.flash(f"Error adding project: {e}", "error")
-            return quart.redirect(util.as_url(add_project, 
committee_name=committee_name))
+            return quart.redirect(util.as_url(get.projects.add_project, 
committee_name=committee_name))
 
-    return quart.redirect(util.as_url(view, name=label))
+    return quart.redirect(util.as_url(get.projects.view, name=label))
 
 
 async def _project_add_validate(form: AddForm) -> tuple[str, str, str] | None:
diff --git a/atr/shared/start.py b/atr/shared/start.py
index cb00313..f7eccdc 100644
--- a/atr/shared/start.py
+++ b/atr/shared/start.py
@@ -23,7 +23,7 @@ import werkzeug.wrappers.response as response
 import atr.db as db
 import atr.db.interaction as interaction
 import atr.forms as forms
-import atr.get.compose as compose
+import atr.get as get
 import atr.models.sql as sql
 import atr.storage as storage
 import atr.template as template
@@ -65,7 +65,7 @@ async def selected(session: web.Committer, project_name: str) 
-> response.Respon
                 new_release, _project = await wacp.release.start(project_name, 
version)
             # Redirect to the new draft's overview page on success
             return await session.redirect(
-                compose.selected,
+                get.compose.selected,
                 project_name=project.name,
                 version_name=new_release.version,
                 success="Release candidate draft created successfully",
diff --git a/atr/shared/tokens.py b/atr/shared/tokens.py
index 93965b7..9525adc 100644
--- a/atr/shared/tokens.py
+++ b/atr/shared/tokens.py
@@ -31,6 +31,7 @@ import wtforms.fields.core as core
 
 import atr.db as db
 import atr.forms as forms
+import atr.get as get
 import atr.htm as htm
 import atr.jwtoken as jwtoken
 import atr.log as log
@@ -255,7 +256,7 @@ async def _handle_add_token_post(
             htm.p(".mb-0")["Copy it now as you will not be able to see it 
again."],
         ]
         await quart.flash(_as_markup(success_msg), "success")
-        return await session.redirect(tokens)
+        return await session.redirect(get.tokens.tokens)
 
     return None
 
@@ -268,7 +269,7 @@ async def _handle_delete_token_post(
         token_id_val = int(str(del_form.token_id.data))
         await _delete_token(session.uid, token_id_val)
         await quart.flash("Token deleted successfully", "success")
-        return await session.redirect(tokens)
+        return await session.redirect(get.tokens.tokens)
 
     await quart.flash("Invalid delete request", "error")
     return None
@@ -288,6 +289,6 @@ async def _handle_issue_jwt_post(
             
htm.p[htm.code(".bg-light.border.rounded.px-1.atr-word-wrap")[jwt_token],],
         ]
         await quart.flash(_as_markup(success_msg), "success")
-        return await session.redirect(tokens)
+        return await session.redirect(get.tokens.tokens)
 
     return None
diff --git a/atr/shared/upload.py b/atr/shared/upload.py
index f554f46..0321898 100644
--- a/atr/shared/upload.py
+++ b/atr/shared/upload.py
@@ -23,7 +23,7 @@ import wtforms
 
 import atr.db as db
 import atr.forms as forms
-import atr.get.compose as compose
+import atr.get as get
 import atr.log as log
 import atr.storage as storage
 import atr.template as template
@@ -77,7 +77,7 @@ async def selected(session: web.Committer, project_name: str, 
version_name: str)
                 wacp = await 
write.as_project_committee_participant(project_name)
                 number_of_files = await 
wacp.release.upload_files(project_name, version_name, file_name, file_data)
             return await session.redirect(
-                compose.selected,
+                get.compose.selected,
                 success=f"{number_of_files} file{'' if number_of_files == 1 
else 's'} added successfully",
                 project_name=project_name,
                 version_name=version_name,


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to