diff --git a/data/interfaces/default/libraries.html b/data/interfaces/default/libraries.html
index d138a4aa..4ae736a3 100644
--- a/data/interfaces/default/libraries.html
+++ b/data/interfaces/default/libraries.html
@@ -180,18 +180,19 @@
% if _session['user_group'] == 'admin':
$("#refresh-libraries-list").click(function () {
+ showMsg('Refreshing libraries list...', true, false);
$.ajax({
url: 'refresh_libraries_list',
cache: false,
async: true,
- success: function (data) {
- showMsg(' Libraries list refresh started...', false, true, 2000, false);
- },
- complete: function (data) {
- showMsg(' Libraries list refreshed.', false, true, 2000, false);
- },
- error: function (jqXHR, textStatus, errorThrown) {
- showMsg(' Unable to refresh libraries list.', false, true, 2000, true);
+ complete: function (xhr, status) {
+ var result = $.parseJSON(xhr.responseText);
+ var msg = result.message;
+ if (result.result == 'success') {
+ showMsg(' ' + msg, false, true, 2000, false);
+ } else {
+ showMsg(' ' + msg, false, true, 2000, true);
+ }
}
});
});
diff --git a/data/interfaces/default/users.html b/data/interfaces/default/users.html
index b3e9148c..84c52b20 100644
--- a/data/interfaces/default/users.html
+++ b/data/interfaces/default/users.html
@@ -184,18 +184,19 @@
% if _session['user_group'] == 'admin':
$("#refresh-users-list").click(function() {
+ showMsg('Refreshing users list...', true, false);
$.ajax({
url: 'refresh_users_list',
cache: false,
async: true,
- success: function(data) {
- showMsg(' Users list refresh started...', false, true, 2000, false);
- },
- complete: function (data) {
- showMsg(' Users list refreshed.', false, true, 2000, false);
- },
- error: function (jqXHR, textStatus, errorThrown) {
- showMsg(' Unable to refresh users list.', false, true, 2000, true);
+ complete: function (xhr, status) {
+ var result = $.parseJSON(xhr.responseText);
+ var msg = result.message;
+ if (result.result == 'success') {
+ showMsg(' ' + msg, false, true, 2000, false);
+ } else {
+ showMsg(' ' + msg, false, true, 2000, true);
+ }
}
});
});
diff --git a/plexpy/webserve.py b/plexpy/webserve.py
index 3b263fb7..5cbfbeda 100644
--- a/plexpy/webserve.py
+++ b/plexpy/webserve.py
@@ -458,12 +458,17 @@ class WebInterface(object):
logger.warn(u"Unable to retrieve data for get_library_sections.")
@cherrypy.expose
+ @cherrypy.tools.json_out()
@requireAuth(member_of("admin"))
def refresh_libraries_list(self, **kwargs):
- """ Refresh the libraries list on it's own thread. """
- threading.Thread(target=libraries.refresh_libraries).start()
+ """ Manually refresh the libraries list. """
logger.info(u"Manual libraries list refresh requested.")
- return True
+ result = libraries.refresh_libraries()
+
+ if result:
+ return {'result': 'success', 'message': 'Libraries list refreshed.'}
+ else:
+ return {'result': 'error', 'message': 'Unable to refresh libraries list.'}
@cherrypy.expose
@requireAuth()
@@ -1079,12 +1084,17 @@ class WebInterface(object):
return user_list
@cherrypy.expose
+ @cherrypy.tools.json_out()
@requireAuth(member_of("admin"))
def refresh_users_list(self, **kwargs):
- """ Refresh the users list on it's own thread. """
- threading.Thread(target=users.refresh_users).start()
+ """ Manually refresh the users list. """
logger.info(u"Manual users list refresh requested.")
- return True
+ result = users.refresh_users()
+
+ if result:
+ return {'result': 'success', 'message': 'Users list refreshed.'}
+ else:
+ return {'result': 'error', 'message': 'Unable to refresh users list.'}
@cherrypy.expose
@requireAuth()