Skip to content
Snippets Groups Projects
Commit 87095575 authored by GraceDB's avatar GraceDB
Browse files

Adding support for new superevent fields

parents 799b051d 3700dcb9
No related branches found
No related tags found
No related merge requests found
......@@ -71,8 +71,9 @@ class SupereventSerializer(serializers.ModelSerializer):
class Meta:
model = Superevent
fields = ('superevent_id', 'gw_id', 'category', 'created', 'submitter',
'preferred_event', 'events', 't_start', 't_0', 't_end',
'gw_events', 'em_events', 'far', 'labels', 'links', 'user')
'preferred_event', 'events', 'em_type', 't_start', 't_0', 't_end',
'gw_events', 'em_events', 'far', 'coinc_far', 'labels', 'links',
'user')
def validate(self, data):
data = super(SupereventSerializer, self).validate(data)
......@@ -171,7 +172,8 @@ class SupereventUpdateSerializer(SupereventSerializer):
Used for updates ONLY (PUT/PATCH). Overrides validation which is needed
for object creation.
"""
allowed_fields = ('t_start', 't_0', 't_end', 'preferred_event')
allowed_fields = ('t_start', 't_0', 't_end', 'preferred_event',
'em_type', 'coinc_far')
def __init__(self, *args, **kwargs):
super(SupereventUpdateSerializer, self).__init__(*args, **kwargs)
......
......@@ -72,7 +72,8 @@ class SupereventViewSet(SafeCreateMixin, InheritDefaultPermissionsMixin,
SupereventSearchFilter, SupereventOrderingFilter,)
ordering_fields = ('created', 't_0', 't_start', 't_end',
'preferred_event__id', 't_0_date', 'is_gw', 'base_date_number',
'gw_date_number', 'category')
'gw_date_number', 'category',
'coinc_far','em_type')
def get_serializer_class(self):
"""Select a different serializer for updates"""
......
# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-06-03 20:10
from __future__ import unicode_literals
from django.db import migrations
# The new cert and subject line came as a result of gstlalcbc's old
# certificate expiring on Oct 1, 2019. The new cert was generated
# on Oct 7, 2019 and expires Oct 7, 2020. So this one should get
# through O3b.
ACCOUNT = {
'name': 'gstlalcbc',
'new_cert': '/DC=org/DC=cilogon/C=US/O=LIGO/OU=Robots/CN=cbc.ligo.caltech.edu/CN=gstlalcbc/CN=Chad Hanna/CN=UID:chad.hanna.robot',
}
def add_cert(apps, schema_editor):
RobotUser = apps.get_model('auth', 'User')
# Get user
user = RobotUser.objects.get(username=ACCOUNT['name'])
# Create new certificate
user.x509cert_set.create(subject=ACCOUNT['new_cert'])
def delete_cert(apps, schema_editor):
RobotUser = apps.get_model('ligoauth', 'RobotUser')
# Get user
user = RobotUser.objects.get(username=ACCOUNT['name'])
# Delete new certificate
cert = user.x509cert_set.get(subject=ACCOUNT['new_cert'])
cert.delete()
class Migration(migrations.Migration):
dependencies = [
('ligoauth', '0051_populate_grb_managers_authgroup'),
]
operations = [
migrations.RunPython(add_cert, delete_cert),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.20 on 2019-05-15 18:07
from __future__ import unicode_literals
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('superevents', '0004_populate_voevent_fields'),
]
operations = [
migrations.AddField(
model_name='Superevent',
name='coinc_far',
field=models.FloatField(blank=True, null=True),
),
migrations.AddField(
model_name='Superevent',
name='em_type',
field=models.CharField(null=True, blank=True, max_length=100),
),
]
......@@ -118,6 +118,10 @@ class Superevent(CleanSaveModel, AutoIncrementModel):
# superevent, we are going to use a database field to track it.
is_exposed = models.BooleanField(default=False)
# New O3b fields for RAVEN:
coinc_far = models.FloatField(null=False, blank=True)
em_type = models.CharField(blank=True, null=True, max_length=100)
# Meta class --------------------------------------------------------------
class Meta:
ordering = ["-id"]
......
......@@ -125,11 +125,13 @@ def update_superevent(superevent, updater, add_log_message=True,
issue_alert=True, **kwargs):
"""
kwargs which are used as superevent parameters:
t_start, t_0, t_end, preferred_event
t_start, t_0, t_end, preferred_event,
em_type, coinc_far
"""
# Extract "updatable" superevent params from kwargs
param_names = ['t_start', 't_0', 't_end', 'preferred_event']
param_names = ['t_start', 't_0', 't_end', 'preferred_event',
'em_type','coinc_far']
new_params = {k: v for k,v in kwargs.items() if k in param_names}
# Get old parameters
......
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