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-release.git


The following commit(s) were added to refs/heads/main by this push:
     new b402246  Make all draft level pages more consistent with one another
b402246 is described below

commit b4022466fadbadcef6a54ac5613955045cdd0e61
Author: Sean B. Palmer <[email protected]>
AuthorDate: Tue Apr 22 17:05:41 2025 +0100

    Make all draft level pages more consistent with one another
---
 atr/db/models.py                       | 10 +++++++++
 atr/routes/draft.py                    | 12 +++++-----
 atr/static/css/atr.css                 | 13 +++++++++--
 atr/templates/draft-add-files.html     | 28 +++++++++++------------
 atr/templates/draft-content.html       | 11 +++++----
 atr/templates/draft-evaluate-path.html | 41 ++++++++++++++++++++--------------
 atr/templates/draft-revisions.html     | 11 +++++----
 atr/templates/draft-vote-start.html    |  5 ++++-
 atr/templates/phase-view-path.html     | 14 ++++++------
 9 files changed, 89 insertions(+), 56 deletions(-)

diff --git a/atr/db/models.py b/atr/db/models.py
index 4e9b276..c895bb7 100644
--- a/atr/db/models.py
+++ b/atr/db/models.py
@@ -183,6 +183,11 @@ class Project(sqlmodel.SQLModel, table=True):
         """Get the display name for the Project."""
         return self.full_name or self.name
 
+    @property
+    def short_display_name(self) -> str:
+        """Get the short display name for the Project."""
+        return self.display_name.removeprefix("Apache ")
+
     async def releases_by_phase(self, phase: "ReleasePhase") -> 
list["Release"]:
         """Get the releases for the project by phase."""
         query = (
@@ -437,6 +442,11 @@ class Release(sqlmodel.SQLModel, table=True):
             return None
         return project.committee
 
+    @property
+    def short_display_name(self) -> str:
+        """Get the short display name for the release."""
+        return f"{self.project.short_display_name} {self.version}"
+
 
 class SSHKey(sqlmodel.SQLModel, table=True):
     fingerprint: str = sqlmodel.Field(primary_key=True)
diff --git a/atr/routes/draft.py b/atr/routes/draft.py
index 41dfeb9..0a2414f 100644
--- a/atr/routes/draft.py
+++ b/atr/routes/draft.py
@@ -179,7 +179,8 @@ async def add(session: routes.CommitterSession) -> 
response.Response | str:
     )
 
 
[email protected]("/draft/add/<project_name>/<version_name>", methods=["GET", 
"POST"])
+# TODO: Rename to upload.release?
[email protected]("/upload/<project_name>/<version_name>", methods=["GET", 
"POST"])
 async def add_files(session: routes.CommitterSession, project_name: str, 
version_name: str) -> response.Response | str:
     """Show a page to allow the user to add files to a candidate draft."""
 
@@ -228,8 +229,7 @@ async def add_files(session: routes.CommitterSession, 
project_name: str, version
         "draft-add-files.html",
         asf_id=session.uid,
         server_domain=session.host,
-        project_name=project_name,
-        version_name=version_name,
+        release=release,
         form=form,
         svn_form=svn_form,
         project_display_name=project_display_name,
@@ -624,7 +624,7 @@ async def evaluate(session: routes.CommitterSession, 
project_name: str, version_
     )
 
 
[email protected]("/draft/evaluate/<project_name>/<version_name>/<path:rel_path>")
[email protected]("/report/<project_name>/<version_name>/<path:rel_path>")
 async def evaluate_path(session: routes.CommitterSession, project_name: str, 
version_name: str, rel_path: str) -> str:
     """Evaluate the status of all checks for a specific file."""
     # Check that the user has access to the project
@@ -789,7 +789,7 @@ async def revision_set(session: routes.CommitterSession, 
project_name: str, vers
     )
 
 
[email protected]("/draft/revisions/<project_name>/<version_name>")
[email protected]("/revisions/<project_name>/<version_name>")
 async def revisions(session: routes.CommitterSession, project_name: str, 
version_name: str) -> str:
     """Show the revision history for a release candidate draft."""
     if not any((p.name == project_name) for p in (await 
session.user_projects)):
@@ -1081,7 +1081,7 @@ async def view(session: routes.CommitterSession, 
project_name: str, version_name
     )
 
 
[email protected]("/draft/view/<project_name>/<version_name>/<path:file_path>")
[email protected]("/file/<project_name>/<version_name>/<path:file_path>")
 async def view_path(
     session: routes.CommitterSession, project_name: str, version_name: str, 
file_path: str
 ) -> response.Response | str:
diff --git a/atr/static/css/atr.css b/atr/static/css/atr.css
index 0e30fdd..68588e6 100644
--- a/atr/static/css/atr.css
+++ b/atr/static/css/atr.css
@@ -210,7 +210,7 @@ span.warning {
 .back-link {
     display: inline-block;
     margin-bottom: 1rem;
-    color: #0000ee;
+    color: #0000cc;
     text-decoration: none;
 }
 
@@ -414,6 +414,15 @@ h1 strong {
 h1 em {
     font-weight: 425;
     font-style: normal;
-    font-variation-settings: "ital" 0.5;
+
+    /* font-variation-settings: "ital" 0.5; */
     color: #555555;
 }
+
+/* h1 em:before {
+    content: "(";
+}
+
+h1 em:after {
+    content: ")";
+} */
diff --git a/atr/templates/draft-add-files.html 
b/atr/templates/draft-add-files.html
index 46e1718..5b40f36 100644
--- a/atr/templates/draft-add-files.html
+++ b/atr/templates/draft-add-files.html
@@ -1,7 +1,7 @@
 {% extends "layouts/base.html" %}
 
 {% block title %}
-  Add files to {{ project_name }} {{ version_name }} ~ ATR
+  Upload files to {{ release.short_display_name }} ~ ATR
 {% endblock title %}
 
 {% block description %}
@@ -9,22 +9,20 @@
 {% endblock description %}
 
 {% block content %}
-  <a href="{{ as_url(routes.draft.compose, project_name=project_name, 
version_name=version_name) }}"
-     class="back-link">← Back to {{ project_display_name }} {{ version_name 
}}</a>
+  <a href="{{ as_url(routes.draft.compose, project_name=release.project.name, 
version_name=release.version) }}"
+     class="back-link">← Back to Compose {{ release.short_display_name }}</a>
 
-  <h1>Add files to {{ project_display_name }} {{ version_name }}</h1>
+  <h1>
+    Upload to <strong>{{ release.project.short_display_name }}</strong> <em>{{ 
release.version }}</em>
+  </h1>
 
-  <ul>
-    <li>
-      <a href="#file-upload">File upload</a>
-    </li>
-    <li>
-      <a href="#svn-upload">SVN upload</a>
-    </li>
-    <li>
-      <a href="#rsync-upload">Rsync upload</a>
-    </li>
-  </ul>
+  <div class="card">
+    <div class="card-body">
+      <a href="#file-upload" class="btn btn-outline-primary me-2">Use the 
browser</a>
+      <a href="#svn-upload" class="btn btn-outline-primary me-2">Use SVN</a>
+      <a href="#rsync-upload" class="btn btn-outline-primary">Use rsync</a>
+    </div>
+  </div>
 
   <h2 id="file-upload">File upload</h2>
   <p class="intro">Use this form to add files to this candidate draft.</p>
diff --git a/atr/templates/draft-content.html b/atr/templates/draft-content.html
index f474fa9..2842693 100644
--- a/atr/templates/draft-content.html
+++ b/atr/templates/draft-content.html
@@ -29,8 +29,11 @@
 {% endblock stylesheets %}
 
 {% block content %}
+  <p>
+    <a href="{{ as_url(routes.root.index) }}" class="back-link">← Back to 
Select a release</a>
+  </p>
   <h1>
-    Compose <strong>{{ release.project.display_name.removeprefix("Apache ") 
}}</strong> <em>{{ version_name }}</em>
+    Compose <strong>{{ release.project.short_display_name }}</strong> <em>{{ 
release.version }}</em>
   </h1>
   <p class="intro">
     Manage the <strong>candidate draft</strong> for {{ 
release.project.display_name }} {{ version_name }}. Add files, review checks, 
and promote when ready.
@@ -81,9 +84,9 @@
     </div>
     <div class="card-body d-flex flex-wrap gap-2">
       <a href="{{ as_url(routes.draft.add_files, 
project_name=release.project.name, version_name=release.version) }}"
-         title="Add or replace files in this draft"
-         class="btn btn-primary"><i class="fas fa-upload me-1"></i> Add or 
replace files</a>
-      <a href="{{ as_url(routes.draft.revisions, project_name=project_name, 
version_name=version_name) }}"
+         title="Upload files to this draft"
+         class="btn btn-primary"><i class="fas fa-upload me-1"></i> Upload 
files</a>
+      <a href="{{ as_url(routes.draft.revisions, 
project_name=release.project.name, version_name=release.version) }}"
          title="View revision history"
          class="btn btn-secondary"><i class="fas fa-history me-1"></i> 
Revisions</a>
       <a href="{{ as_url(routes.draft.vote_start, 
project_name=release.project.name, version=release.version, 
revision=release.revision) }}"
diff --git a/atr/templates/draft-evaluate-path.html 
b/atr/templates/draft-evaluate-path.html
index d2bb459..d29d74b 100644
--- a/atr/templates/draft-evaluate-path.html
+++ b/atr/templates/draft-evaluate-path.html
@@ -1,35 +1,29 @@
 {% extends "layouts/base.html" %}
 
 {% block title %}
-  Review {{ project_name }} {{ version_name }} {{ package.filename }} ~ ATR
+  Report for {{ release.short_display_name }} {{ package.filename }} ~ ATR
 {% endblock title %}
 
 {% block description %}
-  Review the {{ project_name }} {{ version_name }} {{ package.filename }} 
candidate draft file.
+  Show the report for the {{ release.short_display_name }} {{ package.filename 
}} candidate draft file.
 {% endblock description %}
 
 {% block content %}
-  <a href="{{ as_url(routes.draft.evaluate, project_name=project_name, 
version_name=version_name) }}"
-     class="back-link">← Back to Draft evaluation</a>
-
-  <div class="p-3 mb-4 bg-light border rounded">
-    <h2 class="mt-0">File evaluation</h2>
-    <p>
-      <strong>Filename:</strong> {{ package.filename }}
-    </p>
-    <p>
-      <strong>Size:</strong> {{ format_file_size(package.bytes_size) }}
-    </p>
-    <p class="mb-0">
-      <strong>Uploaded:</strong> {{ package.uploaded.strftime("%Y-%m-%d 
%H:%M:%S UTC") }}
-    </p>
+  <a href="{{ as_url(routes.draft.compose, project_name=release.project.name, 
version_name=release.version) }}"
+     class="back-link">← Back to Compose {{ release.short_display_name }}</a>
+
+  <h1>
+    Report for <strong>{{ release.project.short_display_name }}</strong> 
<em>{{ release.version }}</em>
+  </h1>
+  <div class="fs-3 bg-light p-3 border rounded mb-4">
+    <code>{{ package.filename }}</code>
   </div>
 
   <p>
     <strong>Note:</strong> Refresh this page to see the latest status of the 
verification tasks.
   </p>
 
-  <h2>Verification tasks</h2>
+  <h2>Report results</h2>
 
   {% if check_results %}
     {# Define status_counts here so it's available globally in this block #}
@@ -218,6 +212,19 @@
     {% else %}
       <p>No verification tasks found for this file.</p>
     {% endif %}
+
+    <h2>Metadata</h2>
+    <div class="p-3 mb-4 bg-light border rounded">
+      <p>
+        <strong>Filename:</strong> {{ package.filename }}
+      </p>
+      <p>
+        <strong>Size:</strong> {{ format_file_size(package.bytes_size) }}
+      </p>
+      <p class="mb-0">
+        <strong>Uploaded:</strong> {{ package.uploaded.strftime("%Y-%m-%d 
%H:%M:%S UTC") }}
+      </p>
+    </div>
   </div>
 {% endblock content %}
 
diff --git a/atr/templates/draft-revisions.html 
b/atr/templates/draft-revisions.html
index 3db7fcf..1e6b187 100644
--- a/atr/templates/draft-revisions.html
+++ b/atr/templates/draft-revisions.html
@@ -1,17 +1,20 @@
 {% extends "layouts/base.html" %}
 
 {% block title %}
-  Revisions for {{ project_name }} {{ version_name }} ~ ATR
+  Revisions of {{ release.short_display_name }} ~ ATR
 {% endblock title %}
 
 {% block description %}
-  View the revision history for the {{ project_name }} {{ version_name }} 
candidate draft.
+  View the revision history for the {{ release.short_display_name }} candidate 
draft.
 {% endblock description %}
 
 {% block content %}
-  <a href="{{ as_url(routes.draft.drafts) }}" class="back-link">← Back to View 
drafts</a>
+  <a href="{{ as_url(routes.draft.compose, project_name=release.project.name, 
version_name=release.version) }}"
+     class="back-link">← Back to Compose {{ release.short_display_name }}</a>
 
-  <h1>Revision history for {{ release.project.display_name }} {{ 
release.version }}</h1>
+  <h1>
+    Revisions of <strong>{{ release.project.short_display_name }}</strong> 
<em>{{ release.version }}</em>
+  </h1>
 
   {% if revision_history %}
     {% for revision in revision_history %}
diff --git a/atr/templates/draft-vote-start.html 
b/atr/templates/draft-vote-start.html
index 9945865..157930f 100644
--- a/atr/templates/draft-vote-start.html
+++ b/atr/templates/draft-vote-start.html
@@ -10,8 +10,11 @@
 
 {% block content %}
   <div class="my-4">
+    <a href="{{ as_url(routes.draft.compose, 
project_name=release.project.name, version_name=release.version) }}"
+       class="back-link">← Back to Compose {{ release.short_display_name }}</a>
+
     <h1 class="mb-4">
-      Start a vote on <strong>{{ 
release.project.display_name.removeprefix("Apache ") }}</strong> <em>{{ 
release.version }}</em>
+      Start vote on <strong>{{ release.project.short_display_name }}</strong> 
<em>{{ release.version }}</em>
     </h1>
 
     <div class="px-3 py-4 mb-4 bg-light border rounded">
diff --git a/atr/templates/phase-view-path.html 
b/atr/templates/phase-view-path.html
index ea36e38..24e1c83 100644
--- a/atr/templates/phase-view-path.html
+++ b/atr/templates/phase-view-path.html
@@ -1,25 +1,25 @@
 {% extends "layouts/base.html" %}
 
 {% block title %}
-  View {{ project_name }}/{{ version_name }}/{{ file_path }} ~ ATR
+  View {{ release.project.short_display_name }}/{{ release.version }}/{{ 
file_path }} ~ ATR
 {% endblock title %}
 
 {% block description %}
-  View the content of the {{ project_name }} {{ version_name }} {{ file_path 
}} file.
+  View the content of the {{ release.project.short_display_name }} {{ 
release.version }} {{ file_path }} file.
 {% endblock description %}
 
 {% block content %}
   {# Generate back link based on phase_key #}
   {% if phase_key == "draft" %}
-    {% set back_url = as_url(routes.draft.view, project_name=project_name, 
version_name=version_name) %}
+    {% set back_url = as_url(routes.draft.view, 
project_name=release.project.name, version_name=release.version) %}
   {% elif phase_key == "candidate" %}
-    {% set back_url = as_url(routes.candidate.view, project_name=project_name, 
version_name=version_name) %}
+    {% set back_url = as_url(routes.candidate.view, 
project_name=release.project.name, version_name=release.version) %}
   {% elif phase_key == "preview" %}
-    {% set back_url = as_url(routes.preview.view, project_name=project_name, 
version_name=version_name) %}
+    {% set back_url = as_url(routes.preview.view, 
project_name=release.project.name, version_name=release.version) %}
   {% elif phase_key == "release" %}
-    {% set back_url = as_url(routes.release.view, project_name=project_name, 
version_name=version_name) %}
+    {% set back_url = as_url(routes.release.view, 
project_name=release.project.name, version_name=release.version) %}
   {% endif %}
-  <a href="{{ back_url }}" class="back-link">← Back to View files</a>
+  <a href="{{ back_url }}" class="back-link">← Back to {{ phase_key }}</a>
 
   <div class="p-3 mb-4 bg-light border rounded">
     <h2 class="mt-0">Viewing file: {{ file_path }}</h2>


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

Reply via email to