diff --git a/gracedb/views.py b/gracedb/views.py index 150d63ec27f5e34fdcdc9fb049ef067745271b9a..793a2bd994125ab960ec247adbc959fa6fd5eb3f 100644 --- a/gracedb/views.py +++ b/gracedb/views.py @@ -366,9 +366,7 @@ def cli_tag(request): return response -def cli_label(request): - graceid = request.POST.get('graceid') - labelName = request.POST.get('label') +def create_label(graceid, labelName, creator, doAlert=True, doXMPP=True): d = {} event = graceid and Event.getByGraceid(graceid) @@ -385,18 +383,26 @@ def cli_label(request): labelling = Labelling( event = event, label = label, - creator = request.ligouser + creator = creator ) labelling.save() message = "Label: %s" % label.name - log = EventLog(event=event, issuer=request.ligouser, comment=message) + log = EventLog(event=event, issuer=creator, comment=message) log.save() try: - doxmpp = request.POST.get('alert') == "True" - issueAlertForLabel(event, label, doxmpp) + issueAlertForLabel(event, label, doXMPP) except Exception, e: d['warning'] = "Problem issuing alert (%s)" % str(e) + # XXX Strange return value. Just warnings. Can really be ignored, I think. + return d + +def cli_label(request): + graceid = request.POST.get('graceid') + labelName = request.POST.get('label') + + doxmpp = request.POST.get('alert') == "True" + d = create_label(graceid, labelName, request.ligouser, doXMPP=doxmpp) msg = str(d) response = HttpResponse(mimetype='application/json')