function show_instances() { $.get($.cookie("base_location") + "api/v1/instances", function(data) { $("#main_content").html("

List of Spectrum 2 instances

"); var admin = $.cookie("admin") == "1"; $.each(data.instances, function(i, instance) { if (instance.running) { if (admin) { var command = instance.running ? "stop" : "start"; } else { var command = instance.registered ? "unregister" : "register"; if (instance.registered) { instance.status += "
Registered as " + instance.username; } } } else if (admin) { var command = "start"; } else { var command = ""; } var row = '' row += '' row += '' if (command == 'register') { row += ''; $("#main_result > tbody:last-child").append(row); } else if (command == "") { row += ''; $("#main_result > tbody:last-child").append(row); } else { row += ''; $("#main_result > tbody:last-child").append(row); $(".button_command").click(function(e) { e.preventDefault(); $(this).parent().empty().progressbar( {value: false} ).css('height', '1em'); var url = $(this).attr('href'); $.get(url, function(data) { show_instances(); }); }) } }); }); } function show_users() { var admin = $.cookie("admin") == "1"; if (!admin) { $("#main_content").html("

List of Spectrum 2 users

Only administrator can list the users.

"); return; } $.get($.cookie("base_location") + "api/v1/users", function(data) { $("#main_content").html("

List of Spectrum 2 users

You can add new users here.

NameStatusActions
' + instance.name + '' + instance.status + '' + command + '' + '
' + command + '' + '
"); $.each(data.users, function(i, user) { var row = '' row += '' row += ''; $("#main_result > tbody:last-child").append(row); $(".button_command").click(function(e) { e.preventDefault(); $(this).parent().empty().progressbar( {value: false} ).css('height', '1em'); var url = $(this).attr('href'); $.get(url, function(data) { show_users(); }); }) }); }); } function getQueryParams(qs) { qs = qs.split('+').join(' '); var params = {}, tokens, re = /[?&]?([^=]+)=([^&]*)/g; while (tokens = re.exec(qs)) { params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]); } return params; } function fill_instances_register_form() { var query = getQueryParams(document.location.search); $("#instance").attr("value", query.id); $(".button_command").click(function(e) { e.preventDefault(); $(this).parent().empty().progressbar( {value: false} ).css('height', '1em'); var postdata ={ "jid": $("#jid").val(), "uin": $("#uin").val(), "password": $("#password").val() }; $.post($.cookie("base_location") + "api/v1/instances/register/" + $("#instance").val(), postdata, function(data) { if (data.oauth2_url) { window.location.replace(data.oauth2_url); } else { window.location.replace("index.shtml"); } }); }) $.get($.cookie("base_location") + "api/v1/instances/register_form/" + query.id, function(data) { $("#jid_desc").html(data.username_label + ":"); $("#uin_desc").html(data.legacy_username_label + ":"); $("#password_desc").html(data.password_label + ":"); $("#jid").attr("placeholder", data.username_label); $("#uin").attr("placeholder", data.legacy_username_label); $("#password").attr("placeholder", data.password_label); }); } function fill_users_register_form() { $(".button").click(function(e) { e.preventDefault(); $(this).parent().empty().progressbar( {value: false} ).css('height', '1em'); var postdata ={ "username": $("#username").val(), "password": $("#password").val() }; $.post($.cookie("base_location") + "api/v1/users/add", postdata, function(data) { var query = getQueryParams(document.location.search); if (query.back_to_list == "1") { window.location.replace("list.shtml"); } else { window.location.replace("../login/"); } }); }) }
NameActions
' + user.username + 'remove