From 42bb3693e7f625c3a2af54ba14a942a038df4019 Mon Sep 17 00:00:00 2001
From: Tanner Prestegard <tanner.prestegard@ligo.org>
Date: Fri, 22 Jun 2018 11:25:55 -0500
Subject: [PATCH] Adding links to event pages from search result graceids

---
 gracedb/superevents/search_flex.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gracedb/superevents/search_flex.py b/gracedb/superevents/search_flex.py
index aa68c5c81..9a6a33e6b 100644
--- a/gracedb/superevents/search_flex.py
+++ b/gracedb/superevents/search_flex.py
@@ -58,6 +58,10 @@ def flexigridResponse(request, objects):
         if total > MAX_FLEXI_ROWS:
             return HttpResponseBadRequest("Too many rows! Please try loading a smaller number.")
 
+    # Function for constructing HTML link to event page from graceid
+    ev_link = lambda gid: '<a href="{url}">{graceid}</a>'.format(
+        url=django_reverse("view", args=[gid]), graceid=gid)
+
     for object in objects[start:end]:
         t_start_times = timeSelections(object.t_start)
         t_0_times = timeSelections(object.t_0)
@@ -70,9 +74,9 @@ def flexigridResponse(request, objects):
                 object.superevent_id]), object.superevent_id),
             #Labels
             " ".join(["""<span onmouseover="tooltip.show(tooltiptext('%s', '%s', '%s'));" onmouseout="tooltip.hide();" style="color: %s"> %s </span>""" % (label.label.name, label.creator.username, label.created, label.label.defaultColor, label.label.name) for label in object.labelling_set.all()]),
-            str(object.preferred_event.graceid()),
-            " ".join([ev.graceid() for ev in object.get_internal_events()]),
-            " ".join([ev.graceid() for ev in object.get_external_events()]),
+            ev_link(object.preferred_event.graceid()),
+            ", ".join([ev_link(ev.graceid()) for ev in object.get_internal_events()]),
+            ", ".join([ev_link(ev.graceid()) for ev in object.get_external_events()]),
             t_start_times.get('gps', ""),
             t_0_times.get('gps', ""),
             t_end_times.get('gps', ""),
-- 
GitLab