Add button to clear notification logs

This commit is contained in:
JonnyWong16 2016-03-04 23:13:19 -08:00
parent b39e7bbb6d
commit 7f5d9bec87
3 changed files with 44 additions and 1 deletions

View file

@ -22,6 +22,7 @@ from plexpy import helpers
</div> </div>
<div class="button-bar"> <div class="button-bar">
<button class="btn btn-dark" id="clear-logs"><i class="fa fa-trash-o"></i> Clear log</button> <button class="btn btn-dark" id="clear-logs"><i class="fa fa-trash-o"></i> Clear log</button>
<button class="btn btn-dark" id="clear-notify-logs" style="display: none;"><i class="fa fa-trash-o"></i> Clear log</button>
</div> </div>
</div> </div>
<div class='table-card-back'> <div class='table-card-back'>
@ -156,24 +157,28 @@ from plexpy import helpers
$("#plexpy-logs-btn").click(function () { $("#plexpy-logs-btn").click(function () {
$("#clear-logs").show(); $("#clear-logs").show();
$("#clear-notify-logs").hide();
LoadPlexPyLogs(); LoadPlexPyLogs();
clearSearchButton('log_table', log_table); clearSearchButton('log_table', log_table);
}); });
$("#plex-logs-btn").click(function () { $("#plex-logs-btn").click(function () {
$("#clear-logs").hide(); $("#clear-logs").hide();
$("#clear-notify-logs").hide();
LoadPlexLogs(); LoadPlexLogs();
clearSearchButton('plex_log_table', plex_log_table); clearSearchButton('plex_log_table', plex_log_table);
}); });
$("#plex-scanner-logs-btn").click(function () { $("#plex-scanner-logs-btn").click(function () {
$("#clear-logs").hide(); $("#clear-logs").hide();
$("#clear-notify-logs").hide();
LoadPlexScannerLogs(); LoadPlexScannerLogs();
clearSearchButton('plex_scanner_log_table', plex_scanner_log_table); clearSearchButton('plex_scanner_log_table', plex_scanner_log_table);
}); });
$("#notification-logs-btn").click(function () { $("#notification-logs-btn").click(function () {
$("#clear-logs").hide(); $("#clear-logs").hide();
$("#clear-notify-logs").show();
LoadNotificationLogs(); LoadNotificationLogs();
clearSearchButton('notification_log_table', notification_log_table); clearSearchButton('notification_log_table', notification_log_table);
}); });
@ -185,6 +190,19 @@ from plexpy import helpers
} }
}); });
$("#clear-notify-logs").click(function () {
var r = confirm("Are you sure you want to clear the PlexPy notification log?");
if (r == true) {
$.ajax({
url: 'clearNotifyLogs',
type: 'POST',
success: function (data) {
notification_log_table.draw();
}
});
}
});
var timer; var timer;
function setRefresh() function setRefresh()
{ {

View file

@ -1206,4 +1206,16 @@ class DataFactory(object):
'draw': query['draw'] 'draw': query['draw']
} }
return dict return dict
def delete_notification_log(self):
monitor_db = database.MonitorDatabase()
try:
logger.info(u"PlexPy DataFactory :: Clearing notification logs from database.")
monitor_db.action('DELETE FROM notify_log')
monitor_db.action('VACUUM')
return 'Cleared notification logs.'
except Exception as e:
logger.warn(u"PlexPy DataFactory :: Unable to execute database query for delete_notification_log: %s." % e)
return 'Unable to clear notification logs.'

View file

@ -1096,6 +1096,19 @@ class WebInterface(object):
cherrypy.response.headers['Content-type'] = 'application/json' cherrypy.response.headers['Content-type'] = 'application/json'
return json.dumps(notifications) return json.dumps(notifications)
@cherrypy.expose
@addtoapi()
def clearNotifyLogs(self, **kwargs):
data_factory = datafactory.DataFactory()
result = data_factory.delete_notification_log()
if result:
cherrypy.response.headers['Content-type'] = 'application/json'
return json.dumps({'message': result})
else:
cherrypy.response.headers['Content-type'] = 'application/json'
return json.dumps({'message': 'no data received'})
@cherrypy.expose @cherrypy.expose
def clearLogs(self): def clearLogs(self):
plexpy.LOG_LIST = [] plexpy.LOG_LIST = []