From acfb4caad2da9e5051f9bbf1b141fadeec311c0a Mon Sep 17 00:00:00 2001 From: Olivier Mehani Date: Thu, 26 Feb 2026 17:43:30 +1100 Subject: [PATCH] admin: provide links back to public job and revision pages (bug 2019488) --- src/lando/main/admin.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/lando/main/admin.py b/src/lando/main/admin.py index 2a57dd26e..1d3081c2a 100644 --- a/src/lando/main/admin.py +++ b/src/lando/main/admin.py @@ -6,6 +6,7 @@ from django.forms import CheckboxSelectMultiple, MultipleChoiceField from django.forms import Field as FormField from django.http import HttpRequest +from django.urls import reverse from django.utils.translation import gettext_lazy from lando.main.models import ( @@ -112,9 +113,14 @@ class JobAdmin(admin.ModelAdmin): ) search_fields = ("requester_email", "landed_commit_id") + def view_on_site(self, instance: LandingJob) -> str: + url = reverse("jobs-page", kwargs={"job_id": instance.id}) + return url + class LandingJobAdmin(JobAdmin): model = LandingJob + list_display = ( "id", "revisions", @@ -251,6 +257,12 @@ class RevisionAdmin(admin.ModelAdmin): ) search_fields = ("revision_id",) + def view_on_site(self, instance: Revision) -> str | None: + if not instance.revision_id: + return None + url = reverse("revisions-page", kwargs={"revision_id": instance.revision_id}) + return url + def revision(self, instance: Revision) -> str: """Return a Phabricator-like revision identifier.""" idstr = f"{instance.id}"