Skip to content
Snippets Groups Projects
Commit 198d473f authored by Tanner Prestegard's avatar Tanner Prestegard Committed by gracedb-dev1
Browse files

issue XMPP alerts when a log message is created from web interface and when a...

issue XMPP alerts when a log message is created from web interface and when a label is removed from an event
parent 3c9ed271
No related branches found
No related tags found
No related merge requests found
......@@ -10,7 +10,8 @@ from models import SimInspiralEvent
from models import LalInferenceBurstEvent
from models import EMBBEventLog, EMGroup
from models import EMObservation, EMFootprint
from alert import issueAlert, issueAlertForLabel, issueAlertForUpdate
from alert import issueAlert, issueAlertForLabel, issueAlertForUpdate, \
issueXMPPAlert
from translator import handle_uploaded_data
from utils.vfile import VersionedFile
......@@ -194,7 +195,7 @@ def create_label(event, request, labelName, doAlert=True, doXMPP=True):
# and label_created bool
return json.dumps(d), label_created
def delete_label(event, request, labelName):
def delete_label(event, request, labelName, doXMPP=True):
# This function deletes a label. It starts out a lot like the create
# label function. First get user and event info:
creator = request.user
......@@ -228,6 +229,15 @@ def delete_label(event, request, labelName):
logger.exception('Problem saving log message (%s)' % str(e))
d['error'] = str(e)
# send an XMPP alert, no email or phone alerts
try:
if doXMPP:
issueXMPPAlert(event, "", alert_type="label",
description="Label {0} removed".format(label.name))
except Exception as e:
logger.exception('Problem issuing alert (%s)' % str(e))
d['warning'] = "Problem issuing alert (%s)" % str(e)
# Return the json for some reason. I don't do any alert stuff in here.
return json.dumps(d)
......
......@@ -26,6 +26,12 @@ from view_logic import create_label, delete_label
from view_utils import assembleLigoLw, get_file
from view_utils import flexigridResponse, jqgridResponse
from view_utils import get_recent_events_string
from view_utils import eventLogToDict
from alert import issueAlertForUpdate
# Set up logging
import logging
log = logging.getLogger(__name__)
import os
from django.conf import settings
......@@ -178,6 +184,8 @@ def _create(request):
@event_and_auth_required
def logentry(request, event, num=None):
"""Creates an EventLog from the web interface"""
if request.method == "POST":
# create a log entry
elog = EventLog(event=event, issuer=request.user)
......@@ -252,6 +260,22 @@ def logentry(request, event, num=None):
except:
pass
# Send XMPP alert message
try:
if uploadedFile:
desc = "UPLOAD: '{0}' ".format(uploadedFile.name)
fname = uploadedFile.name
else:
desc = "LOG: "
fname = ""
issueAlertForUpdate(event, desc+elog.comment, doxmpp=True,
filename=fname,
serialized_object=eventLogToDict(elog, request=request))
except Exception as e:
log.error('Error issuing alert: %s' % str(e))
return HttpResponse("Failed to send alert for log message: %s" \
.format(e))
elif request.method == "GET":
if not user_has_perm(request.user, 'view', event):
return HttpResponseForbidden("Forbidden")
......
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