cloudstack/ui/scripts/cloud.core.init.js

712 lines
32 KiB
JavaScript

/**
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
*
* This software is licensed under the GNU General Public License v3 or later.
*
* It is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
$(document).ready(function() {
function initUI() {
var context = $.urlParam('lp');
if (context != null) {
if (context == 'instance') {
$("#leftmenu_instances").click();
$("#leftmenu_instances_my_instances").click();
} else if (context == 'volume') {
$("#leftmenu_storage").click();
$("#leftmenu_volume").click();
} else if (context == 'ip') {
$("#leftmenu_network").click();
$("#leftmenu_ip").click();
} else {
$("#leftmenu_dashboard").click();
}
} else {
$("#leftmenu_dashboard").click();
}
}
$(".leftmenu_content_flevel").hover(
function() {
$(this).find(".leftmenu_arrows_firstlevel_open").show();
},
function() {
if ($selectedLeftMenu.attr("id") != $(this).attr("id")) {
$(this).find(".leftmenu_arrows_firstlevel_open").hide();
}
}
);
// Setup first level navigation
$("#leftmenu_configuration").bind("click", function(event) {
selectLeftMenu($(this), true);
return false;
});
$("#leftmenu_system").bind("click", function(event) {
selectLeftMenu($(this), true);
return false;
});
$("#leftmenu_domain").bind("click", function(event) {
selectLeftMenu($(this), true);
return false;
});
$("#leftmenu_account").bind("click", function(event) {
selectLeftMenu($(this), true);
return false;
});
$("#leftmenu_dashboard").bind("click", function(event) {
var $dashboard = $(this);
selectLeftMenu($dashboard, false, function() {
selectLeftSubMenu($dashboard);
clearMiddleMenu();
clearButtonsOnTop();
hideMiddleMenu();
$("#right_panel").data("onRefreshFn", function() {
$("#leftmenu_dashboard").click();
});
$("#right_panel").load("jsp/dashboard.jsp", function(){
afterLoadDashboardJSP();
});
});
return false;
});
$("#leftmenu_storage").bind("click", function(event) {
selectLeftMenu($(this), true);
return false;
});
$("#leftmenu_network").bind("click", function(event) {
selectLeftMenu($(this), true);
return false;
});
$("#leftmenu_templates").bind("click", function(event) {
selectLeftMenu($(this), true);
return false;
});
$("#leftmenu_events").bind("click", function(event) {
selectLeftMenu($(this), true);
return false;
});
$("#leftmenu_instances").bind("click", function(event) {
instanceBuildSubMenu();
selectLeftMenu($(this), true);
return false;
});
// Setup 2nd level navigation
function buildSecondLevelNavigation() {
// Instance sub menus
bindAndListMidMenuItems($("#leftmenu_instances_my_instances"), "listVirtualMachines&domainid="+g_domainid+"&account="+g_account, vmGetSearchParams, "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
bindAndListMidMenuItems($("#leftmenu_instances_all_instances"), "listVirtualMachines", vmGetSearchParams, "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
bindAndListMidMenuItems($("#leftmenu_instances_running_instances"), "listVirtualMachines&state=Running", vmGetSearchParams, "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
bindAndListMidMenuItems($("#leftmenu_instances_stopped_instances"), "listVirtualMachines&state=Stopped", vmGetSearchParams, "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
bindAndListMidMenuItems($("#leftmenu_instances_destroyed_instances"), "listVirtualMachines&state=Destroyed", vmGetSearchParams, "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
bindAndListMidMenuItems($("#leftmenu_event"), "listEvents", eventGetSearchParams, "listeventsresponse", "event", "jsp/event.jsp", afterLoadEventJSP, eventToMidmenu, eventToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_volume"), "listVolumes", volumeGetSearchParams, "listvolumesresponse", "volume", "jsp/volume.jsp", afterLoadVolumeJSP, volumeToMidmenu, volumeToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_snapshot"), "listSnapshots", snapshotGetSearchParams, "listsnapshotsresponse", "snapshot", "jsp/snapshot.jsp", afterLoadSnapshotJSP, snapshotToMidmenu, snapshotToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_security_group"), "listSecurityGroups", securityGroupGetSearchParams, "listsecuritygroupsresponse", "securitygroup", "jsp/securitygroup.jsp", afterLoadSecurityGroupJSP, securityGroupToMidmenu, securityGroupToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_my_template"), "listTemplates&templatefilter=self", templateGetSearchParams, "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRightPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_featured_template"), "listTemplates&templatefilter=featured", templateGetSearchParams, "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRightPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_community_template"), "listTemplates&templatefilter=community", templateGetSearchParams, "listtemplatesresponse", "template", "jsp/template.jsp", afterLoadTemplateJSP, templateToMidmenu, templateToRightPanel, templateGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_my_iso"), "listIsos&isofilter=self", isoGetSearchParams, "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_featured_iso"), "listIsos&isofilter=featured", isoGetSearchParams, "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_community_iso"), "listIsos&isofilter=community", isoGetSearchParams, "listisosresponse", "iso", "jsp/iso.jsp", afterLoadIsoJSP, isoToMidmenu, isoToRightPanel, isoGetMidmenuId, false);
if (isAdmin() || isDomainAdmin()) {
bindAndListMidMenuItems($("#leftmenu_account_my_accounts"), "listAccounts&domainid="+g_domainid+"&name="+g_account, accountGetSearchParams, "listaccountsresponse", "account", "jsp/account.jsp", afterLoadAccountJSP, accountToMidmenu, accountToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_account_all_accounts"), "listAccounts", accountGetSearchParams, "listaccountsresponse", "account", "jsp/account.jsp", afterLoadAccountJSP, accountToMidmenu, accountToRightPanel, getMidmenuId, false);
}
if (isAdmin()) {
bindAndListMidMenuItems($("#leftmenu_alert"), "listAlerts", alertGetSearchParams, "listalertsresponse", "alert", "jsp/alert.jsp", afterLoadAlertJSP, alertToMidmenu, alertToRightPanel, getMidmenuId, false);
//system
bindAndListMidMenuItems($("#leftmenu_submenu_virtual_router"), "listRouters", routerGetSearchParams, "listroutersresponse", "router", "jsp/router.jsp", afterLoadRouterJSP, routerToMidmenu, routerToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_submenu_systemvm"), "listSystemVms", systemVmGetSearchParams, "listsystemvmsresponse", "systemvm", "jsp/systemvm.jsp", afterLoadSystemVmJSP, systemvmToMidmenu, systemvmToRightPanel, getMidmenuId, false);
//configuration
bindAndListMidMenuItems($("#leftmenu_service_offering"), "listServiceOfferings", serviceOfferingGetSearchParams, "listserviceofferingsresponse", "serviceoffering", "jsp/serviceoffering.jsp", afterLoadServiceOfferingJSP, serviceOfferingToMidmenu, serviceOfferingToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_disk_offering"), "listDiskOfferings", diskOfferingGetSearchParams, "listdiskofferingsresponse", "diskoffering", "jsp/diskoffering.jsp", afterLoadDiskOfferingJSP, diskOfferingToMidmenu, diskOfferingToRightPanel, getMidmenuId, false);
bindAndListMidMenuItems($("#leftmenu_network_offering"), "listNetworkOfferings&type=Virtual", networkOfferingGetSearchParams, "listnetworkofferingsresponse", "networkoffering", "jsp/networkoffering.jsp", afterLoadNetworkOfferingJSP, networkOfferingToMidmenu, networkOfferingToRightPanel, getMidmenuId, false);
}
$("#leftmenu_global_setting").bind("click", function(event) {
selectLeftSubMenu($(this));
hideMiddleMenu();
clearMiddleMenu();
clearButtonsOnTop();
$("#right_panel").data("onRefreshFn", function() {
$("#leftmenu_global_setting").click();
});
if (currentRightPanelJSP != "jsp/globalsetting.jsp") {
$("#right_panel").load("jsp/globalsetting.jsp", function(){
currentRightPanelJSP = "jsp/globalsetting.jsp";
var $actionLink = $("#right_panel_content #tab_content_details #action_link");
$actionLink.bind("mouseover", function(event) {
$(this).find("#action_menu").show();
return false;
});
$actionLink.bind("mouseout", function(event) {
$(this).find("#action_menu").hide();
return false;
});
afterLoadGlobalSettingJSP();
});
} else {
populateGlobalSettingGrid();
}
return false;
});
$("#leftmenu_physical_resource").bind("click", function(event) {
var $target = $(event.target);
var targetId = $target.attr("id");
if(targetId == "physical_resource_arrow") {
if($target.hasClass("expanded_close") == true) {
$target.removeClass("expanded_close").addClass("expanded_open");
buildZoneTree();
} else {
$target.removeClass("expanded_open").addClass("expanded_close");
$("#leftmenu_zone_tree").find("#tree_container").empty();
}
}
else {
if(currentRightPanelJSP != "jsp/resource.jsp") {
removeDialogs();
$("#right_panel").data("onRefreshFn", function() {
$("#leftmenu_physical_resource").click();
});
$("#right_panel").load("jsp/resource.jsp", function(){
currentRightPanelJSP = "jsp/resource.jsp";
afterLoadResourceJSP();
});
}
else {
resourceCountTotal();
}
}
return false;
});
//Setup domain
if (isAdmin() || isDomainAdmin()) {
bindEventHandlerToDomainTreeNode();
drawRootNode(g_domainid);
}
}
$("#midmenu_action_link").bind("mouseover", function(event) {
$(this).find("#action_menu").show();
return false;
});
$("#midmenu_action_link").bind("mouseout", function(event) {
$(this).find("#action_menu").hide();
return false;
});
// Prevent the UI from being iframed if the iframe isn't from the same domain.
try {
if ( top != self && self.location.hostname != top.location.hostname) {
// leaving the code here in the oft change an older browser is being used that does not have
// cross-site scripting prevention.
alert("Detected a frame (" + top.location.hostname + ") not from the same domain (" + self.location.hostname + "). Moving app to top of browser to prevent any security tampering.");
top.location.href = window.location.href;
}
} catch (err) {
// This means the domains are different because the browser is preventing access to the parent's domain.
alert("Detected a frame not from the same domain (" + self.location.hostname + "). Moving app to top of browser to prevent any security tampering.");
top.location.href = window.location.href;
}
// We don't support IE6 at the moment, so let's just inform customers it won't work
var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
var gteIE7 = false /*@cc_on || @_jscript_version >= 5.7 @*/;
// Disable IE6 browsers as UI does not support it
if (IE6 == true) {
alert("Only IE7, IE8, FireFox 3.x, Chrome, and Safari browsers are supported at this time.");
return;
}
//basic search
$("#basic_search").find("#search_input").unbind("keypress").bind("keypress", function(event) {
event.stopPropagation();
if(event.keyCode == keycode_Enter) {
event.preventDefault();
var params = $("#middle_menu_pagination").data("params");
if(params == null)
return;
lastSearchType = "basic_search";
listMidMenuItems2(params.commandString, params.getSearchParamsFn, params.jsonResponse1, params.jsonResponse2, params.toMidmenuFn, params.toRightPanelFn, params.getMidmenuIdFn, params.isMultipleSelectionInMidMenu, 1);
}
});
//advanced search
$("#advanced_search_icon").unbind("click").bind("click", function(event) {
if($(this).hasClass("up")) { //clicking up-arrow
getAdvancedSearchPopupInSearchContainer().slideUp("500");
$(this).removeClass("up"); //change arrow from up to down
}
else { //clicking down-arrow
$(this).addClass("up"); //change arrow from down to up
if(getAdvancedSearchPopupInSearchContainer().length > 0) {
getAdvancedSearchPopupInSearchContainer().slideDown("500");
}
else {
var $advancedSearchPopup = getAdvancedSearchPopupInHiddenContainer();
$advancedSearchPopup.slideDown("500").appendTo($("#advanced_search_container"));
$advancedSearchPopup.unbind("click").bind("click", function(event) {
var $target = $(event.target);
var targetId = $target.attr("id");
if($target.hasClass("textwatermark")) {
$target.val("");
$target.removeClass("textwatermark");
}
return true;
});
$advancedSearchPopup.unbind("keypress").bind("keypress", function(event) {
event.stopPropagation();
if(event.keyCode == keycode_Enter) {
event.preventDefault();
var params = $("#middle_menu_pagination").data("params");
if(params == null)
return;
lastSearchType = "advanced_search";
listMidMenuItems2(params.commandString, params.getSearchParamsFn, params.jsonResponse1, params.jsonResponse2, params.toMidmenuFn, params.toRightPanelFn, params.getMidmenuIdFn, params.isMultipleSelectionInMidMenu, 1);
}
});
if(isAdmin() || isDomainAdmin())
$advancedSearchPopup.find("#adv_search_domain_li, #adv_search_account_li, #adv_search_pod_li").show();
else
$advancedSearchPopup.find("#adv_search_domain_li, #adv_search_account_li, #adv_search_pod_li").hide();
var zoneSelect = $advancedSearchPopup.find("#adv_search_zone");
if(zoneSelect.length>0) { //if zone dropdown is found on Advanced Search dialog
$.ajax({
data: createURL("command=listZones&available=true"),
dataType: "json",
success: function(json) {
var zones = json.listzonesresponse.zone;
zoneSelect.empty();
zoneSelect.append("<option value=''>by zone</option>");
if (zones != null && zones.length > 0) {
for (var i = 0; i < zones.length; i++) {
zoneSelect.append("<option value='" + zones[i].id + "'>" + fromdb(zones[i].name) + "</option>");
}
}
}
});
var podSelect = $advancedSearchPopup.find("#adv_search_pod").empty();
var podLabel = $advancedSearchPopup.find("#adv_search_pod_label");
if(podSelect.length>0 && $advancedSearchPopup.find("#adv_search_pod_li").css("display")!="none") {
zoneSelect.bind("change", function(event) {
var zoneId = $(this).val();
if (zoneId == null || zoneId.length == 0) {
podLabel.css("color", "gray");
podSelect.attr("disabled", "disabled");
podSelect.empty();
} else {
podLabel.css("color", "black");
podSelect.removeAttr("disabled");
$.ajax({
data: createURL("command=listPods&zoneId="+zoneId+""),
dataType: "json",
async: false,
success: function(json) {
var pods = json.listpodsresponse.pod;
podSelect.empty();
podSelect.append("<option value=''>by pod</option>");
if (pods != null && pods.length > 0) {
for (var i = 0; i < pods.length; i++) {
podSelect.append("<option value='" + pods[i].id + "'>" + fromdb(pods[i].name) + "</option>");
}
}
}
});
}
return false;
});
zoneSelect.change();
}
}
var domainSelect = $advancedSearchPopup.find("#adv_search_domain");
if(domainSelect.length>0 && $advancedSearchPopup.find("#adv_search_domain_li").css("display")!="none") {
$.ajax({
data: createURL("command=listDomains&available=true"),
dataType: "json",
success: function(json) {
var domains = json.listdomainsresponse.domain;
domainSelect.empty();
domainSelect.append("<option value=''>by domain</option>");
if (domains != null && domains.length > 0) {
for (var i = 0; i < domains.length; i++) {
domainSelect.append("<option value='" + domains[i].id + "'>" + fromdb(domains[i].name) + "</option>");
}
}
}
});
}
/*
var vmSelect = $advancedSearchPopup.find("#adv_search_vm");
if(vmSelect.length>0) {
$.ajax({
data: createURL("command=listVirtualMachines"),
dataType: "json",
success: function(json) {
var items = json.listvirtualmachinesresponse.virtualmachine;
vmSelect.empty();
vmSelect.append("<option value=''>by instance</option>");
if (items != null && items.length > 0) {
for (var i = 0; i < items.length; i++) {
vmSelect.append("<option value='" + items[i].id + "'>" + fromdb(items[i].name) + "</option>");
}
}
}
});
}
*/
$advancedSearchPopup.find("#adv_search_startdate, #adv_search_enddate").datepicker({dateFormat: 'yy-mm-dd'});
}
}
return false;
});
//pagination
$("#middle_menu_pagination").unbind("click").bind("click", function(event) {
var params = $(this).data("params");
if(params == null)
return;
var $target = $(event.target);
var targetId = $target.attr("id");
if(targetId == "midmenu_prevbutton") {
listMidMenuItems2(params.commandString, params.getSearchParamsFn, params.jsonResponse1, params.jsonResponse2, params.toMidmenuFn, params.toRightPanelFn, params.getMidmenuIdFn, params.isMultipleSelectionInMidMenu, (params.page-1));
}
else if(targetId == "midmenu_nextbutton") {
listMidMenuItems2(params.commandString, params.getSearchParamsFn, params.jsonResponse1, params.jsonResponse2, params.toMidmenuFn, params.toRightPanelFn, params.getMidmenuIdFn, params.isMultipleSelectionInMidMenu, (params.page+1));
}
return false;
});
// refresh button
$("#refresh_link").unbind("click").bind("click", function(event) {
var onRefreshFn = $("#right_panel").data("onRefreshFn");
if(onRefreshFn != null)
onRefreshFn();
return false;
});
// Initialize help drop down dialog
$("#help_link").unbind("click").bind("click", function(event) {
$("#help_dropdown_dialog").show();
$("#help_button").addClass("selected");
return false;
});
$("#help_dropdown_close").unbind("click").bind("click", function(event) {
$("#help_dropdown_dialog").hide();
$("#help_button").removeClass("selected");
return false;
});
initializeTestTool();
// Default AJAX Setup
$.ajaxSetup({
url: "/client/api",
dataType: "json",
cache: false,
error: function(XMLHttpResponse) {
handleError(XMLHttpResponse);
},
beforeSend: function(XMLHttpRequest) {
if (g_mySession == $.cookie("JSESSIONID")) {
return true;
} else {
$("#dialog_session_expired").dialog("open");
return false;
}
}
});
// LOGIN/LOGOUT
// 'Enter' Key in any login form element = Submit click
$("#login_wrapper #loginForm").keypress(function(event) {
var formId = $(event.target).attr("id");
if(event.keyCode == keycode_Enter && formId != "loginbutton") {
login();
}
});
$("#login_wrapper #loginbutton").bind("click", function(event) {
login();
return false;
});
$("#main_logout").bind("click", function(event) {
$.ajax({
data: createURL("command=logout&response=json"),
dataType: "json",
success: function(json) {
logout(true);
},
error: function() {
logout(true);
},
beforeSend : function(XMLHTTP) {
return true;
}
});
});
// FUNCTION: logs the user out
var activeTab = null;
function logout(refresh) {
g_mySession = null;
g_sessionKey = null;
g_username = null;
g_account = null;
g_domainid = null;
g_timezoneoffset = null;
g_timezone = null;
$.cookie('JSESSIONID', null);
$.cookie('sessionKey', null);
$.cookie('username', null);
$.cookie('account', null);
$.cookie('domainid', null);
$.cookie('role', null);
$.cookie('networktype', null);
$.cookie('timezoneoffset', null);
$.cookie('timezone', null);
$("body").stopTime();
// default is to redisplay the login page
if (onLogoutCallback()) {
if (refresh) {
location.replace('/client');
return false;
}
$("#account_password").val("");
$("#login_wrapper #login_error").hide();
$("#login_wrapper").show();
$("#main").hide();
$("#overlay_black").hide();
var menuOnClass = "menutab_on";
var menuOffClass = "menutab_off";
var tab = null;
if (isAdmin()) {
tab = $("#menutab_dashboard_root");
menuOnClass = "admin_menutab_on";
menuOffClass = "admin_menutab_off";
} else if (isDomainAdmin()) {
tab = $("#menutab_dashboard_domain");
menuOnClass = "admin_menutab_on";
menuOffClass = "admin_menutab_off";
} else if (isUser()) {
tab = $("#menutab_dashboard_user");
menuOnClass = "menutab_on";
menuOffClass = "menutab_off";
}
if (activeTab != null) {
activeTab.removeClass(menuOnClass).addClass(menuOffClass);
activeTab = null;
}
if (tab != null) {
tab.removeClass(menuOffClass).addClass(menuOnClass);
}
g_role = null;
$("#account_username").focus();
}
}
// FUNCTION: logs the user in
function login() {
var array1 = [];
var username = encodeURIComponent($("#account_username").val());
array1.push("&username="+username);
var password = $.md5(encodeURIComponent($("#account_password").val()));
array1.push("&password="+password);
var domain = $("#account_domain").val();
if(domain != null && domain.length > 0) {
if (domain.charAt(0) != "/") {
domain = "/" + domain;
}
array1.push("&domain="+encodeURIComponent(domain));
} else {
array1.push("&domain="+encodeURIComponent("/"));
}
$.ajax({
type: "POST",
data: createURL("command=login&response=json" + array1.join("")),
dataType: "json",
async: false,
success: function(json) {
g_mySession = $.cookie('JSESSIONID');
g_sessionKey = encodeURIComponent(json.loginresponse.sessionkey);
g_role = json.loginresponse.type;
g_username = json.loginresponse.username;
g_account = json.loginresponse.account;
g_domainid = json.loginresponse.domainid;
g_timezone = json.loginresponse.timezone;
g_timezoneoffset = json.loginresponse.timezoneoffset;
if (json.loginresponse.hypervisortype != null)
g_hypervisorType = json.loginresponse.hypervisortype;
if (json.loginresponse.directattachnetworkgroupsenabled != null)
g_directAttachNetworkGroupsEnabled = json.loginresponse.directattachnetworkgroupsenabled;
if (json.loginresponse.directattacheduntaggedenabled != null)
g_directAttachedUntaggedEnabled = json.loginresponse.directattacheduntaggedenabled;
if (json.loginresponse.systemvmuselocalstorage != null)
g_systemVmUseLocalStorage = json.loginresponse.systemvmuselocalstorage;
$.cookie('sessionKey', g_sessionKey, { expires: 1});
$.cookie('hypervisortype', g_hypervisorType, { expires: 1});
$.cookie('username', g_username, { expires: 1});
$.cookie('account', g_account, { expires: 1});
$.cookie('domainid', g_domainid, { expires: 1});
$.cookie('role', g_role, { expires: 1});
$.cookie('timezoneoffset', g_timezoneoffset, { expires: 1});
$.cookie('timezone', g_timezone, { expires: 1});
$.cookie('directattachnetworkgroupsenabled', g_directAttachNetworkGroupsEnabled, { expires: 1});
$.cookie('directattacheduntaggedenabled', g_directAttachedUntaggedEnabled, { expires: 1});
$.cookie('systemvmuselocalstorage', g_systemVmUseLocalStorage, { expires: 1});
buildSecondLevelNavigation();
$("#main_username").text(g_username);
$("#login_wrapper").hide();
showLeftNavigationBasedOnRole();
initUI();
$("#main").show();
},
error: function() {
$("#account_password").val("");
$("#login_wrapper #login_error").show();
$("#account_username").focus();
},
beforeSend: function(XMLHttpRequest) {
return true;
}
});
}
// Dialogs
initDialog("dialog_confirmation", 350, false);
initDialogWithOK("dialog_info", 350, false);
initDialogWithOK("dialog_alert", 350, false);
$("#dialog_alert").siblings(".ui-widget-header").css("background", "url('/client/css/images/ui-bg_errorglass_30_ffffff_1x400.png') repeat-x scroll 50% 50% #393939");
$("#dialog_alert").siblings(".ui-dialog-buttonpane").find(".ui-state-default").css("background", "url('/client/css/images/ui-bg_errorglass_30_ffffff_1x400.png') repeat-x scroll 50% 50% #393939");
initDialogWithOK("dialog_error", 350, false);
$("#dialog_error").siblings(".ui-widget-header").css("background", "url('/client/css/images/ui-bg_errorglass_30_ffffff_1x400.png') repeat-x scroll 50% 50% #393939");
$("#dialog_error").siblings(".ui-dialog-buttonpane").find(".ui-state-default").css("background", "url('/client/css/images/ui-bg_errorglass_30_ffffff_1x400.png') repeat-x scroll 50% 50% #393939");
$("#dialog_session_expired").dialog({
autoOpen: false,
modal: true,
zIndex: 2000,
buttons: { "OK": function() { logout(true); $(this).dialog("close"); } }
});
$("#dialog_session_expired").siblings(".ui-widget-header").css("background", "url('/client/css/images/ui-bg_errorglass_30_ffffff_1x400.png') repeat-x scroll 50% 50% #393939");
$("#dialog_session_expired").siblings(".ui-dialog-buttonpane").find(".ui-state-default").css("background", "url('/client/css/images/ui-bg_errorglass_30_ffffff_1x400.png') repeat-x scroll 50% 50% #393939");
initDialogWithOK("dialog_info_please_select_one_item_in_middle_menu", 350, false);
// Check whether the session is valid.
g_mySession = $.cookie("JSESSIONID");
g_sessionKey = $.cookie("sessionKey");
g_role = $.cookie("role");
g_username = $.cookie("username");
g_account = $.cookie("account");
g_domainid = $.cookie("domainid");
g_hypervisorType = $.cookie("hypervisortype");
g_timezone = $.cookie("timezone");
g_directAttachNetworkGroupsEnabled = $.cookie("directattachnetworkgroupsenabled");
g_directAttachedUntaggedEnabled = $.cookie("directattacheduntaggedenabled");
g_systemVmUseLocalStorage = $.cookie("systemvmuselocalstorage");
if($.cookie("timezoneoffset") != null)
g_timezoneoffset = isNaN($.cookie("timezoneoffset"))?null: parseFloat($.cookie("timezoneoffset"));
else
g_timezoneoffset = null;
if (!g_hypervisorType || g_hypervisorType.length == 0)
g_hypervisorType = "kvm";
if (!g_directAttachNetworkGroupsEnabled || g_directAttachNetworkGroupsEnabled.length == 0)
g_directAttachNetworkGroupsEnabled = "false";
if (!g_directAttachedUntaggedEnabled || g_directAttachedUntaggedEnabled.length == 0)
g_directAttachedUntaggedEnabled = "false";
if (!g_systemVmUseLocalStorage || g_systemVmUseLocalStorage.length == 0)
g_systemVmUseLocalStorage = "false";
$.ajax({
data: createURL("command=listZones&available=true&response=json"),
dataType: "json",
async: false,
success: function(json) {
buildSecondLevelNavigation();
$("#main_username").text(g_username);
showLeftNavigationBasedOnRole();
initUI();
$("#main").show();
},
error: function(xmlHTTP) {
logout(false);
},
beforeSend: function(xmlHTTP) {
return true;
}
});
});