From 4665585a12d00c30ba7bb3c2ad0b8be74bdce114 Mon Sep 17 00:00:00 2001
From: Branson Stephens <branson.stephens@ligo.org>
Date: Wed, 29 Jul 2015 15:09:30 -0500
Subject: [PATCH] Added trigger_id field to GrbEvent, and created migration.
 Added trigger_id to translator code and serialization. Added trigger_id to
 GRB event display.

---
 .../migrations/0003_grbevent_trigger_id.py    | 19 +++++++++++++++++++
 gracedb/models.py                             |  1 +
 gracedb/translator.py                         |  8 ++++++++
 gracedb/view_utils.py                         |  3 +++
 templates/gracedb/event_detail_GRB.html       |  3 +++
 5 files changed, 34 insertions(+)
 create mode 100644 gracedb/migrations/0003_grbevent_trigger_id.py

diff --git a/gracedb/migrations/0003_grbevent_trigger_id.py b/gracedb/migrations/0003_grbevent_trigger_id.py
new file mode 100644
index 000000000..c2512e548
--- /dev/null
+++ b/gracedb/migrations/0003_grbevent_trigger_id.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('gracedb', '0002_auto_20150708_1140'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='grbevent',
+            name='trigger_id',
+            field=models.CharField(max_length=25, null=True),
+        ),
+    ]
diff --git a/gracedb/models.py b/gracedb/models.py
index 3cce3c555..032409f09 100644
--- a/gracedb/models.py
+++ b/gracedb/models.py
@@ -790,6 +790,7 @@ class GrbEvent(Event):
     t90 = models.FloatField(null=True)
     designation = models.CharField(max_length=20, null=True)
     redshift = models.FloatField(null=True)
+    trigger_id = models.CharField(max_length=25, null=True)
 
 class CoincInspiralEvent(Event):
     ifos             = models.CharField(max_length=20, default="")
diff --git a/gracedb/translator.py b/gracedb/translator.py
index 8916692cb..9882dcbea 100644
--- a/gracedb/translator.py
+++ b/gracedb/translator.py
@@ -645,3 +645,11 @@ def populateGrbEventFromVOEventFile(filename, event):
     except:
         pass
     event.trigger_duration = trigger_duration
+
+    # try to find a trigger_id value
+    trigger_id = None
+    try:
+        trigger_id = findParam(v, '', 'TrigID').get_value()
+    except:
+        pass
+    event.trigger_id = trigger_id
diff --git a/gracedb/view_utils.py b/gracedb/view_utils.py
index 38e030669..6d804ad45 100644
--- a/gracedb/view_utils.py
+++ b/gracedb/view_utils.py
@@ -150,6 +150,9 @@ def eventToDict(event, columns=None, request=None):
               "how_reference_url" : event.how_reference_url,
               "T90" : event.t90,
               "trigger_duration": event.trigger_duration,
+              "designation": event.designation,
+              "redshift": event.redshift,
+              "trigger_id": event.trigger_id,
               }
     except:
         pass
diff --git a/templates/gracedb/event_detail_GRB.html b/templates/gracedb/event_detail_GRB.html
index e612cf716..1c8676d03 100644
--- a/templates/gracedb/event_detail_GRB.html
+++ b/templates/gracedb/event_detail_GRB.html
@@ -68,6 +68,9 @@
 				{{object.how_description}}
 {% endif %}
 		</td></tr>
+        {% if object.trigger_id %}
+		<tr><th>Trigger ID</th><td colspan="2">{{object.trigger_id}}</td></tr>
+        {% endif %}
         {% if object.trigger_duration %}
 		<tr><th>Trigger duration</th><td colspan="2">{{object.trigger_duration}}</td></tr>
         {% endif %}
-- 
GitLab