|
@@ -8,7 +8,7 @@ from datetime import datetime, timedelta, time
|
|
|
from collections import defaultdict
|
|
|
|
|
|
from flask import current_app, Blueprint, render_template, jsonify, abort, \
|
|
|
- request, redirect, url_for
|
|
|
+ request, redirect, url_for, flash
|
|
|
|
|
|
from larigira.entrypoints_utils import get_avail_entrypoints
|
|
|
from larigira.audiogen import get_audiogenerator
|
|
@@ -22,6 +22,14 @@ db = Blueprint('db', __name__,
|
|
|
template_folder='templates')
|
|
|
|
|
|
|
|
|
+def request_wants_json():
|
|
|
+ best = request.accept_mimetypes \
|
|
|
+ .best_match(['application/json', 'text/html'])
|
|
|
+ return best == 'application/json' and \
|
|
|
+ request.accept_mimetypes[best] > \
|
|
|
+ request.accept_mimetypes['text/html']
|
|
|
+
|
|
|
+
|
|
|
def get_model():
|
|
|
return current_app.larigira.controller.monitor.model
|
|
|
|
|
@@ -100,6 +108,7 @@ def edit_time(alarmid):
|
|
|
form=form,
|
|
|
kind=kind,
|
|
|
mode='edit',
|
|
|
+ alarmid=alarmid,
|
|
|
)
|
|
|
|
|
|
|
|
@@ -189,3 +198,18 @@ def change_actions(alarmid):
|
|
|
new_fields={'actions': [int(a) for a in
|
|
|
new_actions]})
|
|
|
return jsonify(dict(updated=alarmid, ret=ret))
|
|
|
+
|
|
|
+
|
|
|
+@db.route('/api/alarm/<int:alarmid>/delete', methods=['POST'])
|
|
|
+def delete_alarm(alarmid):
|
|
|
+ model = current_app.larigira.controller.monitor.model
|
|
|
+ try:
|
|
|
+ alarm = model.get_alarm_by_id(int(alarmid))
|
|
|
+ print(alarm['nick'])
|
|
|
+ model.delete_alarm(alarmid)
|
|
|
+ except KeyError:
|
|
|
+ abort(404)
|
|
|
+ if request_wants_json():
|
|
|
+ return jsonify(dict(deleted=alarmid))
|
|
|
+ flash('Evento %d `%s` cancellato' % (alarmid, alarm['nick']) )
|
|
|
+ return redirect(url_for('db.events_list'))
|