diff --git a/gracedb/alert.py b/gracedb/alert.py index 10dc7791fb6ced2a158913a27767deea394a7e17..b7b7f6d7301f956da234af671ee7a47fcc7059fa 100644 --- a/gracedb/alert.py +++ b/gracedb/alert.py @@ -82,7 +82,12 @@ def issueEmailAlert(event, location): triggers = atype.trigger_set.filter(labels=None) for trigger in triggers: for recip in trigger.contacts.all(): - bccaddresses.append(recip.email) + if trigger.farThresh == None: + bccaddresses.append(recip.email) + else: + if event.far != None and event.far < trigger.farThresh: + bccaddresses.append(recip.email) +# bccaddresses.append(recip.email) subject = "[gracedb] %s event. ID: %s" % (event.get_analysisType_display(), event.graceid()) message = """ diff --git a/userprofile/models.py b/userprofile/models.py index dbabd67bfff5550932a19c270ef7ca62adc0e9b5..270be3dc10f15b264842ff04c854d1992457caba 100644 --- a/userprofile/models.py +++ b/userprofile/models.py @@ -46,6 +46,7 @@ class Trigger(models.Model): labels = models.ManyToManyField(Label, blank=True) atypes = models.ManyToManyField(AnalysisType, blank=True, verbose_name="Analysis Types") contacts = models.ManyToManyField(Contact, blank=True) + farThresh = models.FloatField(blank=True, null=True) def __unicode__(self): return ("%s: %s") % ( diff --git a/userprofile/views.py b/userprofile/views.py index d2d3ddea758702ff3a9c22a6d0fe8f6042f97b19..7256f500de73e00f27b07cee9a90277194b6768a 100644 --- a/userprofile/views.py +++ b/userprofile/views.py @@ -31,6 +31,7 @@ def create(request): labels = form.cleaned_data['labels'] atypes = form.cleaned_data['atypes'] contacts = form.cleaned_data['contacts'] + farThresh = form.cleaned_data['farThresh'] if contacts and (labels or atypes): t.save() # Need an id before relations can be set. @@ -38,6 +39,7 @@ def create(request): t.labels = labels t.atypes = atypes t.contacts = contacts + t.farThresh = farThresh except: t.delete() t.save()