Skip to content
Snippets Groups Projects
Commit d81ddd8a authored by Branson Craig Stephens's avatar Branson Craig Stephens
Browse files

Added new GRB Event designation field and redshift. Plus migration.

Also added view logic and template for additional fields.
parent 38617c00
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('gracedb', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='grbevent',
name='designation',
field=models.CharField(max_length=20, null=True),
),
migrations.AddField(
model_name='grbevent',
name='redshift',
field=models.FloatField(null=True),
),
]
...@@ -788,6 +788,8 @@ class GrbEvent(Event): ...@@ -788,6 +788,8 @@ class GrbEvent(Event):
how_reference_url = models.URLField(null=True) how_reference_url = models.URLField(null=True)
trigger_duration = models.FloatField(null=True) trigger_duration = models.FloatField(null=True)
t90 = models.FloatField(null=True) t90 = models.FloatField(null=True)
designation = models.CharField(max_length=20, null=True)
redshift = models.FloatField(null=True)
class CoincInspiralEvent(Event): class CoincInspiralEvent(Event):
ifos = models.CharField(max_length=20, default="") ifos = models.CharField(max_length=20, default="")
......
...@@ -838,26 +838,38 @@ def emobservation_entry(request, event, num=None): ...@@ -838,26 +838,38 @@ def emobservation_entry(request, event, num=None):
else: else:
return HttpResponseBadRequest("This URL only supports POST.") return HttpResponseBadRequest("This URL only supports POST.")
#
# Despite the name, this view function will handle updates to all of the
# hand-entered GRB data, including t90, redshift, and event designation.
#
@event_and_auth_required @event_and_auth_required
def modify_t90(request, event): def modify_t90(request, event):
if not request.method=='POST': if not request.method=='POST':
msg = 'Modify_permissions only allows POST.' msg = 'This URL only allows POST.'
return HttpResponseBadRequest(msg) return HttpResponseBadRequest(msg)
if not isinstance(event, GrbEvent): if not isinstance(event, GrbEvent):
msg = 'Modify_t90 only works on GrbEvent objects.' msg = 'This method only works on GrbEvent objects.'
return HttpResponseBadRequest(msg) return HttpResponseBadRequest(msg)
if not request.user.has_perm('gracedb.t90_grbevent'): if not request.user.has_perm('gracedb.t90_grbevent'):
msg = "You aren't authorized to create permission objects." msg = "You aren't authorized to modify GRB attributes."
return HttpResponseForbidden(msg) return HttpResponseForbidden(msg)
t90 = request.POST.get('t90', None) designation = request.POST.get('designation', None)
if not t90: redshift = request.POST.get('redshift', None)
msg = 'Modify_t90 requires t90 value in POST.' t90 = request.POST.get('t90', None)
if not (t90 or designation or redshift):
msg = 'This method requires one of: designation, redshift, or t90 in POST.'
return HttpResponseBadRequest(msg) return HttpResponseBadRequest(msg)
event.t90 = t90 if t90:
event.t90 = t90
elif redshift:
event.redshift = redshift
elif designation:
event.designation = designation
event.save() event.save()
# Finished. Redirect back to the event. # Finished. Redirect back to the event.
return HttpResponseRedirect(reverse("view", args=[event.graceid()])) return HttpResponseRedirect(reverse("view", args=[event.graceid()]))
......
...@@ -73,6 +73,12 @@ ...@@ -73,6 +73,12 @@
{% endif %} {% endif %}
{% if object.t90 %} {% if object.t90 %}
<tr><th>T90</th><td colspan="2">{{object.t90}}</td></tr> <tr><th>T90</th><td colspan="2">{{object.t90}}</td></tr>
{% endif %}
{% if object.redshift %}
<tr><th>Redshift</th><td colspan="2">{{object.redshift}}</td></tr>
{% endif %}
{% if object.designation %}
<tr><th>Event designation</th><td colspan="2">{{object.designation}}</td></tr>
{% endif %} {% endif %}
<tr><th>Location</th><th>Coord System</th><td>{{object.coord_system}}</td></tr> <tr><th>Location</th><th>Coord System</th><td>{{object.coord_system}}</td></tr>
<tr><td></td><th width="150px">RA</th><td>{{object.ra}}</td></tr> <tr><td></td><th width="150px">RA</th><td>{{object.ra}}</td></tr>
...@@ -87,6 +93,14 @@ ...@@ -87,6 +93,14 @@
<input type="text" name="t90" value="{{ object.t90 }}"> <input type="text" name="t90" value="{{ object.t90 }}">
<input type="submit" value="Update T90" class="t90ButtonClass"> <input type="submit" value="Update T90" class="t90ButtonClass">
</form> </form>
<form action="{% url "modify_t90" object.graceid %}" method="post">
<input type="text" name="redshift" value="{{ object.redshift }}">
<input type="submit" value="Update redshift" class="t90ButtonClass">
</form>
<form action="{% url "modify_t90" object.graceid %}" method="post">
<input type="text" name="designation" value="{{ object.designation }}">
<input type="submit" value="Update designation" class="t90ButtonClass">
</form>
</div> </div>
{% endif %} {% endif %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment