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 9d6c370 Fix a form saving bug caused by using a detached database
object
9d6c370 is described below
commit 9d6c370985de508bdd11ea02004a61df838a1f8c
Author: Sean B. Palmer <[email protected]>
AuthorDate: Wed Nov 5 19:08:44 2025 +0000
Fix a form saving bug caused by using a detached database object
---
atr/shared/projects.py | 4 ++--
atr/storage/writers/policy.py | 6 +++++-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/atr/shared/projects.py b/atr/shared/projects.py
index 8cf3ffd..6e5c117 100644
--- a/atr/shared/projects.py
+++ b/atr/shared/projects.py
@@ -277,12 +277,12 @@ async def view(session: web.Committer, name: str) ->
web.WerkzeugResponse | str:
async with storage.write(session) as write:
wacm = await
write.as_project_committee_member(project.name)
try:
- await wacm.policy.edit(project, policy_data)
+ await wacm.policy.edit(project.name, policy_data)
except storage.AccessError as e:
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))
+ return quart.redirect(util.as_url(get.projects.view,
name=project.name))
else:
log.info(f"policy_form.errors: {policy_form.errors}")
else:
diff --git a/atr/storage/writers/policy.py b/atr/storage/writers/policy.py
index bde021d..90ddc5e 100644
--- a/atr/storage/writers/policy.py
+++ b/atr/storage/writers/policy.py
@@ -86,7 +86,11 @@ class CommitteeMember(CommitteeParticipant):
self.__asf_uid = asf_uid
self.__committee_name = committee_name
- async def edit(self, project: models.sql.Project, policy_data:
models.policy.ReleasePolicyData) -> None:
+ async def edit(self, project_name: str, policy_data:
models.policy.ReleasePolicyData) -> None:
+ project = await self.__data.project(
+ name=project_name, status=models.sql.ProjectStatus.ACTIVE,
_release_policy=True
+ ).demand(storage.AccessError(f"Project {project_name} not found"))
+
release_policy = project.release_policy
if release_policy is None:
release_policy = models.sql.ReleasePolicy(project=project)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]