\ No newline at end of file
diff --git a/ui/old/jsp/iso.jsp b/ui/old/jsp/iso.jsp
deleted file mode 100644
index 8a094d44391..00000000000
--- a/ui/old/jsp/iso.jsp
+++ /dev/null
@@ -1,462 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
diff --git a/ui/old/jsp/network.jsp b/ui/old/jsp/network.jsp
deleted file mode 100644
index 40fff19c41e..00000000000
--- a/ui/old/jsp/network.jsp
+++ /dev/null
@@ -1,1403 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
diff --git a/ui/old/jsp/networkoffering.jsp b/ui/old/jsp/networkoffering.jsp
deleted file mode 100644
index 689854935e8..00000000000
--- a/ui/old/jsp/networkoffering.jsp
+++ /dev/null
@@ -1,205 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
diff --git a/ui/old/jsp/pod.jsp b/ui/old/jsp/pod.jsp
deleted file mode 100644
index 91496b59101..00000000000
--- a/ui/old/jsp/pod.jsp
+++ /dev/null
@@ -1,882 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
-
-
-
diff --git a/ui/old/jsp/primarystorage.jsp b/ui/old/jsp/primarystorage.jsp
deleted file mode 100644
index 98f1c9eecf2..00000000000
--- a/ui/old/jsp/primarystorage.jsp
+++ /dev/null
@@ -1,340 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
diff --git a/ui/old/jsp/resource.jsp b/ui/old/jsp/resource.jsp
deleted file mode 100644
index 9bc5a8c8e86..00000000000
--- a/ui/old/jsp/resource.jsp
+++ /dev/null
@@ -1,1147 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
-
-
diff --git a/ui/old/jsp/router.jsp b/ui/old/jsp/router.jsp
deleted file mode 100644
index fa30c28b655..00000000000
--- a/ui/old/jsp/router.jsp
+++ /dev/null
@@ -1,330 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
diff --git a/ui/old/jsp/secondarystorage.jsp b/ui/old/jsp/secondarystorage.jsp
deleted file mode 100644
index 7df978aa792..00000000000
--- a/ui/old/jsp/secondarystorage.jsp
+++ /dev/null
@@ -1,195 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
-
diff --git a/ui/old/jsp/securitygroup.jsp b/ui/old/jsp/securitygroup.jsp
deleted file mode 100644
index d7f129aa131..00000000000
--- a/ui/old/jsp/securitygroup.jsp
+++ /dev/null
@@ -1,386 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
-
diff --git a/ui/old/jsp/serviceoffering.jsp b/ui/old/jsp/serviceoffering.jsp
deleted file mode 100644
index 763e4c6cbdd..00000000000
--- a/ui/old/jsp/serviceoffering.jsp
+++ /dev/null
@@ -1,342 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
\ No newline at end of file
diff --git a/ui/old/jsp/snapshot.jsp b/ui/old/jsp/snapshot.jsp
deleted file mode 100644
index 4df291a9bd6..00000000000
--- a/ui/old/jsp/snapshot.jsp
+++ /dev/null
@@ -1,250 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
-
-
-
diff --git a/ui/old/jsp/systemserviceoffering.jsp b/ui/old/jsp/systemserviceoffering.jsp
deleted file mode 100644
index c02af743044..00000000000
--- a/ui/old/jsp/systemserviceoffering.jsp
+++ /dev/null
@@ -1,353 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
\ No newline at end of file
diff --git a/ui/old/jsp/systemvm.jsp b/ui/old/jsp/systemvm.jsp
deleted file mode 100644
index 0651a9d3d94..00000000000
--- a/ui/old/jsp/systemvm.jsp
+++ /dev/null
@@ -1,276 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
\ No newline at end of file
diff --git a/ui/old/jsp/template.jsp b/ui/old/jsp/template.jsp
deleted file mode 100644
index eb3c1519c43..00000000000
--- a/ui/old/jsp/template.jsp
+++ /dev/null
@@ -1,487 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
diff --git a/ui/old/jsp/volume.jsp b/ui/old/jsp/volume.jsp
deleted file mode 100644
index ebd9384278e..00000000000
--- a/ui/old/jsp/volume.jsp
+++ /dev/null
@@ -1,817 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
-
-
-
-
-
-
-
-
-
-
-
- Message will appear here
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ui/old/jsp/zone.jsp b/ui/old/jsp/zone.jsp
deleted file mode 100644
index 4238e3bba7a..00000000000
--- a/ui/old/jsp/zone.jsp
+++ /dev/null
@@ -1,728 +0,0 @@
-<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ui/old/scripts/cloud.core.account.js b/ui/old/scripts/cloud.core.account.js
deleted file mode 100644
index 86461d05846..00000000000
--- a/ui/old/scripts/cloud.core.account.js
+++ /dev/null
@@ -1,988 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-var rootDomainId = 1;
-
-var systemAccountId = 1;
-var adminAccountId = 2;
-
-var systemUserId = 1;
-var adminUserId = 2;
-
-function accountGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var role = $advancedSearchPopup.find("#adv_search_role").val();
- if (role != null && role.length > 0)
- moreCriteria.push("&accounttype="+role);
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadAccountJSP() {
- if(isAdmin()) {
- initDialog("dialog_resource_limits");
- initDialog("dialog_edit_user", 450);
- initDialog("dialog_change_password", 450);
- initDialog("dialog_add_user", 450);
-
- $("#top_buttons").find("#add_account_button").show();
- bindAddAccountButton();
- bindAddUserButton();
- }
-
- // switch between different tabs
- var tabArray = [$("#tab_details"), $("#tab_user")];
- var tabContentArray = [$("#tab_content_details"), $("#tab_content_user")];
- var afterSwitchFnArray = [accountJsonToDetailsTab, accountJsonToUserTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-
- $readonlyFields = $("#tab_content_details").find("#name");
- $editFields = $("#tab_content_details").find("#name_edit");
-
- initTimezonesObj();
-}
-
-function initTimezonesObj() {
- var timezones = new Object();
- timezones['Etc/GMT+12']='[UTC-12:00] GMT-12:00';
- timezones['Etc/GMT+11']='[UTC-11:00] GMT-11:00';
- timezones['Pacific/Samoa']='[UTC-11:00] Samoa Standard Time';
- timezones['Pacific/Honolulu']='[UTC-10:00] Hawaii Standard Time';
- timezones['US/Alaska']='[UTC-09:00] Alaska Standard Time';
- timezones['America/Los_Angeles']='[UTC-08:00] Pacific Standard Time';
- timezones['Mexico/BajaNorte']='[UTC-08:00] Baja California';
- timezones['US/Arizona']='[UTC-07:00] Arizona';
- timezones['US/Mountain']='[UTC-07:00] Mountain Standard Time';
- timezones['America/Chihuahua']='[UTC-07:00] Chihuahua, La Paz';
- timezones['America/Chicago']='[UTC-06:00] Central Standard Time';
- timezones['America/Costa_Rica']='[UTC-06:00] Central America';
- timezones['America/Mexico_City']='[UTC-06:00] Mexico City, Monterrey';
- timezones['Canada/Saskatchewan']='[UTC-06:00] Saskatchewan';
- timezones['America/Bogota']='[UTC-05:00] Bogota, Lima';
- timezones['America/New_York']='[UTC-05:00] Eastern Standard Time';
- timezones['America/Caracas']='[UTC-04:00] Venezuela Time';
- timezones['America/Asuncion']='[UTC-04:00] Paraguay Time';
- timezones['America/Cuiaba']='[UTC-04:00] Amazon Time';
- timezones['America/Halifax']='[UTC-04:00] Atlantic Standard Time';
- timezones['America/La_Paz']='[UTC-04:00] Bolivia Time';
- timezones['America/Santiago']='[UTC-04:00] Chile Time';
- timezones['America/St_Johns']='[UTC-03:30] Newfoundland Standard Time';
- timezones['America/Araguaina']='[UTC-03:00] Brasilia Time';
- timezones['America/Argentina/Buenos_Aires']='[UTC-03:00] Argentine Time';
- timezones['America/Cayenne']='[UTC-03:00] French Guiana Time';
- timezones['America/Godthab']='[UTC-03:00] Greenland Time';
- timezones['America/Montevideo']='[UTC-03:00] Uruguay Time]';
- timezones['Etc/GMT+2']='[UTC-02:00] GMT-02:00';
- timezones['Atlantic/Azores']='[UTC-01:00] Azores Time';
- timezones['Atlantic/Cape_Verde']='[UTC-01:00] Cape Verde Time';
- timezones['Africa/Casablanca']='[UTC] Casablanca';
- timezones['Etc/UTC']='[UTC] Coordinated Universal Time';
- timezones['Atlantic/Reykjavik']='[UTC] Reykjavik';
- timezones['Europe/London']='[UTC] Western European Time';
- timezones['CET']='[UTC+01:00] Central European Time';
- timezones['Europe/Bucharest']='[UTC+02:00] Eastern European Time';
- timezones['Africa/Johannesburg']='[UTC+02:00] South Africa Standard Time';
- timezones['Asia/Beirut']='[UTC+02:00] Beirut';
- timezones['Africa/Cairo']='[UTC+02:00] Cairo';
- timezones['Asia/Jerusalem']='[UTC+02:00] Israel Standard Time';
- timezones['Europe/Minsk']='[UTC+02:00] Minsk';
- timezones['Europe/Moscow']='[UTC+03:00] Moscow Standard Time';
- timezones['Africa/Nairobi']='[UTC+03:00] Eastern African Time';
- timezones['Asia/Karachi']='[UTC+05:00] Pakistan Time';
- timezones['Asia/Kolkata']='[UTC+05:30] India Standard Time';
- timezones['Asia/Bangkok']='[UTC+05:30] Indochina Time';
- timezones['Asia/Shanghai']='[UTC+08:00] China Standard Time';
- timezones['Asia/Kuala_Lumpur']='[UTC+08:00] Malaysia Time';
- timezones['Australia/Perth']='[UTC+08:00] Western Standard Time (Australia)';
- timezones['Asia/Taipei']='[UTC+08:00] Taiwan';
- timezones['Asia/Tokyo']='[UTC+09:00] Japan Standard Time';
- timezones['Asia/Seoul']='[UTC+09:00] Korea Standard Time';
- timezones['Australia/Adelaide']='[UTC+09:30] Central Standard Time (South Australia)';
- timezones['Australia/Darwin']='[UTC+09:30] Central Standard Time (Northern Territory)';
- timezones['Australia/Brisbane']='[UTC+10:00] Eastern Standard Time (Queensland)';
- timezones['Australia/Canberra']='[UTC+10:00] Eastern Standard Time (New South Wales)';
- timezones['Pacific/Guam']='[UTC+10:00] Chamorro Standard Time';
- timezones['Pacific/Auckland']='[UTC+12:00] New Zealand Standard Time';
-}
-
-function bindAddAccountButton() {
- initDialog("dialog_add_account", 450);
-
- var $dialogAddAccount = $("#dialog_add_account");
-
- applyAutoCompleteToDomainField($dialogAddAccount.find("#domain"));
-
- $("#add_account_button").unbind("click").bind("click", function(event) {
- $dialogAddAccount
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("User name", $thisDialog.find("#add_user_username"), $thisDialog.find("#add_user_username_errormsg"), false); //required
- isValid &= validateString("Password", $thisDialog.find("#add_user_password"), $thisDialog.find("#add_user_password_errormsg"), false); //required
- isValid &= validateEmail("Email", $thisDialog.find("#add_user_email"), $thisDialog.find("#add_user_email_errormsg"), false); //required
- isValid &= validateString("First name", $thisDialog.find("#add_user_firstname"), $thisDialog.find("#add_user_firstname_errormsg"), false); //required
- isValid &= validateString("Last name", $thisDialog.find("#add_user_lastname"), $thisDialog.find("#add_user_lastname_errormsg"), false); //required
- isValid &= validateString("Account", $thisDialog.find("#add_user_account"), $thisDialog.find("#add_user_account_errormsg"), true); //optional
-
- isValid &= validateString("Domain", $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), false); //required
- var domainName = $thisDialog.find("#domain").val();
- var domainId;
- if(domainName != null && domainName.length > 0) {
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- isValid &= false;
- }
- }
-
- if (!isValid)
- return;
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
-
- var array1 = [];
- var username = $thisDialog.find("#add_user_username").val();
- array1.push("&username="+todb(username));
-
- var password = $thisDialog.find("#add_user_password").val();
- if (md5Hashed) {
- password = $.md5(password);
- }
- array1.push("&password="+password);
-
- var email = $thisDialog.find("#add_user_email").val();
- array1.push("&email="+todb(email));
-
- var firstname = $thisDialog.find("#add_user_firstname").val();
- array1.push("&firstname="+todb(firstname));
-
- var lastname = $thisDialog.find("#add_user_lastname").val();
- array1.push("&lastname="+todb(lastname));
-
- var account = $thisDialog.find("#add_user_account").val();
- if(account == "")
- account = username;
- array1.push("&account="+todb(account));
-
- var accountType = $thisDialog.find("#add_user_account_type").val();
-
- if (parseInt(domainId) != rootDomainId && accountType == "1") {
- accountType = "2"; // Change to domain admin
- }
- array1.push("&accounttype="+accountType);
-
- //var domainId = $thisDialog.find("#domain_dropdown").val();
- array1.push("&domainid="+domainId);
-
- var timezone = $thisDialog.find("#add_user_timezone").val();
- if(timezone != null && timezone.length > 0)
- array1.push("&timezone="+todb(timezone));
-
- $thisDialog.dialog("close");
-
- $.ajax({
- type: "POST",
- data: createURL("command=createAccount"+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- if($("#leftmenu_account_all_accounts").hasClass("selected") == false) { //for fixing Bug 7452 ("Adding an account under My Account will result in a duplicate")
- $("#leftmenu_account_all_accounts").click();
- }
- else {
- var item = json.createaccountresponse.account;
- accountToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, accountToRightPanel, getMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
- }
- },
- error: function(XMLHttpResponse) {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- return false;
- });
-}
-
-function bindAddUserButton() {
- var $dialogAddUser = $("#dialog_add_user");
-
- $("#add_user_button").show().unbind("click").bind("click", function(event) {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var accountObj = $midmenuItem1.data("jsonObj");
- if(accountObj == null)
- return;
-
- if($("#tab_user").hasClass("off"))
- $("#tab_user").click();
-
- $dialogAddUser.find("#account_name").text(accountObj.name);
- $dialogAddUser.find("#info_container").hide();
-
- $dialogAddUser
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateString("User name", $thisDialog.find("#add_user_username"), $thisDialog.find("#add_user_username_errormsg"), false); //required
- isValid &= validateString("Password", $thisDialog.find("#add_user_password"), $thisDialog.find("#add_user_password_errormsg"), false); //required
- isValid &= validateEmail("Email", $thisDialog.find("#add_user_email"), $thisDialog.find("#add_user_email_errormsg"), false); //required
- isValid &= validateString("First name", $thisDialog.find("#add_user_firstname"), $thisDialog.find("#add_user_firstname_errormsg"), false); //required
- isValid &= validateString("Last name", $thisDialog.find("#add_user_lastname"), $thisDialog.find("#add_user_lastname_errormsg"), false); //required
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show();
-
- var array1 = [];
- var username = $thisDialog.find("#add_user_username").val();
- array1.push("&username="+todb(username));
-
- var password = $thisDialog.find("#add_user_password").val();
- if (md5Hashed) {
- password = $.md5(password);
- }
- array1.push("&password="+password);
-
- var email = $thisDialog.find("#add_user_email").val();
- array1.push("&email="+todb(email));
-
- var firstname = $thisDialog.find("#add_user_firstname").val();
- array1.push("&firstname="+todb(firstname));
-
- var lastname = $thisDialog.find("#add_user_lastname").val();
- array1.push("&lastname="+todb(lastname));
-
- array1.push("&domainid="+accountObj.domainid);
- array1.push("&account="+accountObj.name);
- array1.push("&accounttype="+accountObj.accounttype);
-
- var timezone = $thisDialog.find("#add_user_timezone").val();
- if(timezone != null && timezone.length > 0)
- array1.push("&timezone="+todb(timezone));
-
- $.ajax({
- type: "POST",
- data: createURL("command=createUser"+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.createuserresponse.user;
-
- var $subgridItem = $("#user_tab_template").clone(true);
- accountUserJSONToTemplate(item, $subgridItem);
- $subgridItem.find("#after_action_info").text(g_dictionary["label.adding.succeeded"]);
- $subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").show();
- $("#tab_content_user").find("#tab_container").append($subgridItem.show());
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- return false;
- });
-}
-
-function accountToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- if (jsonObj.accounttype == roleTypeUser)
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_account_user.png");
- else if (jsonObj.accounttype == roleTypeAdmin)
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_account_admin.png");
- else if (jsonObj.accounttype == roleTypeDomainAdmin)
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_account_domain.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.domain);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function accountToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- $("#tab_details").click();
-}
-
-function accountClearRightPanel() {
- accountClearDetailsTab();
- accountClearUserTab();
-}
-
-function accountJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- accountClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- accountClearDetailsTab();
- return;
- }
-
- $.ajax({
- data: createURL("command=listAccounts&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listaccountsresponse.account;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- var $detailsTab = $("#right_panel_content").find("#tab_content_details");
- $detailsTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $detailsTab.find("#id").text(fromdb(jsonObj.id));
- $detailsTab.find("#role").text(toRole(jsonObj.accounttype));
- $detailsTab.find("#name").text(fromdb(jsonObj.name));
- $detailsTab.find("#name_edit").val(fromdb(jsonObj.name));
- $detailsTab.find("#domain").text(fromdb(jsonObj.domain));
- $detailsTab.find("#vm_total").text(fromdb(jsonObj.vmtotal));
- $detailsTab.find("#ip_total").text(fromdb(jsonObj.iptotal));
- $detailsTab.find("#bytes_received").text(convertBytes(jsonObj.receivedbytes));
- $detailsTab.find("#bytes_sent").text(convertBytes(jsonObj.sentbytes));
- $detailsTab.find("#state").text(fromdb(jsonObj.state));
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- if(isAdmin()) {
- if(jsonObj.id != systemAccountId && jsonObj.id != adminAccountId) {
- buildActionLinkForTab("label.action.edit.account", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab);
-
- if (jsonObj.accounttype == roleTypeUser || jsonObj.accounttype == roleTypeDomainAdmin) {
- buildActionLinkForTab("label.action.resource.limits", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab);
- }
-
- if(jsonObj.state == "enabled") {
- buildActionLinkForTab("label.action.disable.account", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab);
- buildActionLinkForTab("label.action.lock.account", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab);
- }
- else if(jsonObj.state == "disabled" || jsonObj.state == "locked") {
- buildActionLinkForTab("label.action.enable.account", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab);
- }
-
- buildActionLinkForTab("label.action.delete.account", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab);
- noAvailableActions = false;
- }
- }
- buildActionLinkForTab("label.action.update.resource.count", accountActionMap, $actionMenu, $midmenuItem1, $detailsTab);
- noAvailableActions = false;
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-}
-
-function accountClearDetailsTab() {
- var $detailsTab = $("#right_panel_content").find("#tab_content_details");
- $detailsTab.find("#grid_header_title").text("");
- $detailsTab.find("#id").text("");
- $detailsTab.find("#role").text("");
- $detailsTab.find("#name").text("");
- $detailsTab.find("#domain").text("");
- $detailsTab.find("#vm_total").text("");
- $detailsTab.find("#ip_total").text("");
- $detailsTab.find("#bytes_received").text("");
- $detailsTab.find("#bytes_sent").text("");
- $detailsTab.find("#state").text("");
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-function accountJsonToUserTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- accountClearUserTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- accountClearUserTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_user");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- cache: false,
- data: createURL("command=listUsers&domainid="+fromdb(jsonObj.domainid)+"&account="+todb(fromdb(jsonObj.name))),
- dataType: "json",
- success: function(json) {
- var items = json.listusersresponse.user;
- var $container = $thisTab.find("#tab_container").empty();
- if (items != null && items.length > 0) {
- var $template = $("#user_tab_template");
- for (var i = 0; i < items.length; i++) {
- var $newTemplate = $template.clone(true);
- accountUserJSONToTemplate(items[i], $newTemplate);
- $container.append($newTemplate.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function accountClearUserTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_user");
- $thisTab.find("#tab_container").empty();
-}
-
-function accountUserJSONToTemplate(jsonObj, $template) {
- $template.data("jsonObj", jsonObj);
- $template.attr("id", "account_user_"+fromdb(jsonObj.id)).data("accountUserId", fromdb(jsonObj.id));
- $template.find("#grid_header_title").text(fromdb(jsonObj.username));
- $template.find("#id").text(fromdb(jsonObj.id));
- $template.find("#username").text(fromdb(jsonObj.username));
- $template.find("#state").text(fromdb(jsonObj.state));
- $template.find("#apikey").text(fromdb(jsonObj.apikey));
- $template.find("#secretkey").text(fromdb(jsonObj.secretkey));
- $template.find("#account").text(fromdb(jsonObj.account));
- $template.find("#role").text(toRole(fromdb(jsonObj.accounttype)));
- $template.find("#domain").text(fromdb(jsonObj.domain));
- $template.find("#email").text(fromdb(jsonObj.email));
- $template.find("#firstname").text(fromdb(jsonObj.firstname));
- $template.find("#lastname").text(fromdb(jsonObj.lastname));
- $template.find("#timezone").text(timezones[fromdb(jsonObj.timezone)]);
- $template.data("timezone", jsonObj.timezone);
-
- //actions
- var $actionLink = $template.find("#action_link");
- bindActionLink($actionLink);
- /*
- $actionLink.bind("mouseover", function(event) {
- $(this).find("#action_menu").show();
- return false;
- });
- $actionLink.bind("mouseout", function(event) {
- $(this).find("#action_menu").hide();
- return false;
- });
- */
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- if(isAdmin()) {
- buildActionLinkForSubgridItem("label.action.edit.user", accountUserActionMap, $actionMenu, $template);
- buildActionLinkForSubgridItem("label.action.change.password", accountUserActionMap, $actionMenu, $template);
- buildActionLinkForSubgridItem("label.action.generate.keys", accountUserActionMap, $actionMenu, $template);
- noAvailableActions = false;
-
- if(jsonObj.id != systemUserId && jsonObj.id != adminUserId) {
- if(jsonObj.state == "enabled")
- buildActionLinkForSubgridItem("label.action.disable.user", accountUserActionMap, $actionMenu, $template);
- if(jsonObj.state == "disabled")
- buildActionLinkForSubgridItem("label.action.enable.user", accountUserActionMap, $actionMenu, $template);
- buildActionLinkForSubgridItem("label.action.delete.user", accountUserActionMap, $actionMenu, $template);
- }
- }
-
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-}
-
-var accountActionMap = {
- "label.action.edit.account": {
- dialogBeforeActionFn: doEditAccount
- },
- "label.action.update.resource.count": {
- isAsyncJob: false,
- dialogBeforeActionFn : doUpdateResourceCountForAccount,
- inProcessText: "label.action.update.resource.count.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){}
- },
- "label.action.resource.limits": {
- dialogBeforeActionFn : doResourceLimitsForAccount
- }
- ,
- "label.action.disable.account": {
- isAsyncJob: true,
- asyncJobResponse: "disableaccountresponse",
- dialogBeforeActionFn : doDisableAccount,
- inProcessText: "label.action.disable.account.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.account;
- accountToMidmenu(item, $midmenuItem1);
- }
- }
- ,
- "label.action.lock.account": {
- isAsyncJob: true,
- asyncJobResponse: "disableaccountresponse",
- dialogBeforeActionFn : doLockAccount,
- inProcessText: "label.action.lock.account.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.account;
- accountToMidmenu(item, $midmenuItem1);
- }
- }
- ,
- "label.action.enable.account": {
- isAsyncJob: false,
- dialogBeforeActionFn : doEnableAccount,
- inProcessText: "label.action.enable.account.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.enableaccountresponse.account;
- accountToMidmenu(item, $midmenuItem1);
- }
- }
- ,
- "label.action.delete.account": {
- isAsyncJob: true,
- asyncJobResponse: "deleteaccountresponse",
- dialogBeforeActionFn : doDeleteAccount,
- inProcessText: "label.action.delete.account.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- accountClearRightPanel();
- }
- }
- }
-};
-
-function doEditAccount($actionLink, $detailsTab, $midmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditAccount2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditAccount2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"));
- if (!isValid)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- var array1 = [];
- array1.push("&id="+id);
-
- var name = $detailsTab.find("#name_edit").val();
- array1.push("&newname="+todb(name));
-
- $.ajax({
- data: createURL("command=updateAccount&domainid="+jsonObj.domainid+"&account="+jsonObj.name+array1.join("")),
- dataType: "json",
- success: function(json) {
- var item = json.updateaccountresponse.account;
- accountToMidmenu(item, $midmenuItem1);
- accountJsonToDetailsTab();
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
- });
-}
-
-function doUpdateResourceCountForAccount($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var domainid=jsonObj.domainid;
- var account = jsonObj.name;
- var apiCommand = "command=updateResourceCount&domainid="+domainid+"&account="+account;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
-}
-
-function updateResourceLimitForAccount(domainId, account, type, max) {
- $.ajax({
- data: createURL("command=updateResourceLimit&domainid="+domainId+"&account="+account+"&resourceType="+type+"&max="+max),
- dataType: "json",
- success: function(json) {
- }
- });
-}
-
-function doResourceLimitsForAccount($actionLink, $detailsTab, $midmenuItem1) {
- var $detailsTab = $("#right_panel_content #tab_content_details");
- var jsonObj = $midmenuItem1.data("jsonObj");
- var domainId = jsonObj.domainid;
- var account = jsonObj.name;
- $.ajax({
- cache: false,
- data: createURL("command=listResourceLimits&domainid="+domainId+"&account="+account),
- dataType: "json",
- success: function(json) {
- var limits = json.listresourcelimitsresponse.resourcelimit;
- var preInstanceLimit, preIpLimit, preDiskLimit, preSnapshotLimit, preTemplateLimit = -1;
- if (limits != null) {
- for (var i = 0; i < limits.length; i++) {
- var limit = limits[i];
- switch (limit.resourcetype) {
- case "0":
- preInstanceLimit = limit.max;
- $("#dialog_resource_limits #limits_vm").val(limit.max);
- break;
- case "1":
- preIpLimit = limit.max;
- $("#dialog_resource_limits #limits_ip").val(limit.max);
- break;
- case "2":
- preDiskLimit = limit.max;
- $("#dialog_resource_limits #limits_volume").val(limit.max);
- break;
- case "3":
- preSnapshotLimit = limit.max;
- $("#dialog_resource_limits #limits_snapshot").val(limit.max);
- break;
- case "4":
- preTemplateLimit = limit.max;
- $("#dialog_resource_limits #limits_template").val(limit.max);
- break;
- }
- }
- }
- $("#dialog_resource_limits")
- .dialog('option', 'buttons', {
- "Save": function() {
- // validate values
- var isValid = true;
- isValid &= validateInteger("Instance Limit", $("#dialog_resource_limits #limits_vm"), $("#dialog_resource_limits #limits_vm_errormsg"), -1, 32000, false);
- isValid &= validateInteger("Public IP Limit", $("#dialog_resource_limits #limits_ip"), $("#dialog_resource_limits #limits_ip_errormsg"), -1, 32000, false);
- isValid &= validateInteger("Disk Volume Limit", $("#dialog_resource_limits #limits_volume"), $("#dialog_resource_limits #limits_volume_errormsg"), -1, 32000, false);
- isValid &= validateInteger("Snapshot Limit", $("#dialog_resource_limits #limits_snapshot"), $("#dialog_resource_limits #limits_snapshot_errormsg"), -1, 32000, false);
- isValid &= validateInteger("Template Limit", $("#dialog_resource_limits #limits_template"), $("#dialog_resource_limits #limits_template_errormsg"), -1, 32000, false);
- if (!isValid) return;
-
- var instanceLimit = trim($("#dialog_resource_limits #limits_vm").val());
- var ipLimit = trim($("#dialog_resource_limits #limits_ip").val());
- var diskLimit = trim($("#dialog_resource_limits #limits_volume").val());
- var snapshotLimit = trim($("#dialog_resource_limits #limits_snapshot").val());
- var templateLimit = trim($("#dialog_resource_limits #limits_template").val());
-
- $(this).dialog("close");
- if (instanceLimit != preInstanceLimit) {
- updateResourceLimitForAccount(domainId, account, 0, instanceLimit);
- }
- if (ipLimit != preIpLimit) {
- updateResourceLimitForAccount(domainId, account, 1, ipLimit);
- }
- if (diskLimit != preDiskLimit) {
- updateResourceLimitForAccount(domainId, account, 2, diskLimit);
- }
- if (snapshotLimit != preSnapshotLimit) {
- updateResourceLimitForAccount(domainId, account, 3, snapshotLimit);
- }
- if (templateLimit != preTemplateLimit) {
- updateResourceLimitForAccount(domainId, account, 4, templateLimit);
- }
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- }
- });
-}
-
-function doDisableAccount($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.disable.account"])
- .dialog('option', 'buttons', {
- "Yes": function() {
- $(this).dialog("close");
- var apiCommand = "command=disableAccount&lock=false&account="+jsonObj.name+"&domainId="+jsonObj.domainid;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab) ;
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doLockAccount($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.lock.account"])
- .dialog('option', 'buttons', {
- "Yes": function() {
- $(this).dialog("close");
- var apiCommand = "command=disableAccount&lock=true&account="+jsonObj.name+"&domainId="+jsonObj.domainid;
- doActionToTab(jsonObj.id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doEnableAccount($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.enable.account"])
- .dialog('option', 'buttons', {
- "Yes": function() {
- $(this).dialog("close");
- var apiCommand = "command=enableAccount&account="+jsonObj.name+"&domainId="+jsonObj.domainid;
- doActionToTab(jsonObj.id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDeleteAccount($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.delete.account"])
- .dialog('option', 'buttons', {
- "Yes": function() {
- $(this).dialog("close");
- var apiCommand = "command=deleteAccount&id="+jsonObj.id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab) ;
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-var accountUserActionMap = {
- "label.action.edit.user": {
- dialogBeforeActionFn : doEditUser
- },
- "label.action.change.password": {
- dialogBeforeActionFn : doChangePassword
- },
- "label.action.generate.keys": {
- api: "registerUserKeys",
- isAsyncJob: false,
- inProcessText: "label.action.generate.keys.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- var jsonObj = json.registeruserkeysresponse.userkeys;
- $subgridItem.find("#apikey").text(fromdb(jsonObj.apikey));
- $subgridItem.find("#secretkey").text(fromdb(jsonObj.secretkey));
- }
- },
- "label.action.disable.user": {
- api: "disableUser",
- isAsyncJob: true,
- asyncJobResponse: "disableuserresponse",
- inProcessText: "label.action.disable.user.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- var item = json.queryasyncjobresultresponse.jobresult.user;
- accountUserJSONToTemplate(item, $subgridItem);
- }
- } ,
- "label.action.enable.user": {
- api: "enableUser",
- isAsyncJob: false,
- inProcessText: "label.action.enable.user.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- var item = json.enableuserresponse.user;
- accountUserJSONToTemplate(item, $subgridItem);
- }
- } ,
- "label.action.delete.user": {
- api: "deleteUser",
- isAsyncJob: false,
- inProcessText: "label.action.delete.user.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- $subgridItem.slideUp("slow", function() {
- $(this).remove();
- });
- }
- }
-}
-
-function doEditUser($actionLink, $subgridItem) {
- var jsonObj = $subgridItem.data("jsonObj");
- var id = jsonObj.id;
-
- var $dialogEditUser = $("#dialog_edit_user");
-
- $dialogEditUser.find("#edit_user_username").val($subgridItem.find("#username").text());
- if(id==systemUserId || id==adminUserId)
- $dialogEditUser.find("#edit_user_username").attr("disabled", true);
- else
- $dialogEditUser.find("#edit_user_username").attr("disabled", false);
-
- $dialogEditUser.find("#edit_user_email").val($subgridItem.find("#email").text());
- $dialogEditUser.find("#edit_user_firstname").val($subgridItem.find("#firstname").text());
- $dialogEditUser.find("#edit_user_lastname").val($subgridItem.find("#lastname").text());
- $dialogEditUser.find("#edit_user_timezone").val($subgridItem.data("timezone"));
-
- $dialogEditUser
- .dialog('option', 'buttons', {
- "Save": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("User name", $thisDialog.find("#edit_user_username"), $thisDialog.find("#edit_user_username_errormsg"), false); //required
- isValid &= validateString("Email", $thisDialog.find("#edit_user_email"), $thisDialog.find("#edit_user_email_errormsg"), true); //optional
- isValid &= validateString("First name", $thisDialog.find("#edit_user_firstname"), $thisDialog.find("#edit_user_firstname_errormsg"), true); //optional
- isValid &= validateString("Last name", $thisDialog.find("#edit_user_lastname"), $thisDialog.find("#edit_user_lastname_errormsg"), true); //optional
- if (!isValid)
- return;
-
- var username = $thisDialog.find("#edit_user_username").val();
- var email = $thisDialog.find("#edit_user_email").val();
- var firstname = $thisDialog.find("#edit_user_firstname").val();
- var lastname = $thisDialog.find("#edit_user_lastname").val();
- var timezone = $thisDialog.find("#edit_user_timezone").val();
-
- $thisDialog.dialog("close");
-
- $.ajax({
- data: createURL("command=updateUser&id="+id+"&username="+todb(username)+"&email="+todb(email)+"&firstname="+todb(firstname)+"&lastname="+todb(lastname)+"&timezone="+todb(timezone)),
- dataType: "json",
- success: function(json) {
- $subgridItem.find("#after_action_info").text("Edit User action succeeded.");
- $subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").show();
-
- $subgridItem.find("#username").text(username);
- $subgridItem.find("#email").text(email);
- $subgridItem.find("#firstname").text(firstname);
- $subgridItem.find("#lastname").text(lastname);
- $subgridItem.find("#timezone").text(timezones[timezone]);
- $subgridItem.data("timezone", timezone);
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doChangePassword($actionLink, $subgridItem) {
- var jsonObj = $subgridItem.data("jsonObj");
- var id = jsonObj.id;
-
- var $dialogChangePassword = $("#dialog_change_password");
- $dialogChangePassword.find("#change_password_password1").val("");
-
- $dialogChangePassword
- .dialog('option', 'buttons', {
- "Save": function() {
- var thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Password", thisDialog.find("#change_password_password1"), thisDialog.find("#change_password_password1_errormsg"), false); //required
- if (!isValid) return;
-
- var password = thisDialog.find("#change_password_password1").val();
- if (md5Hashed) {
- password = $.md5(password);
- }
-
- thisDialog.dialog("close");
- $.ajax({
- data: createURL("command=updateUser&id="+id+"&password="+password),
- dataType: "json",
- success: function(json) {
- var label = $actionLink.data("label");
- var label2;
- if(label in dictionary)
- label2 = dictionary[label];
- else
- label2 = label;
- $subgridItem.find("#after_action_info").text(label2 + " - " + g_dictionary["label.succeeded"]);
- $subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").show();
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
diff --git a/ui/old/scripts/cloud.core.alert.js b/ui/old/scripts/cloud.core.alert.js
deleted file mode 100644
index 6ff69a0132d..00000000000
--- a/ui/old/scripts/cloud.core.alert.js
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function alertGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var typeid = $advancedSearchPopup.find("#adv_search_typeid").val();
- if ($advancedSearchPopup.find("#adv_search_typeid").hasClass("textwatermark") == false && typeid!=null && typeid.length > 0)
- moreCriteria.push("&type="+todb(typeid)); //"type" paramter in listAlerts refers to typeId, not typeText
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadAlertJSP() {
-
-}
-
-function alertToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_alerts.png");
-
- var firstRowText = fromdb(jsonObj.description);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = toAlertType(jsonObj.type);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function alertToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- alertJsonToDetailsTab();
-}
-
-function alertJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null)
- return;
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listAlerts&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listalertsresponse.alert;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#type").text(toAlertType(jsonObj.type));
- $thisTab.find("#typeid").text(fromdb(jsonObj.type));
- $thisTab.find("#description").text(fromdb(jsonObj.description));
- setDateField(jsonObj.sent, $thisTab.find("#sent"));
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
diff --git a/ui/old/scripts/cloud.core.callbacks.js b/ui/old/scripts/cloud.core.callbacks.js
deleted file mode 100644
index 8c1392d1ea5..00000000000
--- a/ui/old/scripts/cloud.core.callbacks.js
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-$.urlParam = function(name){ var results = new RegExp('[\\?&]' + name + '=([^]*)').exec(window.location.href); if (!results) { return 0; } return results[1] || 0;}
-
-/*
-This file is meant to help with implementing single signon integration. If you are using the
-cloud.com default UI, there is no need to touch this file.
-*/
-
-/*
-This callback function is called when either the session has timed out for the user,
-the session ID has been changed (i.e. another user logging into the UI via a different tab),
-or it's the first time the user has come to this page.
-*/
-function onLogoutCallback() {
- // Returning true means the LOGIN page will be show. If you wish to redirect the user
- // to different login page, this is where you would do that.
- g_loginResponse = null;
- return true;
-}
-
-var g_loginResponse = null;
-
-/*
-For single signon purposes, you just need to make sure that after a successful login, you set the
-global variable "g_loginResponse"
-
-You can also pass in a special param called loginUrl that is pregenerated and sent to the CloudStack, it will
-automatically log you in.
-
-Below is a sample login attempt
-*/
-
-var clientApiUrl = "/client/api";
-var clientConsoleUrl = "/client/console";
-
-$(document).ready(function() {
-
- var url = $.urlParam("loginUrl");
- if (url != undefined && url != null && url.length > 0) {
- url = unescape(clientApiUrl+"?"+url);
- $.ajax({
- url: url,
- dataType: "json",
- async: false,
- success: function(json) {
- g_loginResponse = json.loginresponse;
- },
- error: function() {
- onLogoutCallback();
- // This means the login failed. You should redirect to your login page.
- },
- beforeSend: function(XMLHttpRequest) {
- return true;
- }
- });
- }
-});
-
-
diff --git a/ui/old/scripts/cloud.core.cluster.js b/ui/old/scripts/cloud.core.cluster.js
deleted file mode 100644
index 75f5a5795f6..00000000000
--- a/ui/old/scripts/cloud.core.cluster.js
+++ /dev/null
@@ -1,265 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function afterLoadClusterJSP($midmenuItem1) {
- hideMiddleMenu();
- initDialog("dialog_add_host", 400);
-
- //add pool dialog
- initDialog("dialog_add_pool", 400);
- bindEventHandlerToDialogAddPool($("#dialog_add_pool"));
-}
-
-
-function clusterToRightPanel($midmenuItem1) {
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- clusterJsonToDetailsTab();
-}
-
-function clusterClearRightPanel() {
- clusterClearDetailsTab();
-}
-
-function clusterJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- clusterClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- clusterClearDetailsTab();
- return;
- }
-
- bindAddHostButton($midmenuItem1);
- bindAddPrimaryStorageButton($midmenuItem1);
-
- $.ajax({
- data: createURL("command=listClusters&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listclustersresponse.cluster;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#podname").text(fromdb(jsonObj.podname));
- $thisTab.find("#hypervisortype").text(fromdb(jsonObj.hypervisortype));
- $thisTab.find("#clustertype").text(fromdb(jsonObj.clustertype));
- $thisTab.find("#allocationstate").text(fromdb(jsonObj.allocationstate));
- $thisTab.find("#managedstate").text(fromdb(jsonObj.managedstate));
-
- //actions ***
- clusterBuildActionMenu(jsonObj);
-}
-
-function clusterBuildActionMenu(jsonObj) {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
-
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
-
- if(jsonObj.allocationstate == "Disabled")
- buildActionLinkForTab("label.action.enable.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab);
- else if(jsonObj.allocationstate == "Enabled")
- buildActionLinkForTab("label.action.disable.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- if(jsonObj.managedstate == "Managed")
- buildActionLinkForTab("label.action.unmanage.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab);
- else //PrepareUnmanaged , PrepareUnmanagedError, Unmanaged
- buildActionLinkForTab("label.action.manage.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- buildActionLinkForTab("label.action.delete.cluster", clusterActionMap, $actionMenu, $midmenuItem1, $thisTab);
-}
-
-function clusterClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#id").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#zonename").text("");
- $thisTab.find("#podname").text("");
- $thisTab.find("#hypervisortype").text("");
- $thisTab.find("#clustertype").text("");
- $thisTab.find("#allocationstate").text("");
- $thisTab.find("#managedstate").text("");
-
- //actions ***
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-var clusterActionMap = {
- "label.action.enable.cluster": {
- isAsyncJob: false,
- dialogBeforeActionFn : doEnableCluster,
- inProcessText: "label.action.enable.cluster.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.updateclusterresponse.cluster;
- $("#right_panel_content").find("#tab_content_details").find("#allocationstate").text(fromdb(jsonObj.allocationstate));
- clusterBuildActionMenu(jsonObj);
- }
- }
- ,
- "label.action.disable.cluster": {
- isAsyncJob: false,
- dialogBeforeActionFn : doDisableCluster,
- inProcessText: "label.action.disable.cluster.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.updateclusterresponse.cluster;
- $("#right_panel_content").find("#tab_content_details").find("#allocationstate").text(fromdb(jsonObj.allocationstate));
- clusterBuildActionMenu(jsonObj);
- }
- }
- ,
- "label.action.manage.cluster": {
- isAsyncJob: false,
- dialogBeforeActionFn : doManageCluster,
- inProcessText: "label.action.manage.cluster.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.updateclusterresponse.cluster;
- $("#right_panel_content").find("#tab_content_details").find("#managedstate").text(fromdb(jsonObj.managedstate));
- clusterBuildActionMenu(jsonObj);
- }
- }
- ,
- "label.action.unmanage.cluster": {
- isAsyncJob: false,
- dialogBeforeActionFn : doUnmanageCluster,
- inProcessText: "label.action.unmanage.cluster.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.updateclusterresponse.cluster;
- $("#right_panel_content").find("#tab_content_details").find("#managedstate").text(fromdb(jsonObj.managedstate));
- clusterBuildActionMenu(jsonObj);
- }
- }
- ,
- "label.action.delete.cluster": {
- api: "deleteCluster",
- isAsyncJob: false,
- dialogBeforeActionFn : doDeleteCluster,
- inProcessText: "label.action.delete.cluster.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- clusterClearRightPanel();
- }
- }
- }
-}
-
-function doEnableCluster($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.enable.cluster"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=updateCluster&id="+id+"&allocationstate=Enabled";
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDisableCluster($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.disable.cluster"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=updateCluster&id="+id+"&allocationstate=Disabled";
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doManageCluster($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.manage.cluster"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=updateCluster&id="+id+"&managedstate=Managed";
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doUnmanageCluster($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.unmanage.cluster"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=updateCluster&id="+id+"&managedstate=Unmanaged";
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDeleteCluster($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.cluster"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=deleteCluster&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
diff --git a/ui/old/scripts/cloud.core.dashboard.js b/ui/old/scripts/cloud.core.dashboard.js
deleted file mode 100644
index 2c04f87ce41..00000000000
--- a/ui/old/scripts/cloud.core.dashboard.js
+++ /dev/null
@@ -1,391 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function afterLoadDashboardJSP() {
- var $alertTemplate = $("#alert_template");
-
- if (isAdmin()) {
- var $thisTab = showDashboard("dashboard_admin");
-
- $thisTab.find("#general_alerts").find("#more_icon").unbind("click").bind("click", function(event) {
- $("#leftmenu_events").click();
- $("#leftmenu_alert").click();
- return false;
- });
-
- var sessionExpired = false;
- var zones = null;
- var noZones = false;
- var noPods = true;
- //$("#menutab_dashboard_root, #menutab_vm, #menutab_networking_old, #menutab_networking, #menutab_templates, #menutab_events, #menutab_hosts, #menutab_storage, #menutab_accounts, #menutab_domain").hide();
-
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- async: false,
- success: function(json) {
- zones = json.listzonesresponse.zone;
- var zoneSelect = $thisTab.find("#capacity_zone_select").empty();
- if (zones != null && zones.length > 0) {
- for (var i = 0; i < zones.length; i++) {
- zoneSelect.append("
" + fromdb(zones[i].name) + " ");
- if(noPods == true) {
- $.ajax({
- data: createURL("command=listPods&zoneId="+zones[i].id),
- dataType: "json",
- async: false,
- success: function(json) {
- var pods = json.listpodsresponse.pod;
- if (pods != null && pods.length > 0) {
- noPods = false;
- //$("#menutab_dashboard_root, #menutab_vm, #menutab_networking_old, #menutab_networking, #menutab_templates, #menutab_events, #menutab_hosts, #menutab_storage, #menutab_accounts, #menutab_domain").show();
- }
- }
- });
- }
- }
- } else {
- noZones = true;
- }
- }
- });
-
- if (sessionExpired)
- return false;
-
- if (noZones || noPods) {
-// $("#tab_dashboard_user").hide();
-// $("#menutab_role_user").hide();
-// $("#menutab_role_root").show();
-// $("#menutab_configuration").click();
- return false;
- }
-
- var capacities = null;
- $.ajax({
- cache: false,
- async: false,
- data: createURL("command=listCapacity"),
- dataType: "json",
- success: function(json) {
- capacities = json.listcapacityresponse.capacity;
- }
- });
-
- $thisTab.find("#capacity_pod_select").bind("change", function(event) {
- event.stopPropagation();
- var selectedZone = $thisTab.find("#capacity_zone_select option:selected").text();
- var selectedPod = $thisTab.find("#capacity_pod_select").val();
-
- // Reset to Defaults
- var $capacityContainer = $thisTab.find("#system_wide_capacity_container");
- $capacityContainer.find("#capacityused").text("N");
- $capacityContainer.find("#capacitytotal").text("A");
- $capacityContainer.find("#percentused").text("");
- $capacityContainer.find("#bar_chart").removeClass().addClass("db_barbox").css("width", "0%");
-
- if (capacities != null && capacities.length > 0) {
- for (var i = 0; i < capacities.length; i++) {
- var capacity = capacities[i];
- if (capacity.zonename == selectedZone) {
- // ***** Public IPs Addresses *****
- if (capacity.type == "4") {
- var $c = $capacityContainer.find("#public_ip_address");
- $c.find("#capacityused").text(capacity.capacityused);
- $c.find("#capacitytotal").text(capacity.capacitytotal);
- capacityBarChart($c, capacity.percentused);
- }
-
- // ***** Secondary Storage Used *****
- else if (capacity.type == "6") {
- var $c = $capacityContainer.find("#secondary_storage_used");
- $c.find("#capacityused").text(convertBytes(parseInt(capacity.capacityused)));
- $c.find("#capacitytotal").text(convertBytes(parseInt(capacity.capacitytotal)));
- capacityBarChart($c, capacity.percentused);
- }
-
- else {
- if (capacity.podname == selectedPod) {
- // ***** Memory Allocated *****
- if (capacity.type == "0") {
- var $c = $capacityContainer.find("#memory_allocated");
- $c.find("#capacityused").text(convertBytes(parseInt(capacity.capacityused)));
- $c.find("#capacitytotal").text(convertBytes(parseInt(capacity.capacitytotal)));
- capacityBarChart($c, capacity.percentused);
- }
-
- // ***** CPU *****
- else if (capacity.type == "1") {
- var $c = $capacityContainer.find("#cpu");
- $c.find("#capacityused").text(convertHz(parseInt(capacity.capacityused)));
- $c.find("#capacitytotal").text(convertHz(parseInt(capacity.capacitytotal)));
- capacityBarChart($c, capacity.percentused);
- }
-
- // ***** Primary Storage Used *****
- else if (capacity.type == "2") {
- var $c = $capacityContainer.find("#primary_storage_used");
- $c.find("#capacityused").text(convertBytes(parseInt(capacity.capacityused)));
- $c.find("#capacitytotal").text(convertBytes(parseInt(capacity.capacitytotal)));
- capacityBarChart($c, capacity.percentused);
- }
-
- // ***** Primary Storage Allocated *****
- else if (capacity.type == "3") {
- var $c = $capacityContainer.find("#primary_storage_allocated");
- $c.find("#capacityused").text(convertBytes(parseInt(capacity.capacityused)));
- $c.find("#capacitytotal").text(convertBytes(parseInt(capacity.capacitytotal)));
- capacityBarChart($c, capacity.percentused);
- }
-
- // ***** Private IP Addresses *****
- else if (capacity.type == "5") {
- var $c = $capacityContainer.find("#private_ip_address");
- $c.find("#capacityused").text(capacity.capacityused);
- $c.find("#capacitytotal").text(capacity.capacitytotal);
- capacityBarChart($c, capacity.percentused);
- }
- }
- }
- }
- }
- }
- });
-
- $thisTab.find("#capacity_zone_select").bind("change", function(event) {
- var zoneId = $(this).val();
- $.ajax({
- data: createURL("command=listPods&zoneId="+zoneId),
- dataType: "json",
- async: false,
- success: function(json) {
- var pods = json.listpodsresponse.pod;
- var podSelect = $thisTab.find("#capacity_pod_select").empty();
- if (pods != null && pods.length > 0) {
- podSelect.append("
All pods ");
- for (var i = 0; i < pods.length; i++) {
- podSelect.append("
" + fromdb(pods[i].name) + " ");
- }
- }
- $thisTab.find("#capacity_pod_select").change();
- }
- });
- });
- $thisTab.find("#capacity_zone_select").change();
-
- // General Alerts
- $.ajax({
- data: createURL("command=listAlerts"),
- dataType: "json",
- success: function(json) {
- var alerts = json.listalertsresponse.alert;
- if (alerts != null && alerts.length > 0) {
- var alertGrid = $thisTab.find("#alert_grid_content").empty();
- var length = (alerts.length>=5) ? 5 : alerts.length;
- for (var i = 0; i < length; i++) {
- var template = $alertTemplate.clone(true).attr("id", "alert_template_clone");
- template.find("#type").text(toAlertType(alerts[i].type));
- template.find("#description").append(fromdb(alerts[i].description));
- setDateField(alerts[i].sent, template.find("#date"));
- alertGrid.append(template.show());
- }
- }
- }
- });
-
- // Hosts Alerts
- $.ajax({
- data: createURL("command=listHosts&state=Alert"),
- dataType: "json",
- success: function(json) {
- var alerts = json.listhostsresponse.host;
- if (alerts != null && alerts.length > 0) {
- var alertGrid = $thisTab.find("#host_alert_grid_content").empty();
- var length = (alerts.length>=4) ? 4 : alerts.length;
- for (var i = 0; i < length; i++) {
- var template = $alertTemplate.clone(true).attr("id", "alert_template_clone");
- template.find("#type").text("Host - Alert State");
- template.find("#description").append("Host -
" + fromdb(alerts[i].name) + " has been detected in Alert state.");
- setDateField(alerts[i].disconnected, template.find("#date"));
- alertGrid.append(template.show());
- }
- }
- }
- });
-
- }
- else if (isDomainAdmin()) {
- var $thisTab = showDashboard("dashboard_domainadmin");
-
- $.ajax({
- data: createURL("command=listVirtualMachines"),
- dataType: "json",
- success: function(json) {
- if (json.listvirtualmachinesresponse.virtualmachine != undefined)
- $thisTab.find("#instance_total").text(json.listvirtualmachinesresponse.virtualmachine.length);
- }
- });
-
- $.ajax({
- data: createURL("command=listVolumes"),
- dataType: "json",
- success: function(json) {
- if (json.listvolumesresponse.volume)
- $thisTab.find("#volume_total").text(json.listvolumesresponse.volume.length);
- }
- });
-
- $.ajax({
- data: createURL("command=listSnapshots"),
- dataType: "json",
- success: function(json) {
- if (json.listsnapshotsresponse.snapshot)
- $thisTab.find("#snapshot_total").text(json.listsnapshotsresponse.snapshot.length);
- }
- });
-
- $.ajax({
- data: createURL("command=listAccounts"),
- dataType: "json",
- success: function(json) {
- if (json.listaccountsresponse.account)
- $thisTab.find("#account_total").text(json.listaccountsresponse.account.length);
- }
- });
-
- // Recent Errors
- $.ajax({
- data: createURL("command=listEvents&level=ERROR"),
- dataType: "json",
- success: function(json) {
- var items = json.listeventsresponse.event;
- if (items != null && items.length > 0) {
- var $grid = $thisTab.find("#alert_grid_content").empty();
- var length = (items.length>=3) ? 3 : items.length;
- for (var i = 0; i < length; i++) {
- var $template = $alertTemplate.clone(true).attr("id", "alert_template_clone");
- $template.find("#type").text(items[i].type);
- $template.find("#description").append(fromdb(items[i].description));
- setDateField(items[i].created, $template.find("#date"));
- $grid.append($template.show());
- }
- }
- }
- });
- }
- else if(isUser()) {
- var $thisTab = showDashboard("dashboard_user");
-
- //$thisTab.find("#launch_test").hide();
- $.ajax({
- cache: false,
- data: createURL("command=listAccounts"),
- dataType: "json",
- success: function(json) {
- var accounts = json.listaccountsresponse.account;
- if (accounts != null && accounts.length > 0) {
- var statJSON = accounts[0];
- /*
- var sent = parseInt(statJSON.sentbytes);
- var rec = parseInt(statJSON.receivedbytes);
-
- if(sent==0 && rec==0)
- $thisTab.find("#network_bandwidth_panel").hide();
- else
- $thisTab.find("#network_bandwidth_panel").show();
-
- $("#menutab_role_user").show();
- $("#menutab_role_root").hide();
- $("#menutab_role_domain").hide();
- $("#tab_dashboard_user").show();
- $("#tab_dashboard_root, #tab_dashboard_domain, #loading_gridtable").hide();
-
- // This is in bytes, so let's change to KB
- sent = Math.round(sent / 1024);
- rec = Math.round(rec / 1024);
- $thisTab.find("#db_sent").text(sent + "KB");
- $thisTab.find("#db_received").text(rec + "KB");
- */
- $thisTab.find("#db_available_public_ips").text(statJSON.ipavailable);
- $thisTab.find("#db_owned_public_ips").text(statJSON.iptotal);
- $thisTab.find("#db_running_vms").text(statJSON.vmrunning);
- $thisTab.find("#db_stopped_vms").text(statJSON.vmstopped);
- $thisTab.find("#db_total_vms").text(statJSON.vmtotal);
- //$thisTab.find("#db_avail_vms").text(statJSON.vmavailable);
- $thisTab.find("#db_account_id").text(statJSON.id);
- $thisTab.find("#db_account").text(statJSON.name);
- $thisTab.find("#db_type").text(toRole(statJSON.accounttype));
- $thisTab.find("#db_domain").text(statJSON.domain);
- }
-
- // Recent Errors
- $.ajax({
- data: createURL("command=listEvents&level=ERROR"),
- dataType: "json",
- success: function(json) {
- var items = json.listeventsresponse.event;
- if (items != null && items.length > 0) {
- var $grid = $thisTab.find("#alert_grid_content").empty();
- var length = (items.length>=3) ? 3 : items.length;
- for (var i = 0; i < length; i++) {
- var $template = $alertTemplate.clone(true).attr("id", "alert_template_clone");
- $template.find("#type").text(items[i].type);
- $template.find("#description").append(fromdb(items[i].description));
- setDateField(items[i].created, $template.find("#date"));
- $grid.append($template.show());
- }
- }
- }
- });
- },
- beforeSend: function(XMLHttpRequest) {
- return true;
- }
- });
- }
- else { //no role
- logout(false);
- }
-}
-
-function showDashboard(dashboardToShow) {
- var $thisTab;
- var allDashboards = ["dashboard_admin", "dashboard_domainadmin", "dashboard_user"];
- for(var i=0; i < allDashboards.length; i++) {
- dashboard = allDashboards[i];
- if(dashboard == dashboardToShow)
- $thisTab = $("#"+dashboard).show();
- else
- $("#"+dashboard).hide();
- }
- return $thisTab;
-}
-
-//*** dashboard admin (begin) ***
-function capacityBarChart($capacity, percentused) { // e.g. percentused == "51.27" (no % inside)
-
- var percentusedFloat = parseFloat(percentused); // e.g. percentusedFloat == 51.27
- var percentusedRound = Math.round(percentusedFloat); //e.g. percentusedRound == 51
-
- var percentused2 = (percentusedRound.toString() + "%"); //e.g. percentused2 == "51%"
- $capacity.find("#percentused").text(percentused2);
-
- //e.g. percentusedRound == 51
- if (percentusedRound <= 60)
- $capacity.find("#bar_chart").removeClass().addClass("db_barbox low").css("width", percentused2);
- else if (percentusedRound > 60 && percentusedRound <= 80 )
- $capacity.find("#bar_chart").removeClass().addClass("db_barbox mid").css("width", percentused2);
- else if (percentusedRound > 80 )
- $capacity.find("#bar_chart").removeClass().addClass("db_barbox high").css("width", percentused2);
-}
-//*** dashboard admin (end) ***
-
diff --git a/ui/old/scripts/cloud.core.diskoffering.js b/ui/old/scripts/cloud.core.diskoffering.js
deleted file mode 100644
index 2ac1815752e..00000000000
--- a/ui/old/scripts/cloud.core.diskoffering.js
+++ /dev/null
@@ -1,380 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function diskOfferingGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadDiskOfferingJSP() {
- initAddDiskOfferingDialog();
-
- $readonlyFields = $("#tab_content_details").find("#name, #displaytext");
- $editFields = $("#tab_content_details").find("#name_edit, #displaytext_edit");
-}
-
-function initAddDiskOfferingDialog() {
- //dialogs
- initDialog("dialog_add_disk");
-
- var $dialogAddDisk = $("#dialog_add_disk");
- $dialogAddDisk.find("#customized").bind("change", function(event) {
- if($(this).val() == 'false') {
- $dialogAddDisk.find("#add_disk_disksize_container").show();
- }
- else {
- $dialogAddDisk.find("#add_disk_disksize_container").hide();
- $dialogAddDisk.find("#add_disk_disksize").val("");
- }
- return false;
- });
-
- $dialogAddDisk.find("#public_dropdown").unbind("change").bind("change", function(event) {
- if($(this).val() == "true") { //public zone
- $dialogAddDisk.find("#domain_container").hide();
- }
- else { //private zone
- $dialogAddDisk.find("#domain_container").show();
- }
- return false;
- });
-
- applyAutoCompleteToDomainField($dialogAddDisk.find("#domain"));
-
- $("#add_diskoffering_button").unbind("click").bind("click", function(event) {
- $dialogAddDisk.find("#disk_name").val("");
- $dialogAddDisk.find("#disk_description").val("");
- $dialogAddDisk.find("#disk_disksize").val("");
- var submenuContent = $("#submenu_content_disk");
-
- $dialogAddDisk
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#add_disk_name"), $thisDialog.find("#add_disk_name_errormsg"));
- isValid &= validateString("Description", $thisDialog.find("#add_disk_description"), $thisDialog.find("#add_disk_description_errormsg"));
-
- if($("#add_disk_disksize_container").css("display") != "none")
- isValid &= validateInteger("Disk size", $thisDialog.find("#add_disk_disksize"), $thisDialog.find("#add_disk_disksize_errormsg"), 0, null, false); //required
-
- if($thisDialog.find("#domain_container").css("display") != "none") {
- isValid &= validateString("Domain", $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), false); //required
- var domainName = $thisDialog.find("#domain").val();
- var domainId;
- if(domainName != null && domainName.length > 0) {
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- isValid &= false;
- }
- }
- }
-
- isValid &= validateString("Tags", $thisDialog.find("#add_disk_tags"), $thisDialog.find("#add_disk_tags_errormsg"), true); //optional
- if (!isValid)
- return;
- $thisDialog.dialog("close");
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
-
- var array1 = [];
- var name = $thisDialog.find("#add_disk_name").val();
- array1.push("&name="+todb(name));
-
- var description = $thisDialog.find("#add_disk_description").val();
- array1.push("&displaytext="+todb(description));
-
- var customized = $thisDialog.find("#customized").val();
- array1.push("&customized="+customized);
-
- if($("#add_disk_disksize_container").css("display") != "none") {
- var disksize = $thisDialog.find("#add_disk_disksize").val();
- array1.push("&disksize="+disksize);
- }
-
- var tags = $thisDialog.find("#add_disk_tags").val();
- if(tags != null && tags.length > 0)
- array1.push("&tags="+todb(tags));
-
- if($thisDialog.find("#domain_container").css("display") != "none") {
- array1.push("&domainid="+domainId);
- }
-
- $.ajax({
- data: createURL("command=createDiskOffering&isMirrored=false" + array1.join("")),
- dataType: "json",
- success: function(json) {
- var item = json.creatediskofferingresponse.diskoffering;
- diskOfferingToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, diskOfferingToRightPanel, getMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function doEditDiskOffering($actionLink, $detailsTab, $midmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditDiskOffering2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditDiskOffering2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"), true);
- isValid &= validateString("Display Text", $detailsTab.find("#displaytext_edit"), $detailsTab.find("#displaytext_edit_errormsg"), true);
- if (!isValid)
- return;
-
- var array1 = [];
- var name = $detailsTab.find("#name_edit").val();
- array1.push("&name="+todb(name));
-
- var displaytext = $detailsTab.find("#displaytext_edit").val();
- array1.push("&displayText="+todb(displaytext));
-
- var tags = $detailsTab.find("#tags_edit").val();
- array1.push("&tags="+todb(tags));
-
- var domainid = $detailsTab.find("#domain_edit").val();
- array1.push("&domainid="+todb(domainid));
-
- $.ajax({
- data: createURL("command=updateDiskOffering&id="+id+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jsonObj = json.updatediskofferingresponse.diskoffering;
- diskOfferingToMidmenu(jsonObj, $midmenuItem1);
- diskOfferingToRightPanel($midmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
- });
-}
-
-function doDeleteDiskOffering($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.disk.offering"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=deleteDiskOffering&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function diskOfferingToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_system_diskoffering.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.displaytext);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function diskOfferingToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- diskOfferingJsonToDetailsTab();
-}
-
-function diskOfferingJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- diskOfferingClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- diskOfferingClearDetailsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var id = jsonObj.id;
-
- var jsonObj;
- $.ajax({
- data: createURL("command=listDiskOfferings&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listdiskofferingsresponse.diskoffering;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#name_edit").val(fromdb(jsonObj.name));
-
- $thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
- $thisTab.find("#displaytext_edit").val(fromdb(jsonObj.displaytext));
-
- var diskSize = diskofferingGetDiskSize(jsonObj);
- $thisTab.find("#disksize").text(diskSize);
-
- $thisTab.find("#tags").text(fromdb(jsonObj.tags));
- $thisTab.find("#tags_edit").val(fromdb(jsonObj.tags));
-
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- $thisTab.find("#domain_edit").val(fromdb(jsonObj.domainid));
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- buildActionLinkForTab("label.action.edit.disk.offering", diskOfferingActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.delete.disk.offering", diskOfferingActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function diskofferingGetDiskSize(jsonObj) {
- var diskSize;
- if(jsonObj.disksize == 0 && jsonObj.isCustomized == true)
- diskSize = "custom size (during VM creation or volume creation)";
- else
- diskSize = jsonObj.disksize + " GB";
- return diskSize;
-}
-
-function diskOfferingClearRightPanel() {
- diskOfferingClearDetailsTab();
-}
-
-function diskOfferingClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
- $thisTab.find("#displaytext").text("");
- $thisTab.find("#displaytext_edit").val("");
- $thisTab.find("#disksize").text("");
- $thisTab.find("#tags").text("");
- $thisTab.find("#domain").text("");
-
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-var diskOfferingActionMap = {
- "label.action.edit.disk.offering": {
- dialogBeforeActionFn: doEditDiskOffering
- },
- "label.action.delete.disk.offering": {
- api: "deleteDiskOffering",
- isAsyncJob: false,
- dialogBeforeActionFn : doDeleteDiskOffering,
- inProcessText: "label.action.delete.disk.offering.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- diskOfferingClearRightPanel();
- }
- }
- }
-}
diff --git a/ui/old/scripts/cloud.core.domain.js b/ui/old/scripts/cloud.core.domain.js
deleted file mode 100644
index 0c7999c4190..00000000000
--- a/ui/old/scripts/cloud.core.domain.js
+++ /dev/null
@@ -1,721 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-var $selectedDomainTreeNode;
-var defaultRootLevel = 0;
-var childParentMap = {}; //map childDomainId to parentDomainId
-var domainIdNameMap = {}; //map domainId to domainName
-
-function drawRootNode(rootDomainId) {
- var $domainTree = $("#leftmenu_domain_tree").find("#tree_container").hide();
-
- $.ajax({
- data: createURL("command=listDomains&id="+rootDomainId),
- dataType: "json",
- async: false,
- success: function(json) {
- var domains = json.listdomainsresponse.domain;
- $domainTree.empty();
- if (domains != null && domains.length > 0) {
- var node = drawNode(domains[0], $("#domain_tree_node_template"), $domainTree);
-
- var treeLevelsbox = node.find(".tree_levelsbox"); //root node shouldn't have margin-left:20px
- if(treeLevelsbox!=null && treeLevelsbox.length >0)
- treeLevelsbox[0].style.marginLeft="0px"; //set root node's margin-left to 0px.
- }
- $domainTree.show();
- }
- });
-}
-
-function drawNode(json, template, container) {
- if("parentdomainid" in json)
- childParentMap[json.id] = json.parentdomainid; //map childDomainId to parentDomainId
- domainIdNameMap[json.id] = json.name; //map domainId to domainName
-
- var $treeNode = template.clone(true).attr("id", "domain_tree_node_template_clone");
- $treeNode.find("#domain_indent").css("marginLeft", (30*(json.level+1)));
- $treeNode.attr("id", "domain_"+fromdb(json.id));
- $treeNode.data("jsonObj", json).data("domainLevel", json.level);
- $treeNode.find("#domain_title_container").attr("id", "domain_title_container_"+fromdb(json.id));
- $treeNode.find("#domain_expand_icon").attr("id", "domain_expand_icon_"+fromdb(json.id));
- $treeNode.find("#domain_name").attr("id", "domain_name_"+fromdb(json.id)).text(fromdb(json.name));
- $treeNode.find("#domain_children_container").attr("id", "domain_children_container_"+fromdb(json.id));
- container.append($treeNode.show());
- return $treeNode;
-}
-
-function drawTree(id, container) {
- var $treeNodeTemplate = $("#domain_tree_node_template");
- $.ajax({
- data: createURL("command=listDomainChildren&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var domains = json.listdomainchildrenresponse.domain;
- if (domains != null && domains.length > 0) {
- for (var i = 0; i < domains.length; i++) {
- drawNode(domains[i], $treeNodeTemplate, container);
- }
- }
- }
- });
-}
-
-function clickExpandIcon(domainId) {
- var $treeNode = $("#domain_"+domainId);
- var expandIcon = $treeNode.find("#domain_expand_icon_"+domainId);
- if (expandIcon.hasClass("expanded_close")) {
- drawTree(domainId, $treeNode.find("#domain_children_container_"+domainId));
- expandIcon.removeClass("expanded_close").addClass("expanded_open");
- }
- else if (expandIcon.hasClass("expanded_open")) {
- $treeNode.find("#domain_children_container_"+domainId).empty();
- expandIcon.removeClass("expanded_open").addClass("expanded_close");
- }
-}
-
-function domainAccountJSONToTemplate(jsonObj, $template) {
- $template.data("jsonObj", jsonObj);
- $template.find("#grid_header_title").text(fromdb(jsonObj.name));
- $template.find("#id").text(jsonObj.id);
- $template.find("#role").text(toRole(jsonObj.accounttype));
- $template.find("#account").text(fromdb(jsonObj.name));
- $template.find("#domain").text(fromdb(jsonObj.domain));
- $template.find("#vm_total").text(jsonObj.vmtotal);
- $template.find("#ip_total").text(jsonObj.iptotal);
- $template.find("#bytes_received").text(convertBytes(jsonObj.receivedbytes));
- $template.find("#bytes_sent").text(convertBytes(jsonObj.sentbytes));
- $template.find("#state").text(jsonObj.state);
-}
-
-function afterLoadDomainJSP() {
- hideMiddleMenu();
- clearMiddleMenu();
-
- initDialog("dialog_confirmation_delete_domain");
-
- if(isAdmin()) {
- var $topButtonContainer = clearButtonsOnTop();
- $("#top_buttons").appendTo($topButtonContainer);
- $("#top_buttons").find("#add_domain_button").show();
- initAddDomainDialog();
- $("#dialog_confirmation_delete_domain").find("#force_delete_domain_container").show();
- }
-
- //switch between different tabs
- var tabArray = [$("#tab_details"), $("#tab_admin_account"), $("#tab_resource_limits")];
- var tabContentArray = [$("#tab_content_details"), $("#tab_content_admin_account"), $("#tab_content_resource_limits")];
- var afterSwitchFnArray = [domainJsonToDetailsTab, domainJsonToAdminAccountTab ,domainJsonToResourceLimitsTab ];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-
- $readonlyFields = $("#tab_content_details").find("#name");
- $editFields = $("#tab_content_details").find("#name_edit");
-}
-
-function initAddDomainDialog() {
- initDialog("dialog_add_domain", 450);
-
- var $dialogAddDomain = $("#dialog_add_domain");
-
- $("#add_domain_button").unbind("click").bind("click", function(event) {
- $dialogAddDomain.find("#add_domain_name").val("");
-
- $dialogAddDomain.find("#parent_domain").val($("#right_panel_content").find("#tab_content_details").find("#name").text());
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- var jsonObj = $midmenuItem1.data("jsonObj");
- autoCompleteDomains.push(jsonObj);
-
- applyAutoCompleteToDomainField($dialogAddDomain.find("#parent_domain"));
-
- $dialogAddDomain
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#add_domain_name"), $thisDialog.find("#add_domain_name_errormsg"));
-
- isValid &= validateString("Parent Domain", $thisDialog.find("#parent_domain"), $thisDialog.find("#parent_domain_errormsg"), false); //required
- var domainName = $thisDialog.find("#parent_domain").val();
- var parentDomainId;
- if(domainName != null && domainName.length > 0) {
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- parentDomainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(parentDomainId == null) {
- showError(false, $thisDialog.find("#parent_domain"), $thisDialog.find("#parent_domain_errormsg"), g_dictionary["label.not.found"]);
- isValid &= false;
- }
- }
-
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
-
- var array1 = [];
- var name = trim($thisDialog.find("#add_domain_name").val());
- array1.push("&name="+todb(name));
-
- array1.push("&parentdomainid="+parentDomainId);
-
- $.ajax({
- data: createURL("command=createDomain"+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- var item = json.createdomainresponse.domain;
- var $parentDomainNode = $("#leftmenu_domain_tree").find("#domain_"+item.parentdomainid);
-
- var $expandIcon = $parentDomainNode.find("#domain_expand_icon_"+item.parentdomainid);
- if($expandIcon.hasClass("expanded_close"))
- $expandIcon.click(); //expand parentDomain node
- else
- drawNode(item, $("#domain_tree_node_template"), $("#domain_children_container_"+item.parentdomainid));
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- return false;
- });
-}
-
-function domainToRightPanel($midmenuItem1) {
- if(currentRightPanelJSP != "jsp/domain.jsp") {
- $("#right_panel").load("jsp/domain.jsp", function(){
- currentRightPanelJSP = "jsp/domain.jsp";
- afterLoadDomainJSP();
- domainToRightPanel2($midmenuItem1);
- });
- }
- else {
- domainToRightPanel2($midmenuItem1);
- }
-}
-
-function domainToRightPanel2($midmenuItem1) {
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- cancelEditMode($("#tab_content_details"));
- $("#tab_details").click();
-}
-
-function domainJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- domainClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- domainClearDetailsTab();
- return;
- }
-
- var domainId = jsonObj.id;
-
- $("#right_panel").data("onRefreshFn", function() {
- $("#domain_name_"+domainId).click();
- });
-
- $.ajax({
- data: createURL("command=listDomains&id="+domainId),
- dataType: "json",
- success: function(json) {
- var items = json.listdomainsresponse.domain;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#id").text(domainId);
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#name_edit").val(fromdb(jsonObj.name));
-
- $.ajax({
- cache: false,
- data: createURL("command=listAccounts&domainid="+domainId),
- dataType: "json",
- success: function(json) {
- var accounts = json.listaccountsresponse.account;
- if (accounts != null)
- $thisTab.find("#redirect_to_account_page").text(accounts.length);
- else
- $thisTab.find("#redirect_to_account_page").text("0");
- }
- });
-
- $.ajax({
- cache: false,
- data: createURL("command=listVirtualMachines&domainid="+domainId),
- dataType: "json",
- success: function(json) {
- var instances = json.listvirtualmachinesresponse.virtualmachine;
- if (instances != null)
- $thisTab.find("#redirect_to_instance_page").text(instances.length);
- else
- $thisTab.find("#redirect_to_instance_page").text("0");
- }
- });
-
- $.ajax({
- cache: false,
- data: createURL("command=listVolumes&domainid="+domainId),
- dataType: "json",
- success: function(json) {
- var volumes = json.listvolumesresponse.volume;
- if (volumes != null)
- $thisTab.find("#redirect_to_volume_page").text(volumes.length);
- else
- $thisTab.find("#redirect_to_volume_page").text("0");
- }
- });
-
- //actions ***
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
- if(isAdmin()) {
- if(domainId != 1) { //"ROOT" domain is not allowed to edit or delete
- buildActionLinkForTab("label.action.edit.domain", domainActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.delete.domain", domainActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- }
- buildActionLinkForTab("label.action.update.resource.count", domainActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-}
-
-function domainJsonToAdminAccountTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- domainClearAdminAccountTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- domainClearAdminAccountTab();
- return;
- }
-
- var domainId = jsonObj.id;
-
- listAdminAccounts(domainId);
-}
-
-function domainJsonToResourceLimitsTab() {
- if (isAdmin() || (isDomainAdmin() && (g_domainid != domainId))) {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- domainClearResourceLimitsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- domainClearResourceLimitsTab();
- return;
- }
-
- var domainId = jsonObj.id;
-
- var $resourceLimitsTab = $("#right_panel_content #tab_content_resource_limits");
- $.ajax({
- cache: false,
- data: createURL("command=listResourceLimits&domainid="+domainId),
- dataType: "json",
- success: function(json) {
- var limits = json.listresourcelimitsresponse.resourcelimit;
- var preInstanceLimit, preIpLimit, preDiskLimit, preSnapshotLimit, preTemplateLimit = -1;
- if (limits != null) {
- for (var i = 0; i < limits.length; i++) {
- var limit = limits[i];
- switch (limit.resourcetype) {
- case "0":
- preInstanceLimit = limit.max;
- $resourceLimitsTab.find("#limits_vm").text(preInstanceLimit);
- $resourceLimitsTab.find("#limits_vm_edit").val(preInstanceLimit);
- break;
- case "1":
- preIpLimit = limit.max;
- $resourceLimitsTab.find("#limits_ip").text(preIpLimit);
- $resourceLimitsTab.find("#limits_ip_edit").val(preIpLimit);
- break;
- case "2":
- preDiskLimit = limit.max;
- $resourceLimitsTab.find("#limits_volume").text(preDiskLimit);
- $resourceLimitsTab.find("#limits_volume_edit").val(preDiskLimit);
- break;
- case "3":
- preSnapshotLimit = limit.max;
- $resourceLimitsTab.find("#limits_snapshot").text(preSnapshotLimit);
- $resourceLimitsTab.find("#limits_snapshot_edit").val(preSnapshotLimit);
- break;
- case "4":
- preTemplateLimit = limit.max;
- $resourceLimitsTab.find("#limits_template").text(preTemplateLimit);
- $resourceLimitsTab.find("#limits_template_edit").val(preTemplateLimit);
- break;
- }
- }
- }
- }
- });
-
- domainToResourceLimitsTab();
- $("#tab_resource_limits").show();
- }
- else {
- $("#tab_resource_limits").hide();
- }
-}
-
-function domainJsonClearRightPanel() {
- domainClearDetailsTab();
- domainClearAdminAccountTab();
- domainClearResourceLimitsTab();
-}
-
-function domainClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
- $thisTab.find("#redirect_to_account_page").text("");
- $thisTab.find("#redirect_to_instance_page").text("");
- $thisTab.find("#redirect_to_volume_page").text("");
-
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-function domainClearAdminAccountTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_admin_account");
- $thisTab.empty();
-}
-
-function domainClearResourceLimitsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_resource_limits");
-
- $thisTab.find("#limits_vm").text("");
- $thisTab.find("#limits_vm_edit").val("");
-
- $thisTab.find("#limits_ip").text("");
- $thisTab.find("#limits_ip_edit").val("");
-
- $thisTab.find("#limits_volume").text("");
- $thisTab.find("#limits_volume_edit").val("");
-
- $thisTab.find("#limits_snapshot").text("");
- $thisTab.find("#limits_snapshot_edit").val("");
-
- $thisTab.find("#limits_template").text("");
- $thisTab.find("#limits_template_edit").val("");
-
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-function domainToResourceLimitsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null)
- return;
-
- var $thisTab = $("#right_panel_content").find("#tab_content_resource_limits");
-
- //actions ***
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
- /*
- $actionLink.bind("mouseover", function(event) {
- $(this).find("#action_menu").show();
- return false;
- });
- $actionLink.bind("mouseout", function(event) {
- $(this).find("#action_menu").hide();
- return false;
- });
- */
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
- if(isAdmin()) {
- buildActionLinkForTab("label.action.edit.resource.limits", domainResourceLimitsActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-}
-
-function bindEventHandlerToDomainTreeNode() {
- $("#domain_tree_node_template").unbind("click").bind("click", function(event) {
- var $thisNode = $(this);
- var target = $(event.target);
- var action = target.attr("id");
- var id = $thisNode.attr("id");
- var jsonObj = $thisNode.data("jsonObj");
- var domainId = jsonObj.id;
- var domainName = jsonObj.name;
- if (action.indexOf("domain_expand_icon")!=-1) {
- clickExpandIcon(domainId);
- }
- else {
- if($selectedDomainTreeNode != null && $selectedDomainTreeNode.data("jsonObj") != null)
- $selectedDomainTreeNode.find("#domain_title_container_"+$selectedDomainTreeNode.data("jsonObj").id).removeClass("selected");
- $thisNode.find("#domain_title_container_"+domainId).addClass("selected");
- $selectedDomainTreeNode = $thisNode;
- domainToRightPanel($thisNode);
- }
- return false;
- });
-}
-
-function updateResourceLimitForDomain(domainId, type, max, $readonlyField) {
- $.ajax({
- data: createURL("command=updateResourceLimit&domainid="+domainId+"&resourceType="+type+"&max="+max),
- dataType: "json",
- async: false,
- success: function(json) {
- $readonlyField.text(max);
- }
- });
-}
-
-function listAdminAccounts(domainId) {
- var $thisTab = $("#right_panel_content").find("#tab_content_admin_account");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var accountType = (domainId==1)? 1: 2;
- $.ajax({
- cache: false,
- data: createURL("command=listAccounts&domainid="+domainId+"&accounttype="+accountType),
- dataType: "json",
- success: function(json) {
- var items = json.listaccountsresponse.account;
- var $container = $thisTab.find("#tab_container").empty();
- if (items != null && items.length > 0) {
- var $template = $("#admin_account_tab_template");
- for (var i = 0; i < items.length; i++) {
- var $newTemplate = $template.clone(true);
- domainAccountJSONToTemplate(items[i], $newTemplate);
- $container.append($newTemplate.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-var domainResourceLimitsActionMap = {
- "label.action.edit.resource.limits": {
- dialogBeforeActionFn: doEditResourceLimits
- }
-}
-
-function doEditResourceLimits($actionLink, $detailsTab, $midmenuItem1) {
- var $readonlyFields = $detailsTab.find("#limits_vm, #limits_ip, #limits_volume, #limits_snapshot, #limits_template");
- var $editFields = $detailsTab.find("#limits_vm_edit, #limits_ip_edit, #limits_volume_edit, #limits_snapshot_edit, #limits_template_edit");
-
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditResourceLimits2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditResourceLimits2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- var $resourceLimitsTab = $("#right_panel_content #tab_content_resource_limits");
-
- var isValid = true;
- isValid &= validateInteger("Instance Limit", $resourceLimitsTab.find("#limits_vm_edit"), $resourceLimitsTab.find("#limits_vm_edit_errormsg"), -1, 32000, false);
- isValid &= validateInteger("Public IP Limit", $resourceLimitsTab.find("#limits_ip_edit"), $resourceLimitsTab.find("#limits_ip_edit_errormsg"), -1, 32000, false);
- isValid &= validateInteger("Disk Volume Limit", $resourceLimitsTab.find("#limits_volume_edit"), $resourceLimitsTab.find("#limits_volume_edit_errormsg"), -1, 32000, false);
- isValid &= validateInteger("Snapshot Limit", $resourceLimitsTab.find("#limits_snapshot_edit"), $resourceLimitsTab.find("#limits_snapshot_edit_errormsg"), -1, 32000, false);
- isValid &= validateInteger("Template Limit", $resourceLimitsTab.find("#limits_template_edit"), $resourceLimitsTab.find("#limits_template_edit_errormsg"), -1, 32000, false);
- if (!isValid)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var domainId = jsonObj.id;
-
- var instanceLimit = trim($resourceLimitsTab.find("#limits_vm_edit").val());
- var ipLimit = trim($resourceLimitsTab.find("#limits_ip_edit").val());
- var diskLimit = trim($resourceLimitsTab.find("#limits_volume_edit").val());
- var snapshotLimit = trim($resourceLimitsTab.find("#limits_snapshot_edit").val());
- var templateLimit = trim($resourceLimitsTab.find("#limits_template_edit").val());
-
- if (instanceLimit != $resourceLimitsTab.find("#limits_vm").text()) {
- updateResourceLimitForDomain(domainId, 0, instanceLimit, $resourceLimitsTab.find("#limits_vm"));
- }
- if (ipLimit != $resourceLimitsTab.find("#limits_ip").text()) {
- updateResourceLimitForDomain(domainId, 1, ipLimit, $resourceLimitsTab.find("#limits_ip"));
- }
- if (diskLimit != $resourceLimitsTab.find("#limits_volume").text()) {
- updateResourceLimitForDomain(domainId, 2, diskLimit, $resourceLimitsTab.find("#limits_volume"));
- }
- if (snapshotLimit != $resourceLimitsTab.find("#limits_snapshot").text()) {
- updateResourceLimitForDomain(domainId, 3, snapshotLimit, $resourceLimitsTab.find("#limits_snapshot"));
- }
- if (templateLimit != $resourceLimitsTab.find("#limits_template").text()) {
- updateResourceLimitForDomain(domainId, 4, templateLimit, $resourceLimitsTab.find("#limits_template"));
- }
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
-}
-
-
-function doEditDomain($actionLink, $detailsTab, $midmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditDomain2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditDomain2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"));
- if (!isValid)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- var array1 = [];
-
- var newName = $detailsTab.find("#name_edit").val();
- if(newName != jsonObj.name)
- array1.push("&name="+todb(newName));
-
- if(array1.length > 0) {
- $.ajax({
- data: createURL("command=updateDomain&id="+id+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- jsonObj = json.updatedomainresponse.domain;
- $midmenuItem1.data("jsonObj", jsonObj);
- domainJsonToDetailsTab();
-
- $("#leftmenu_domain_tree").find("#tree_container").find("#domain_name_"+id).text(newName);
- }
- });
- }
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
-}
-
-function doUpdateResourceCountForDomain($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=updateResourceCount&domainid="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
-}
-
-function doDeleteDomain($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation_delete_domain")
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var isForced = $("#dialog_confirmation_delete_domain").find("#force_delete_domain").attr("checked").toString();
- var apiCommand = "command=deleteDomain&id="+id+"&cleanup="+isForced;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-var domainActionMap = {
- "label.action.edit.domain": {
- dialogBeforeActionFn: doEditDomain
- },
- "label.action.update.resource.count": {
- isAsyncJob: false,
- dialogBeforeActionFn : doUpdateResourceCountForDomain,
- inProcessText: "label.action.update.resource.count.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){}
- },
- "label.action.delete.domain": {
- isAsyncJob: true,
- dialogBeforeActionFn : doDeleteDomain,
- asyncJobResponse: "deletedomainresponse",
- inProcessText: "label.action.delete.domain.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- domainJsonClearRightPanel();
- }
- }
- }
-}
diff --git a/ui/old/scripts/cloud.core.event.js b/ui/old/scripts/cloud.core.event.js
deleted file mode 100644
index 8fbebd4f7bb..00000000000
--- a/ui/old/scripts/cloud.core.event.js
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function eventGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var type = $advancedSearchPopup.find("#adv_search_type").val();
- if (type!=null && trim(type).length > 0)
- moreCriteria.push("&type="+todb(type));
-
- var level = $advancedSearchPopup.find("#adv_search_level").val();
- if (level!=null && level.length > 0)
- moreCriteria.push("&level="+todb(level));
-
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- if ($advancedSearchPopup.find("#adv_search_account_li").css("display") != "none"
- && $advancedSearchPopup.find("#adv_search_account").hasClass("textwatermark") == false) {
- var account = $advancedSearchPopup.find("#adv_search_account").val();
- if (account!=null && account.length > 0)
- moreCriteria.push("&account="+todb(account));
- }
-
- var startdate = $advancedSearchPopup.find("#adv_search_startdate").val();
- if ($advancedSearchPopup.find("#adv_search_startdate").hasClass("textwatermark") == false && startdate!=null && startdate.length > 0)
- moreCriteria.push("&startdate="+todb(startdate));
-
- var enddate = $advancedSearchPopup.find("#adv_search_enddate").val();
- if ($advancedSearchPopup.find("#adv_search_enddate").hasClass("textwatermark") == false && enddate!=null && enddate.length > 0)
- moreCriteria.push("&enddate="+todb(enddate));
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadEventJSP() {
-
-}
-
-function eventToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- if(jsonObj.level == "INFO")
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_events_info.png");
- else if(jsonObj.level == "ERROR")
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_events_error.png");
- else if(jsonObj.level == "WARN")
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_events_warning.png");
-
- var firstRowText = fromdb(jsonObj.description);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.type);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function eventToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- eventJsonToDetailsTab();
-}
-
-function eventJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null)
- return;
-
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listEvents&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listeventsresponse.event;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#username").text(fromdb(jsonObj.username));
- $thisTab.find("#account").text(fromdb(jsonObj.account));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- $thisTab.find("#type").text(fromdb(jsonObj.type));
- $thisTab.find("#level").text(fromdb(jsonObj.level));
- $thisTab.find("#description").text(fromdb(jsonObj.description));
- $thisTab.find("#state").text(fromdb(jsonObj.state));
- setDateField(jsonObj.created, $thisTab.find("#created"));
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
diff --git a/ui/old/scripts/cloud.core.globalsetting.js b/ui/old/scripts/cloud.core.globalsetting.js
deleted file mode 100644
index 4bb28b5a420..00000000000
--- a/ui/old/scripts/cloud.core.globalsetting.js
+++ /dev/null
@@ -1,138 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function afterLoadGlobalSettingJSP() {
- var $actionLink = $("#right_panel_content #tab_content_details #action_link");
- bindActionLink($actionLink);
- /*
- $actionLink.bind("mouseover", function(event) {
- $(this).find("#action_menu").show();
- return false;
- });
- $actionLink.bind("mouseout", function(event) {
- $(this).find("#action_menu").hide();
- return false;
- });
- */
-
- populateGlobalSettingGrid();
-
- //actions
- var $actionList = $("#right_panel_content #tab_content_details #action_link #action_menu").find("#action_list").empty();
- var $listItem = $("#action_list_item").clone();
- $listItem.find("#link").text(dictionary["label.action.edit.global.setting"]);
- $listItem.bind("click", function(event) {
- doEditGlobalSetting();
- return false;
- });
- $actionList.append($listItem.show());
-
- //dialogs
- initDialogWithOK("dialog_alert_restart_management_server");
-}
-
-function populateGlobalSettingGrid() {
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listConfigurations"),
- dataType: "json",
- success: function(json) {
- var items = json.listconfigurationsresponse.configuration;
- $container = $("#tab_content_details").find("#grid_content").empty();
- $templateText = $("#globalsetting_template_text");
- $templatePassword = $("#globalsetting_template_password");
- if(items != null && items.length > 0) {
- for(var i=0; i
0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
-
- var state = $advancedSearchPopup.find("#adv_search_state").val();
- if (state!=null && state.length > 0)
- moreCriteria.push("&state="+todb(state));
-
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneId="+zone);
-
- if ($advancedSearchPopup.find("#adv_search_pod_li").css("display") != "none") {
- var pod = $advancedSearchPopup.find("#adv_search_pod").val();
- if (pod!=null && pod.length > 0)
- moreCriteria.push("&podId="+pod);
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadHostJSP() {
- initDialog("dialog_add_host", 400);
- initDialog("dialog_update_os");
- initDialog("dialog_confirmation_remove_host");
-
- var $dialogRemoveHost = $("#dialog_confirmation_remove_host");
- if(isAdmin()) {
- $dialogRemoveHost.find("#force_remove_host_container").show();
- }
-
- // switch between different tabs
- var tabArray = [$("#tab_details"), $("#tab_instance"), $("#tab_router"), $("#tab_systemvm"), $("#tab_statistics")];
- var tabContentArray = [$("#tab_content_details"), $("#tab_content_instance"), $("#tab_content_router"), $("#tab_content_systemvm"), $("#tab_content_statistics")];
- var afterSwitchFnArray = [hostJsonToDetailsTab, hostJsonToInstanceTab, hostJsonToRouterTab, hostJsonToSystemvmTab, hostJsonToStatisticsTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-
- $readonlyFields = $("#tab_content_details").find("#hosttags,#oscategoryname");
- $editFields = $("#tab_content_details").find("#hosttags_edit,#os_dropdown");
-
- $.ajax({
- data: createURL("command=listOsCategories"),
- dataType: "json",
- success: function(json) {
- var categories = json.listoscategoriesresponse.oscategory;
- var $dropdown = $("#tab_content_details").find("#os_dropdown").empty();
- $dropdown.append("None ");
- if (categories != null && categories.length > 0) {
- for (var i = 0; i < categories.length; i++) {
- $dropdown.append("" + fromdb(categories[i].name) + " ");
- }
- }
- }
- });
-
- hostRefreshDataBinding();
-}
-
-function hostRefreshDataBinding() {
- var $hostNode = $selectedSubMenu.parent();
- bindAddHostButton($hostNode);
-}
-
-function hostToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_host.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.ipaddress);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-
- updateHostStateInMidMenu(jsonObj, $midmenuItem1);
-}
-
-function hostToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- $("#tab_details").click();
-}
-
-function hostJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- hostClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- hostClearDetailsTab();
- return;
- }
-
- $.ajax({
- data: createURL("command=listHosts&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listhostsresponse.host;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- updateHostStateInMidMenu(jsonObj, $midmenuItem1);
- }
- }
- });
-
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#hosttags").text(fromdb(jsonObj.hosttags));
- $thisTab.find("#hosttags_edit").val(fromdb(jsonObj.hosttags));
-
- setHostStateInRightPanel(fromdb(jsonObj.state), $thisTab.find("#state"));
-
-
- //refresh status every 2 seconds until status is not changable any more
- var timerKey = "refreshHostStatus";
- $("body").stopTime(timerKey); //stop timer used by another middle menu item (i.e. stop timer when clicking on a different middle menu item)
- if($midmenuItem1.find("#spinning_wheel").css("display") == "none") {
- if(jsonObj.state in hostChangableStatus) {
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=listHosts&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listhostsresponse.host;
- if(items != null && items.length > 0) {
- jsonObj = items[0]; //override jsonObj declared above
- $midmenuItem1.data("jsonObj", jsonObj);
- if(!(jsonObj.state in hostChangableStatus)) {
- $("body").stopTime(timerKey);
- updateHostStateInMidMenu(jsonObj, $midmenuItem1);
- if(jsonObj.id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- setHostStateInRightPanel(jsonObj.state, $thisTab.find("#state"));
- hostBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
- }
- }
- }
- }
- });
- }
- );
- }
- }
-
-
- $thisTab.find("#type").text(fromdb(jsonObj.type));
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#podname").text(fromdb(jsonObj.podname));
- $thisTab.find("#clustername").text(fromdb(jsonObj.clustername));
- $thisTab.find("#ipaddress").text(fromdb(jsonObj.ipaddress));
- $thisTab.find("#version").text(fromdb(jsonObj.version));
- $thisTab.find("#oscategoryname").text(fromdb(jsonObj.oscategoryname));
- $thisTab.find("#disconnected").text(fromdb(jsonObj.disconnected));
-
- populateForUpdateOSDialog(jsonObj.oscategoryid);
-
- // actions
- hostBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-var hostChangableStatus = {
- "PrepareForMaintenance": 1,
- "ErrorInMaintenance": 1,
- "Updating": 1,
- "Disconnected": 1,
- "Alert": 1,
- "Connecting": 1
-}
-
-function hostBuildActionMenu(jsonObj, $thisTab, $midmenuItem1) {
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- if (jsonObj.state == 'Up' || jsonObj.state == "Connecting") {
- buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.enable.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.force.reconnect", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- //buildActionLinkForTab("label.action.update.OS.preference", hostActionMap, $actionMenu, $midmenuItem1, $thisTab); //temp
- noAvailableActions = false;
- }
- else if(jsonObj.state == 'Down') {
- buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.enable.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if(jsonObj.state == "Alert") {
- buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
-
- }
- else if (jsonObj.state == "ErrorInMaintenance") {
- buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.enable.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.cancel.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- noAvailableActions = false;
- }
- else if (jsonObj.state == "PrepareForMaintenance") {
- buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.cancel.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if (jsonObj.state == "Maintenance") {
- buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.cancel.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if (jsonObj.state == "Disconnected"){
- buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else {
- //alert("Unsupported Host State: " + jsonObj.state);
- }
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-}
-
-function hostJsonToInstanceTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- hostClearInstanceTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- hostClearInstanceTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_instance");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- cache: false,
- data: createURL("command=listVirtualMachines&hostid="+jsonObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listvirtualmachinesresponse.virtualmachine;
- var $container = $thisTab.find("#tab_container").empty();
- if (items != null && items.length > 0) {
- var template = $("#instance_tab_template");
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- hostInstanceJSONToTemplate(items[i], newTemplate);
- $container.append(newTemplate.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function hostClearInstanceTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_instance");
- $thisTab.find("#tab_container").empty();
-}
-
-function hostInstanceJSONToTemplate(jsonObj, template) {
- template.data("jsonObj", jsonObj);
- template.attr("id", "host_instance_"+jsonObj.id).data("hostInstanceId", jsonObj.id);
- template.find("#grid_header_title").text(fromdb(jsonObj.name));
- template.find("#id").text(jsonObj.id);
- template.find("#name").text(getVmName(jsonObj.name, jsonObj.displayname));
- template.find("#ipaddress").text(fromdb(jsonObj.ipaddress));
- template.find("#serviceOfferingName").text(fromdb(jsonObj.serviceofferingname));
- template.find("#account").text(fromdb(jsonObj.account));
- template.find("#domain").text(fromdb(jsonObj.domain));
- setDateField(jsonObj.created, template.find("#created"));
-}
-
-function hostJsonToRouterTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- hostClearRouterTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- hostClearRouterTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_router");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- cache: false,
- data: createURL("command=listRouters&hostid="+jsonObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listroutersresponse.router;
- var $container = $thisTab.find("#tab_container").empty();
- if (items != null && items.length > 0) {
- var template = $("#router_tab_template");
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- hostRouterJSONToTemplate(items[i], newTemplate);
- $container.append(newTemplate.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function hostClearRouterTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_router");
- $thisTab.find("#tab_container").empty();
-}
-
-function hostJsonToStatisticsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- hostClearStatisticsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- hostClearStatisticsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_statistics");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- /*
- var $barChartContainer = $thisTab.find("#cpu_barchart");
-
- var cpuNumber = ((jsonObj.cpunumber==null)? "":jsonObj.cpunumber.toString());
- $barChartContainer.find("#cpunumber").text(cpuNumber);
-
- var cpuSpeed = ((jsonObj.cpuspeed==null)? "":convertHz(jsonObj.cpuspeed)) ;
- $barChartContainer.find("#cpuspeed").text(cpuSpeed);
-
- $barChartContainer.find("#bar_chart").removeClass().addClass("db_barbox").css("width", "0%");
- $barChartContainer.find("#percentused").text("");
- if(jsonObj.cpuused!=null)
- drawBarChart($barChartContainer, jsonObj.cpuused);
- */
-
- $thisTab.find("#cpunumber").text(fromdb(jsonObj.cpunumber));
- $thisTab.find("#cpuspeed").text(convertHz(jsonObj.cpuspeed));
-
- $thisTab.find("#percentused").text(jsonObj.cpuused);
-
- var cpuAllocated = ((jsonObj.cpuallocated==null)? "":jsonObj.cpuallocated);
- $thisTab.find("#cpuallocated").text(cpuAllocated);
-
- var memoryTotal = ((jsonObj.cpuallocated==null)? "":convertBytes(jsonObj.memorytotal));
- $thisTab.find("#memorytotal").text(memoryTotal);
-
- var memoryAllocated = ((jsonObj.cpuallocated==null)? "":convertBytes(jsonObj.memoryallocated));
- $thisTab.find("#memoryallocated").text(memoryAllocated);
-
- var memoryUsed = ((jsonObj.memoryused==null)? "":convertBytes(jsonObj.memoryused));
- $thisTab.find("#memoryused").text(memoryUsed);
-
- var networkKbsRead = ((jsonObj.networkkbsread==null)? "":convertBytes(jsonObj.networkkbsread * 1024));
- $thisTab.find("#networkkbsread").text(networkKbsRead);
-
- var networkKbsWrite = ((jsonObj.networkkbswrite==null)? "":convertBytes(jsonObj.networkkbswrite * 1024));
- $thisTab.find("#networkkbswrite").text(networkKbsWrite);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function hostClearStatisticsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_statistics");
- var $barChartContainer = $thisTab.find("#cpu_barchart");
- $barChartContainer.find("#cpunumber").text("");
- $barChartContainer.find("#cpuspeed").text("");
- $barChartContainer.find("#bar_chart").removeClass().addClass("db_barbox").css("width", "0%");
- $barChartContainer.find("#percentused").text("");
- $thisTab.find("#cpuallocated").text("");
- $thisTab.find("#memorytotal").text("");
- $thisTab.find("#memoryallocated").text("");
- $thisTab.find("#memoryused").text("");
- $thisTab.find("#networkkbsread").text("");
- $thisTab.find("#networkkbswrite").text("");
-}
-
-function hostRouterJSONToTemplate(jsonObj, template) {
- template.data("jsonObj", jsonObj);
- template.attr("id", "host_router_"+jsonObj.id).data("hostRouterId", jsonObj.id);
- template.find("#grid_header_title").text(fromdb(jsonObj.name));
- template.find("#id").text(jsonObj.id);
- template.find("#name").text(fromdb(jsonObj.name));
- template.find("#publicip").text(fromdb(jsonObj.publicip));
- template.find("#privateip").text(fromdb(jsonObj.linklocalip));
- template.find("#guestipaddress").text(fromdb(jsonObj.guestipaddress));
- template.find("#account").text(fromdb(jsonObj.account));
- template.find("#domain").text(fromdb(jsonObj.domain));
- setDateField(jsonObj.created, template.find("#created"));
-}
-
-function hostJsonToSystemvmTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- hostClearSystemvmTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- hostClearSystemvmTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_systemvm");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- cache: false,
- data: createURL("command=listSystemVms&hostid="+jsonObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listsystemvmsresponse.systemvm;
- var $container = $thisTab.find("#tab_container").empty();
- if (items != null && items.length > 0) {
- var template = $("#systemvm_tab_template");
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- hostSystemvmJSONToTemplate(items[i], newTemplate);
- $container.append(newTemplate.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function hostClearSystemvmTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_systemvm");
- $thisTab.find("#tab_container").empty();
-}
-
-function hostSystemvmJSONToTemplate(jsonObj, template) {
- template.data("jsonObj", jsonObj);
- template.attr("id", "host_systemvm_"+jsonObj.id).data("hostSystemvmId", jsonObj.id);
- template.find("#grid_header_title").text(fromdb(jsonObj.name));
- template.find("#id").text(jsonObj.id);
- template.find("#name").text(fromdb(jsonObj.name));
- template.find("#systemvmtype").text(toSystemVMTypeText(jsonObj.systemvmtype));
- template.find("#publicip").text(fromdb(jsonObj.publicip));
- template.find("#privateip").text(fromdb(jsonObj.privateip));
- template.find("#linklocalip").text(fromdb(jsonObj.linklocalip));
- setDateField(jsonObj.created, template.find("#created"));
-}
-
-function hostClearRightPanel() {
- hostClearDetailsTab();
- hostClearInstanceTab();
- hostClearRouterTab();
- hostClearSystemvmTab();
- hostClearStatisticsTab();
-}
-
-function hostClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#id").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#state").text("");
- $thisTab.find("#type").text("");
- $thisTab.find("#zonename").text("");
- $thisTab.find("#podname").text("");
- $thisTab.find("#clustername").text("");
- $thisTab.find("#ipaddress").text("");
- $thisTab.find("#version").text("");
- $thisTab.find("#oscategoryname").text("");
- $thisTab.find("#disconnected").text("");
-
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-function populateForUpdateOSDialog(oscategoryid) {
- $.ajax({
- data: createURL("command=listOsCategories"),
- dataType: "json",
- success: function(json) {
- var categories = json.listoscategoriesresponse.oscategory;
- var select = $("#dialog_update_os #host_os").empty();
- select.append("None ");
- if (categories != null && categories.length > 0) {
- for (var i = 0; i < categories.length; i++) {
- if(categories[i].id == oscategoryid) {
- select.append("" + categories[i].name + " ");
- }
- else {
- select.append("" + categories[i].name + " ");
- }
- }
- }
- }
- });
-}
-
-
-var hostActionMap = {
- "label.action.edit.host": {
- dialogBeforeActionFn: doEditHost
- },
- "label.action.enable.maintenance.mode": {
- isAsyncJob: true,
- asyncJobResponse: "preparehostformaintenanceresponse",
- dialogBeforeActionFn: doEnableMaintenanceMode,
- inProcessText: "label.action.enable.maintenance.mode.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.host;
- hostToMidmenu(item, $midmenuItem1);
- return dictionary["message.action.enable.maintenance"];
- }
- },
- "label.action.cancel.maintenance.mode": {
- isAsyncJob: true,
- asyncJobResponse: "cancelhostmaintenanceresponse",
- dialogBeforeActionFn: doCancelMaintenanceMode,
- inProcessText: "label.action.cancel.maintenance.mode.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.host;
- hostToMidmenu(item, $midmenuItem1);
- return dictionary["message.action.cancel.maintenance"];
- }
- },
- "label.action.force.reconnect": {
- isAsyncJob: true,
- asyncJobResponse: "reconnecthostresponse",
- dialogBeforeActionFn: doForceReconnect,
- inProcessText: "label.action.force.reconnect.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.host;
- hostToMidmenu(item, $midmenuItem1);
- return dictionary["message.action.force.reconnect"];
- }
- },
- "label.action.remove.host": {
- isAsyncJob: false,
- dialogBeforeActionFn: doRemoveHost,
- inProcessText: "label.action.remove.host.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- hostClearRightPanel();
- }
- }
- }
- /*
- ,
- "label.action.update.OS.preference": {
- isAsyncJob: false,
- dialogBeforeActionFn: doUpdateOSPreference,
- inProcessText: "label.action.update.OS.preference.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.updatehostresponse.host;
- hostToMidmenu(item, $midmenuItem1);
- }
- }
- */
-}
-
-function doEditHost($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- $detailsTab.find("#os_dropdown").val(jsonObj.oscategoryid);
-
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditHost2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditHost2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- var isValid = true;
- isValid &= validateString("Host Tags", $detailsTab.find("#hosttags_edit"), $detailsTab.find("#hosttags_edit_errormsg"), true); //optional
- if (!isValid)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- var array1 = [];
- array1.push("&id="+id);
-
- var hosttags = $detailsTab.find("#hosttags_edit").val();
- array1.push("&hosttags="+todb(hosttags));
-
- var osCategoryId = $detailsTab.find("#os_dropdown").val();
- if (osCategoryId != null && osCategoryId.length > 0)
- array1.push("&osCategoryId="+osCategoryId);
- else //OS is none
- array1.push("&osCategoryId=0");
-
- $.ajax({
- data: createURL("command=updateHost"+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- var jsonObj = json.updatehostresponse.host;
- hostToMidmenu(jsonObj, $midmenuItem1);
- hostToRightPanel($midmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
- });
-}
-
-function doEnableMaintenanceMode($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.host.enable.maintenance.mode"])
- .dialog("option", "buttons", {
- "OK": function() {
- $(this).dialog("close");
- var id = jsonObj.id;
- var apiCommand = "command=prepareHostForMaintenance&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doCancelMaintenanceMode($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.cancel.maintenance.mode"])
- .dialog("option", "buttons", {
- "OK": function() {
- $(this).dialog("close");
- var id = jsonObj.id;
- var apiCommand = "command=cancelHostMaintenance&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doForceReconnect($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.force.reconnect"])
- .dialog("option", "buttons", {
- "OK": function() {
- $(this).dialog("close");
- var id = jsonObj.id;
- var apiCommand = "command=reconnectHost&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doRemoveHost($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation_remove_host")
- .dialog("option", "buttons", {
- "OK": function() {
- $(this).dialog("close");
- var id = jsonObj.id;
- var isForced = $("#dialog_confirmation_remove_host").find("#force_remove_host").attr("checked").toString();
- var apiCommand = "command=deleteHost&id="+id+"&forced="+isForced;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-/*
-function doUpdateOSPreference($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_update_os")
- .dialog("option", "buttons", {
- "Update": function() {
- var $thisDialog = $(this);
- $thisDialog.dialog("close");
- var osId = $thisDialog.find("#host_os").val();
- var osName =$thisDialog.find("#host_os option:selected").text();
- if (osId == null || osId.length == 0) //OS is none
- osId =0;
-
- var id = jsonObj.id;
- var apiCommand = "command=updateHost&id="+id+"&osCategoryId="+osId;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-*/
diff --git a/ui/old/scripts/cloud.core.init.js b/ui/old/scripts/cloud.core.init.js
deleted file mode 100644
index c6946c583e4..00000000000
--- a/ui/old/scripts/cloud.core.init.js
+++ /dev/null
@@ -1,838 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-var md5Hashed = true;
-var md5HashedLogin = false;
-
-$(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();
- }
- }
-
- // Setup custom theme
- var $currentTheme = null;
- if ($.cookie("theme") != null) {
- var theme = $.cookie("theme");
- $currentTheme = $(" ").appendTo("head").attr({
- rel: "stylesheet",
- type: "text/css",
- href: "custom/"+theme+"/css/"+theme+".css"
- });
- $("#theme_button p").text($("#theme_button #theme_menu #"+theme).text());
- }
- $("#theme_button").click(function(event) {
- var $menu = $(this).find("#theme_menu");
- if ($menu.css("display") == "none") {
- $menu.slideDown(500);
- } else {
- $menu.slideUp(500);
- }
- });
-
- $("#theme_button #theme_menu").click(function(event) {
- var target = $(event.target);
- var id = target.attr("id");
- if ($currentTheme != null) {
- $currentTheme.remove();
- $currentTheme = null;
- }
- var name = g_dictionary["label.theme.default"];
- if (id != "theme_default") {
- $currentTheme = $(" ").appendTo("head").attr({
- rel: "stylesheet",
- type: "text/css",
- href: "custom/"+id+"/css/"+id+".css"
- });
- name = target.text();
- $.cookie("theme", id);
- } else {
- if ($currentTheme != null) {
- $currentTheme.remove();
- }
- $.cookie("theme", null);
- name = g_dictionary["label.theme.default"];
- }
- $("#theme_button p").text(name);
- $(this).hide();
- return false;
- });
-
- // Setup Language option
- if ($.cookie("lang") != null) {
- $("#lang_button p").text($("#lang_button #lang_menu #"+$.cookie("lang")).text());
- }
-
- $("#lang_button").click(function(event) {
- var $menu = $(this).find("#lang_menu");
- if ($menu.css("display") == "none") {
- $menu.slideDown(500);
- } else {
- $menu.slideUp(500);
- }
- });
-
- $("#lang_button #lang_menu").click(function(event) {
- var target = $(event.target);
- var id = target.attr("id");
- $.cookie("lang", id);
- location.replace('/client');
- return false;
- });
-
- // Setup drag and slide for the main UI
- $("#west_panel").resizable({
- minWidth: 221,
- maxWidth: 421,
- ghost: true,
- stop: function(event, ui) {
- var resized = ui.size.width - 1;
- $("#east_panel").attr("style", "margin-left:" + resized +"px;");
- }
- });
-
- $(".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(){
- currentRightPanelJSP = "jsp/dashboard.jsp";
- 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);
-
- if(g_supportELB == "guest") //ips are allocated on guest network
- bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=false&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
- else if(g_supportELB == "public") //ips are allocated on public network
- bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=true&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
- else
- bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false); //remove "&forvirtualnetwork=true" for advanced zone whose security group is enabled
-
- 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&issystem=false", serviceOfferingGetSearchParams, "listserviceofferingsresponse", "serviceoffering", "jsp/serviceoffering.jsp", afterLoadServiceOfferingJSP, serviceOfferingToMidmenu, serviceOfferingToRightPanel, getMidmenuId, false);
- bindAndListMidMenuItems($("#leftmenu_system_service_offering"), "listServiceOfferings&issystem=true", systemServiceOfferingGetSearchParams, "listserviceofferingsresponse", "serviceoffering", "jsp/systemserviceoffering.jsp", afterLoadSystemServiceOfferingJSP, systemServiceOfferingToMidmenu, systemServiceOfferingToRightPanel, getMidmenuId, false);
- bindAndListMidMenuItems($("#leftmenu_disk_offering"), "listDiskOfferings", diskOfferingGetSearchParams, "listdiskofferingsresponse", "diskoffering", "jsp/diskoffering.jsp", afterLoadDiskOfferingJSP, diskOfferingToMidmenu, diskOfferingToRightPanel, getMidmenuId, false);
- bindAndListMidMenuItems($("#leftmenu_network_offering"), "listNetworkOfferings&guestiptype=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";
- 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;
- });
-
- $("#leftmenu_template_filter_header, #leftmenu_iso_filter_header").unbind("click").bind("click", function(event) {
- var $arrowIcon = $(this).find("#arrow_icon");
- var $subItemContainer = $(this).next();
- if($arrowIcon.hasClass("expanded_open")) {
- $subItemContainer.hide();
- $arrowIcon.removeClass("expanded_open").addClass("expanded_close");
- }
- else if($arrowIcon.hasClass("expanded_close")) {
- $subItemContainer.show();
- $arrowIcon.removeClass("expanded_close").addClass("expanded_open");
- }
- 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;
- }
-
- //clear search
- $("#clear_search").unbind("click").bind("click", function(event) {
- if(searchParams.length > 0) {
- if($selectedSubMenu != null)
- $selectedSubMenu.click();
- return false;
- }
- });
-
- //refresh mid search
- $("#refresh_mid").unbind("click").bind("click", function(event) {
- var onRefreshFn = $("#right_panel").data("onRefreshFn");
- if(onRefreshFn != null)
- onRefreshFn();
- return false;
- });
-
- //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;
- //(to-do: close auto-complete fields)
- 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("" + g_dictionary["label.by.zone"] + " ");
- if (zones != null && zones.length > 0) {
- for (var i = 0; i < zones.length; i++) {
- zoneSelect.append("" + fromdb(zones[i].name) + " ");
- }
- }
- }
- });
-
- 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("" + g_dictionary["label.by.pod"] + " ");
- if (pods != null && pods.length > 0) {
- for (var i = 0; i < pods.length; i++) {
- podSelect.append("" + fromdb(pods[i].name) + " ");
- }
- }
- }
- });
- }
- return false;
- });
-
- zoneSelect.change();
- }
- }
-
- applyAutoCompleteToDomainField($advancedSearchPopup.find("#domain"));
-
- $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) {
- if ($currentMidmenuItem != null) {
- if($("#midmenu_container").find("#multiple_selection_sub_container").length == 0) //single-selection middle menu
- $currentMidmenuItem.click();
- else //multiple-selection middle menu
- clickItemInMultipleSelectionMidmenu($currentMidmenuItem);
- } else {
- 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: clientApiUrl,
- 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;
- g_supportELB = 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);
- $.cookie('supportELB', 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 = $("#account_username").val();
- array1.push("&username="+encodeURIComponent(username));
-
- var password = $("#account_password").val();
- if (md5HashedLogin) {
- password = $.md5(password);
- }
- 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;
-
- $.cookie('sessionKey', g_sessionKey, { 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});
-
- $.ajax({
- data: createURL("command=listCapabilities"),
- dataType: "json",
- async: false,
- success: function(json) {
- /* g_supportELB: "guest" — ips are allocated on guest network (so use 'forvirtualnetwork' = false)
- * g_supportELB: "public" - ips are allocated on public network (so use 'forvirtualnetwork' = true)
- * g_supportELB: "false" – no ELB support
- */
- g_supportELB = json.listcapabilitiesresponse.capability.supportELB.toString(); //convert boolean to string if it's boolean
- $.cookie('supportELB', g_supportELB, { expires: 1});
-
- if (json.listcapabilitiesresponse.capability.userpublictemplateenabled != null) {
- g_userPublicTemplateEnabled = json.listcapabilitiesresponse.capability.userpublictemplateenabled.toString(); //convert boolean to string if it's boolean
- $.cookie('userpublictemplateenabled', g_userPublicTemplateEnabled, { expires: 1});
- }
-
- if (json.listcapabilitiesresponse.capability.securitygroupsenabled != null) {
- g_directAttachSecurityGroupsEnabled = json.listcapabilitiesresponse.capability.securitygroupsenabled.toString(); //convert boolean to string if it's boolean
- $.cookie('directattachsecuritygroupsenabled', g_directAttachSecurityGroupsEnabled, { expires: 1});
- }
-
- buildSecondLevelNavigation();
- $("#main_username").text(g_username);
- $("#login_wrapper").hide();
- showLeftNavigationBasedOnRole();
- initUI();
- periodicallyCheckNonCompleteAsyncJob();
- $("#main").show();
- },
- error: function(xmlHTTP) {
- logout(false);
- },
- beforeSend: function(xmlHTTP) {
- return true;
- }
- });
- },
- 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_action_complete", 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.
- if (g_loginResponse == null) {
- 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_timezone = $.cookie("timezone");
- g_directAttachSecurityGroupsEnabled = $.cookie("directattachsecuritygroupsenabled");
- g_userPublicTemplateEnabled = $.cookie("userpublictemplateenabled");
-
- if($.cookie("timezoneoffset") != null)
- g_timezoneoffset = isNaN($.cookie("timezoneoffset"))?null: parseFloat($.cookie("timezoneoffset"));
- else
- g_timezoneoffset = null;
-
- if (g_directAttachSecurityGroupsEnabled == null || g_directAttachSecurityGroupsEnabled.length == 0)
- g_directAttachSecurityGroupsEnabled = "false";
-
- if (g_userPublicTemplateEnabled == null || g_userPublicTemplateEnabled.length == 0)
- g_userPublicTemplateEnabled = "true";
- } else {
- g_mySession = $.cookie('JSESSIONID');
- g_sessionKey = encodeURIComponent(g_loginResponse.sessionkey);
- g_role = g_loginResponse.type;
- g_username = g_loginResponse.username;
- g_account = g_loginResponse.account;
- g_domainid = g_loginResponse.domainid;
- g_timezone = g_loginResponse.timezone;
- g_timezoneoffset = g_loginResponse.timezoneoffset;
- }
-
- if(g_supportELB == null)
- g_supportELB = $.cookie("supportELB");
-
- $.ajax({
- data: createURL("command=listCapabilities"),
- dataType: "json",
- async: false,
- success: function(json) {
- /* g_supportELB: "guest" — ips are allocated on guest network (so use 'forvirtualnetwork' = false)
- * g_supportELB: "public" - ips are allocated on public network (so use 'forvirtualnetwork' = true)
- * g_supportELB: "false" – no ELB support
- */
- g_supportELB = json.listcapabilitiesresponse.capability.supportELB.toString(); //convert boolean to string if it's boolean
- $.cookie('supportELB', g_supportELB, { expires: 1});
-
- if (json.listcapabilitiesresponse.capability.userpublictemplateenabled != null) {
- g_userPublicTemplateEnabled = json.listcapabilitiesresponse.capability.userpublictemplateenabled.toString(); //convert boolean to string if it's boolean
- $.cookie('userpublictemplateenabled', g_userPublicTemplateEnabled, { expires: 1});
- }
-
- if (json.listcapabilitiesresponse.capability.securitygroupsenabled != null) {
- g_directAttachSecurityGroupsEnabled = json.listcapabilitiesresponse.capability.securitygroupsenabled.toString(); //convert boolean to string if it's boolean
- $.cookie('directattachsecuritygroupsenabled', g_directAttachSecurityGroupsEnabled, { expires: 1});
- }
-
- buildSecondLevelNavigation();
- $("#main_username").text(g_username);
- showLeftNavigationBasedOnRole();
- initUI();
- $("#main").show();
- },
- error: function(xmlHTTP) {
- logout(false);
- },
- beforeSend: function(xmlHTTP) {
- return true;
- }
- });
-});
-
diff --git a/ui/old/scripts/cloud.core.instance.js b/ui/old/scripts/cloud.core.instance.js
deleted file mode 100755
index 2fd3990e030..00000000000
--- a/ui/old/scripts/cloud.core.instance.js
+++ /dev/null
@@ -1,2558 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function vmGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- if($advancedSearchPopup.find("#adv_search_state").length > 0) {
- var state = $advancedSearchPopup.find("#adv_search_state").val();
- if (state!=null && state.length > 0)
- moreCriteria.push("&state="+todb(state));
- }
-
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneid="+todb(zone));
-
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- if ($advancedSearchPopup.find("#adv_search_account_li").css("display") != "none"
- && $advancedSearchPopup.find("#adv_search_account").hasClass("textwatermark") == false) {
- var account = $advancedSearchPopup.find("#adv_search_account").val();
- if(account != null && account.length > 0)
- moreCriteria.push("&account="+todb(account));
- }
- }
-
- return moreCriteria.join("");
-}
-function instanceBuildSubMenu() {
- if (isAdmin() || isDomainAdmin()) {
- $("#leftmenu_instance_expandedbox").find("#leftmenu_instances_my_instances_container, #leftmenu_instances_all_instances_container, #leftmenu_instances_running_instances_container, #leftmenu_instances_stopped_instances_container, #leftmenu_instances_destroyed_instances_container ").show();
- }
- else if(isUser()) {
- $("#leftmenu_instance_expandedbox").find("#leftmenu_instances_all_instances_container, #leftmenu_instances_running_instances_container, #leftmenu_instances_stopped_instances_container").show();
-
- /*
- $.ajax({
- cache: false,
- data: createURL("command=listInstanceGroups"),
- dataType: "json",
- success: function(json) {
- $("#leftmenu_instance_group_container").empty();
- var instancegroups = json.listinstancegroupsresponse.instancegroup;
- if(instancegroups!=null && instancegroups.length>0) {
- for(var i=0; i < instancegroups.length; i++) {
- instanceBuildSubMenu2(instancegroups[i].name, ("listVirtualMachines&groupid="+instancegroups[i].id));
- }
- }
- }
- });
- */
- }
-}
-
-function instanceBuildSubMenu2(label, commandString) {
- var $newSubMenu = $("#leftmenu_secondindent_template").clone();
- $newSubMenu.find("#label").text(label);
- bindAndListMidMenuItems($newSubMenu, commandString, vmGetSearchParams, "listvirtualmachinesresponse", "virtualmachine", "jsp/instance.jsp", afterLoadInstanceJSP, vmToMidmenu, vmToRightPanel, getMidmenuId, true);
- $("#leftmenu_instance_group_container").append($newSubMenu.show());
-}
-
-var $doTemplateNo, $doTemplateCustom,$doTemplateExisting, $soTemplate;
-var $selectedVmWizardTemplate;
-var osTypeMap = {};
-function afterLoadInstanceJSP() {
- $("#right_panel_content").data("clearRightPanelFn", vmClearRightPanel);
-
- $doTemplateNo = $("#vm_popup_disk_offering_template_no");
- $doTemplateCustom = $("#vm_popup_disk_offering_template_custom");
- $doTemplateExisting = $("#vm_popup_disk_offering_template_existing");
- $soTemplate = $("#vm_popup_service_offering_template");
-
- initVMWizard();
- bindStartVMButton();
- bindStopVMButton();
- bindRebootVMButton();
- bindDestroyVMButton();
-
- // switch between different tabs
- var tabArray = [$("#tab_details"), $("#tab_nic"), $("#tab_securitygroup"), $("#tab_volume"), $("#tab_statistics")];
- var tabContentArray = [$("#tab_content_details"), $("#tab_content_nic"), $("#tab_content_securitygroup"), $("#tab_content_volume"), $("#tab_content_statistics")];
- var afterSwitchFnArray = [vmJsonToDetailsTab, vmJsonToNicTab, vmJsonToSecurityGroupTab, vmJsonToVolumeTab, vmJsonToStatisticsTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-
- if(getDirectAttachSecurityGroupsEnabled() == "true") {
- $("#tab_securitygroup").show();
- }
- else {
- $("#tab_securitygroup").hide();
- }
-
- // dialogs
- initDialog("dialog_detach_iso_from_vm");
- initDialog("dialog_attach_iso");
- initDialog("dialog_change_service_offering", 600);
- initDialog("dialog_create_template_from_vm", 400);
- initDialog("dialog_create_template_from_volume", 400);
- initDialog("dialog_migrate_instance", 600);
- initDialog("dialog_confirmation_stop_vm");
-
- var $dialogStopVm = $("#dialog_confirmation_stop_vm");
- if(isAdmin()) {
- $dialogStopVm.find("#force_stop_instance_container").show();
- }
-
- $.ajax({
- data: createURL("command=listOsTypes"),
- dataType: "json",
- async: false,
- success: function(json) {
- types = json.listostypesresponse.ostype;
- var osTypeDropdown1 = $("#right_panel_content").find("#tab_content_details").find("#ostypename_edit").empty();
- var osTypeDropdown2 = $("#dialog_create_template_from_vm #create_template_os_type").empty();
- var osTypeDropdown3 = $("#dialog_create_template_from_volume #create_template_os_type").empty();
- if (types != null && types.length > 0) {
- for (var i = 0; i < types.length; i++) {
- osTypeMap[types[i].id] = fromdb(types[i].description);
- var html = "" + fromdb(types[i].description) + " ";
- osTypeDropdown1.append(html);
- osTypeDropdown2.append(html);
- osTypeDropdown3.append(html);
- }
- }
- }
- });
-}
-
-function bindStartVMButton() {
- $("#start_vm_button").bind("click", function(event) {
- var itemCounts = 0;
- for(var id in selectedItemsInMidMenu) {
- itemCounts ++;
- }
- if(itemCounts == 0) {
- $("#dialog_info_please_select_one_item_in_middle_menu").dialog("open");
- return false;
- }
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.start.instance"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var apiInfo = {
- label: "label.action.start.instance",
- isAsyncJob: true,
- inProcessText: "label.action.start.instance.processing",
- asyncJobResponse: "startvirtualmachineresponse",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- if(jsonObj.id.toString() == $("#right_panel_content #tab_content_details").find("#id").text())
- vmToRightPanel($midmenuItem1);
- }
- }
-
- for(var id in selectedItemsInMidMenu) {
- var apiCommand = "command=startVirtualMachine&id="+id;
- doActionToMidMenu(id, apiInfo, apiCommand);
- }
-
- selectedItemsInMidMenu = {}; //clear selected items for action
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-
- return false;
- });
-}
-
-function bindStopVMButton() {
- $("#stop_vm_button").bind("click", function(event) {
- var itemCounts = 0;
- for(var id in selectedItemsInMidMenu) {
- itemCounts ++;
- }
- if(itemCounts == 0) {
- $("#dialog_info_please_select_one_item_in_middle_menu").dialog("open");
- return false;
- }
-
- $("#dialog_confirmation_stop_vm")
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var apiInfo = {
- label: "label.action.stop.instance",
- isAsyncJob: true,
- inProcessText: "label.action.stop.instance.processing",
- asyncJobResponse: "stopvirtualmachineresponse",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- if(jsonObj.id.toString() == $("#right_panel_content #tab_content_details").find("#id").text())
- vmToRightPanel($midmenuItem1);
- }
- }
-
- var isForced = $("#dialog_confirmation_stop_vm").find("#force_stop_instance").attr("checked").toString();
-
- for(var id in selectedItemsInMidMenu) {
- var apiCommand = "command=stopVirtualMachine&id="+id+"&forced="+isForced;
- doActionToMidMenu(id, apiInfo, apiCommand);
- }
-
- selectedItemsInMidMenu = {}; //clear selected items for action
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-
- return false;
- });
-}
-
-function bindRebootVMButton() {
- $("#reboot_vm_button").bind("click", function(event) {
- var itemCounts = 0;
- for(var id in selectedItemsInMidMenu) {
- itemCounts ++;
- }
- if(itemCounts == 0) {
- $("#dialog_info_please_select_one_item_in_middle_menu").dialog("open");
- return false;
- }
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.reboot.instance"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var apiInfo = {
- label: "label.action.reboot.instance",
- isAsyncJob: true,
- inProcessText: "label.action.reboot.instance.processing",
- asyncJobResponse: "rebootvirtualmachineresponse",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- if(jsonObj.id.toString() == $("#right_panel_content #tab_content_details").find("#id").text())
- vmToRightPanel($midmenuItem1);
- }
- }
-
- for(var id in selectedItemsInMidMenu) {
- var apiCommand = "command=rebootVirtualMachine&id="+id;
- doActionToMidMenu(id, apiInfo, apiCommand);
- }
-
- selectedItemsInMidMenu = {}; //clear selected items for action
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-
- return false;
- });
-}
-
-function bindDestroyVMButton() {
- $("#destroy_vm_button").bind("click", function(event) {
- var itemCounts = 0;
- for(var id in selectedItemsInMidMenu) {
- itemCounts ++;
- }
- if(itemCounts == 0) {
- $("#dialog_info_please_select_one_item_in_middle_menu").dialog("open");
- return false;
- }
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.destroy.instance"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var apiInfo = {
- label: "label.action.destroy.instance",
- isAsyncJob: true,
- inProcessText: "label.action.destroy.instance.processing",
- asyncJobResponse: "destroyvirtualmachineresponse",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- if(jsonObj.id.toString() == $("#right_panel_content #tab_content_details").find("#id").text())
- vmToRightPanel($midmenuItem1);
- }
- }
-
- for(var id in selectedItemsInMidMenu) {
- var apiCommand = "command=destroyVirtualMachine&id="+id;
- doActionToMidMenu(id, apiInfo, apiCommand);
- }
-
- selectedItemsInMidMenu = {}; //clear selected items for action
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-
- return false;
- });
-}
-
-var currentPageInTemplateGridInVmPopup =1;
-var selectedTemplateTypeInVmPopup; //selectedTemplateTypeInVmPopup will be set to "featured" when new VM dialog box opens
-var vmPopupTemplatePageSize = 6; //max number of templates in VM wizard
-var currentStepInVmPopup = 1;
-function initVMWizard() {
- $vmPopup = $("#vm_popup");
- //$vmPopup.draggable();
-
- if (isAdmin() || (getUserPublicTemplateEnabled() == "true")) {
- $vmPopup.find("#wiz_community").show();
- }
- else {
- $vmPopup.find("#wiz_community").hide();
- }
-
- $("#add_vm_button").unbind("click").bind("click", function(event) {
- vmWizardOpen();
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- success: function(json) {
- var zones = json.listzonesresponse.zone;
- var $zoneSelect = $vmPopup.find("#wizard_zone").empty();
- if (zones != null && zones.length > 0) {
- for (var i = 0; i < zones.length; i++) {
- $zone = $("" + fromdb(zones[i].name) + " ");
- $zone.data("zoneObj", zones[i]);
- $zoneSelect.append($zone);
- }
- }
- $zoneSelect.change();
- listTemplatesInVmPopup();
- }
- });
-
- $.ajax({
- data: createURL("command=listSecurityGroups"+"&domainid="+g_domainid+"&account="+g_account),
- dataType: "json",
- success: function(json) {
- var items = json.listsecuritygroupsresponse.securitygroup;
- var $securityGroupDropdown = $vmPopup.find("#security_group_dropdown").empty();
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- if(items[i].name != "default") //exclude default security group because it is always applied
- $securityGroupDropdown.append("" + fromdb(items[i].name) + " ");
- }
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listServiceOfferings&issystem=false"),
- dataType: "json",
- async: false,
- success: function(json) {
- var offerings = json.listserviceofferingsresponse.serviceoffering;
- var $container = $vmPopup.find("#service_offering_container");
- $container.empty();
- if (offerings != null && offerings.length > 0) {
- for (var i = 0; i < offerings.length; i++) {
- var $t = $soTemplate.clone();
- $t.find("input:radio[name=service_offering_radio]").val(offerings[i].id);
- $t.find("#name").text(fromdb(offerings[i].name));
- $t.find("#description").text(fromdb(offerings[i].displaytext));
- if (i > 0)
- $t.find("input:radio[name=service_offering_radio]").removeAttr("checked");
- $container.append($t.html());
- }
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listDiskOfferings"),
- dataType: "json",
- async: false,
- success: function(json) {
- var offerings = json.listdiskofferingsresponse.diskoffering;
- var $dataDiskOfferingContainer = $vmPopup.find("#data_disk_offering_container").empty();
- var $rootDiskOfferingContainer = $vmPopup.find("#root_disk_offering_container").empty();
-
- //***** data disk offering: "no, thanks", "custom", existing disk offerings in database (begin) ****************************************************
- //"no, thanks" radio button (default radio button in data disk offering)
- $dataDiskOfferingContainer.append($doTemplateNo.clone().html());
-
- //disk offerings from database
- if (offerings != null && offerings.length > 0) {
- for (var i = 0; i < offerings.length; i++) {
- var $t;
- if(offerings[i].iscustomized == true)
- $t = $doTemplateCustom.clone();
- else
- $t = $doTemplateExisting.clone();
-
- $t.data("jsonObj", offerings[i]);
- $t.find("input:radio[name=data_disk_offering_radio]").removeAttr("checked").val(fromdb(offerings[i].id));
- $t.find("#name").text(fromdb(offerings[i].name));
- $t.find("#description").text(fromdb(offerings[i].displaytext));
- $dataDiskOfferingContainer.append($t.html());
- }
- }
- //***** data disk offering: "no, thanks", "custom", existing disk offerings in database (end) *******************************************************
-
- //***** root disk offering: "custom", existing disk offerings in database (begin) *******************************************************************
- //disk offerings from database
- if (offerings != null && offerings.length > 0) {
- for (var i = 0; i < offerings.length; i++) {
- var $t;
- if(offerings[i].iscustomized == true)
- $t = $doTemplateCustom.clone();
- else
- $t = $doTemplateExisting.clone();
-
- $t.data("jsonObj", offerings[i]).attr("id", "do"+offerings[i].id);
- var $offering = $t.find("input:radio").val(offerings[i].id);
- if(i > 0) {
- $offering.removeAttr("checked");
- }
- $t.find("#name").text(fromdb(offerings[i].name));
- $t.find("#description").text(fromdb(offerings[i].displaytext));
- $rootDiskOfferingContainer.append($t.html());
- }
- }
- //***** root disk offering: "custom", existing disk offerings in database (end) *********************************************************************
- }
- });
-
- $vmPopup.find("#wizard_service_offering").click();
- return false;
- });
-
- function vmWizardCleanup() {
- currentStepInVmPopup = 1;
- $vmPopup.find("#step1").show().nextAll().hide();
- $vmPopup.find("#wizard_message").hide();
- selectedTemplateTypeInVmPopup = "featured";
- $("#wiz_featured").removeClass().addClass("rev_wizmid_selectedtempbut");
- $("#wiz_my, #wiz_community, #wiz_blank").removeClass().addClass("rev_wizmid_nonselectedtempbut");
- currentPageInTemplateGridInVmPopup = 1;
- }
-
- function vmWizardOpen() {
- $("#overlay_black").show();
- $vmPopup.show();
- vmWizardCleanup();
- }
-
- function vmWizardClose() {
- $vmPopup.hide();
- $("#overlay_black").hide();
- }
-
- $vmPopup.find("#close_button").bind("click", function(event) {
- vmWizardClose();
- return false;
- });
-
- $vmPopup.find("#step1 #wiz_message_continue").bind("click", function(event) {
- $vmPopup.find("#step1 #wiz_message").hide();
- return false;
- });
-
- $vmPopup.find("#step2 #wiz_message_continue").bind("click", function(event) {
- $vmPopup.find("#step2 #wiz_message").hide();
- return false;
- });
-
- $vmPopup.find("#step3 #wiz_message_continue").bind("click", function(event) {
- $vmPopup.find("#step3 #wiz_message").hide();
- return false;
- });
-
- $vmPopup.find("#step4 #wiz_message_continue").bind("click", function(event) {
- $vmPopup.find("#step4 #wiz_message").hide();
- return false;
- });
-
- function getIconForOS(osType) {
- if (osType == null || osType.length == 0) {
- return "";
- } else {
- if (osType.match("^CentOS") != null) {
- return "rev_wiztemo_centosicons";
- } else if (osType.match("^Windows") != null) {
- return "rev_wiztemo_windowsicons";
- } else {
- return "rev_wiztemo_linuxicons";
- }
- }
- }
-
- //vm wizard search and pagination
- $vmPopup.find("#step1").find("#search_button").bind("click", function(event) {
- currentPageInTemplateGridInVmPopup = 1;
- listTemplatesInVmPopup();
- return false; //event.preventDefault() + event.stopPropagation()
- });
-
- $vmPopup.find("#step1").find("#search_input").bind("keypress", function(event) {
- if(event.keyCode == keycode_Enter) {
- $vmPopup.find("#step1").find("#search_button").click();
- return false; //event.preventDefault() + event.stopPropagation()
- }
- });
-
- $vmPopup.find("#step1").find("#next_page").bind("click", function(event){
- currentPageInTemplateGridInVmPopup++;
- listTemplatesInVmPopup();
- return false; //event.preventDefault() + event.stopPropagation()
- });
-
- $vmPopup.find("#step1").find("#prev_page").bind("click", function(event){
- currentPageInTemplateGridInVmPopup--;
- listTemplatesInVmPopup();
- return false; //event.preventDefault() + event.stopPropagation()
- });
-
- //var vmPopupTemplatePageSize = 6; //max number of templates in VM wizard
- function listTemplatesInVmPopup() {
- var zoneId = $vmPopup.find("#wizard_zone").val();
- if(zoneId == null || zoneId.length == 0)
- return;
-
- var container = $vmPopup.find("#template_container");
-
- var commandString, templateType;
- var searchInput = $vmPopup.find("#step1").find("#search_input").val();
-
- if (selectedTemplateTypeInVmPopup != "blank") { //*** template ***
- templateType = "template";
- if (searchInput != null && searchInput.length > 0)
- commandString = "command=listTemplates&templatefilter="+selectedTemplateTypeInVmPopup+"&zoneid="+zoneId+"&keyword="+searchInput;
- else
- commandString = "command=listTemplates&templatefilter="+selectedTemplateTypeInVmPopup+"&zoneid="+zoneId;
- }
- else { //*** ISO ***
- templateType = "ISO";
- if (searchInput != null && searchInput.length > 0)
- commandString = "command=listIsos&isReady=true&bootable=true&isofilter=executable&zoneid="+zoneId+"&keyword="+searchInput;
- else
- commandString = "command=listIsos&isReady=true&bootable=true&isofilter=executable&zoneid="+zoneId;
- }
-
- commandString += "&pagesize="+vmPopupTemplatePageSize+"&page="+currentPageInTemplateGridInVmPopup;
-
- var loading = $vmPopup.find("#wiz_template_loading").show();
- if(currentPageInTemplateGridInVmPopup==1)
- $vmPopup.find("#step1").find("#prev_page").hide();
- else
- $vmPopup.find("#step1").find("#prev_page").show();
-
- $.ajax({
- data: createURL(commandString),
- dataType: "json",
- async: false,
- success: function(json) {
- var items, $vmTemplateInWizard;
- if (templateType == "template") {
- items = json.listtemplatesresponse.template;
- $vmTemplateInWizard = $("#vmtemplate_in_vmwizard");
- }
- else if (templateType == "ISO") {
- items = json.listisosresponse.iso;
- $vmTemplateInWizard = $("#vmiso_in_vmwizard");
- }
-
- loading.hide();
- container.empty();
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var $newTemplate = $vmTemplateInWizard.clone();
- vmWizardTemplateJsonToTemplate(items[i], $newTemplate, templateType, i);
- container.append($newTemplate.show());
- }
-
- if(items.length < vmPopupTemplatePageSize)
- $vmPopup.find("#step1").find("#next_page").hide();
- else
- $vmPopup.find("#step1").find("#next_page").show();
- }
- else {
- var msg;
- if (selectedTemplateTypeInVmPopup != "blank")
- msg = "No templates available";
- else
- msg = "No ISOs available";
- var html = ''
- +'
'
- +'
'+msg+'
'
- +'
';
- container.append(html);
- $vmPopup.find("#step1").find("#next_page").hide();
- }
- }
- });
- }
-
- //var $selectedVmWizardTemplate;
- function vmWizardTemplateJsonToTemplate(jsonObj, $template, templateType, i) {
- $template.attr("id", ("vmWizardTemplate_"+jsonObj.id));
- $template.data("templateId", jsonObj.id);
- $template.data("templateType", templateType);
- $template.data("templateName", fromdb(jsonObj.displaytext));
- $template.data("hypervisor", jsonObj.hypervisor);
-
- $template.find("#icon").removeClass().addClass(getIconForOS(jsonObj.ostypename));
- $template.find("#name").text(fromdb(jsonObj.displaytext));
-
- if(templateType == "template") {
- $template.find("#hypervisor_text").text(fromdb(jsonObj.hypervisor));
- //$template.find("#hypervisor_text").text("XenServer"); //This line is for testing only. Comment this line and uncomment the line above before checkin.
- }
-
- $template.find("#submitted_by").text(fromdb(jsonObj.account));
-
- if(i == 0) { //select the 1st one
- $selectedVmWizardTemplate = $template;
- $template.addClass("rev_wiztemplistbox_selected");
- }
- else {
- $template.addClass("rev_wiztemplistbox");
- }
-
- $template.bind("click", function(event) {
- if($selectedVmWizardTemplate != null)
- $selectedVmWizardTemplate.removeClass("rev_wiztemplistbox_selected").addClass("rev_wiztemplistbox");
-
- $(this).removeClass("rev_wiztemplistbox").addClass("rev_wiztemplistbox_selected");
- $selectedVmWizardTemplate = $(this);
- return false;
- });
- }
-
- $vmPopup.find("#wizard_zone").bind("change", function(event) {
- var selectedZone = $(this).val();
- if(selectedZone != null && selectedZone.length > 0) {
- $.ajax({
- data: createURL("command=listHypervisors&zoneid="+selectedZone),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listhypervisorsresponse.hypervisor;
- var $hypervisorDropdown = $("#vmiso_in_vmwizard").find("#hypervisor_select").empty();
- var $hypervisorSpan = $("#vmiso_in_vmwizard").find("#hypervisor_span");
- if(items != null && items.length > 0) {
- if(items.length == 1) {
- $hypervisorSpan.text(fromdb(items[0].name)).show();
- $hypervisorDropdown.hide();
- }
- else {
- $hypervisorDropdown.show();
- $hypervisorSpan.text("").hide();
- for(var i=0; i"+fromdb(items[i].name)+"");
- }
- }
- }
- }
- });
-
- listTemplatesInVmPopup();
- }
- return false;
- });
-
- function displayDiskOffering(type) {
- if(type=="data") {
- $vmPopup.find("#wizard_data_disk_offering_title").show();
- $vmPopup.find("#wizard_data_disk_offering").show();
- $vmPopup.find("#wizard_root_disk_offering_title").hide();
- $vmPopup.find("#wizard_root_disk_offering").hide();
- }
- else if(type=="root") {
- $vmPopup.find("#wizard_root_disk_offering_title").show();
- $vmPopup.find("#wizard_root_disk_offering").show();
- $vmPopup.find("#wizard_data_disk_offering_title").hide();
- $vmPopup.find("#wizard_data_disk_offering").hide();
- }
- }
- displayDiskOffering("data"); //because default value of "#wiz_template_filter" is "wiz_featured"
-
-
- // Setup the left template filters
- $vmPopup.find("#wiz_template_filter").unbind("click").bind("click", function(event) {
- var $container = $(this);
- var target = $(event.target);
- var targetId = target.attr("id");
- selectedTemplateTypeInVmPopup = "featured";
-
- switch (targetId) {
- case "wiz_featured":
- $vmPopup.find("#search_input").val("");
- currentPageInTemplateGridInVmPopup = 1;
- selectedTemplateTypeInVmPopup = "featured";
- $container.find("#wiz_featured").removeClass().addClass("rev_wizmid_selectedtempbut");
- $container.find("#wiz_my, #wiz_community, #wiz_blank").removeClass().addClass("rev_wizmid_nonselectedtempbut");
- displayDiskOffering("data");
- break;
- case "wiz_my":
- $vmPopup.find("#search_input").val("");
- currentPageInTemplateGridInVmPopup = 1;
- $container.find("#wiz_my").removeClass().addClass("rev_wizmid_selectedtempbut");
- $container.find("#wiz_featured, #wiz_community, #wiz_blank").removeClass().addClass("rev_wizmid_nonselectedtempbut");
- selectedTemplateTypeInVmPopup = "selfexecutable";
- displayDiskOffering("data");
- break;
- case "wiz_community":
- $vmPopup.find("#search_input").val("");
- currentPageInTemplateGridInVmPopup = 1;
- $container.find("#wiz_community").removeClass().addClass("rev_wizmid_selectedtempbut");
- $container.find("#wiz_my, #wiz_featured, #wiz_blank").removeClass().addClass("rev_wizmid_nonselectedtempbut");
- selectedTemplateTypeInVmPopup = "community";
- displayDiskOffering("data");
- break;
- case "wiz_blank":
- $vmPopup.find("#search_input").val("");
- currentPageInTemplateGridInVmPopup = 1;
- $container.find("#wiz_blank").removeClass().addClass("rev_wizmid_selectedtempbut");
- $container.find("#wiz_my, #wiz_community, #wiz_featured").removeClass().addClass("rev_wizmid_nonselectedtempbut");
- selectedTemplateTypeInVmPopup = "blank";
- displayDiskOffering("root");
- break;
- }
- listTemplatesInVmPopup();
- return false;
- });
-
- function vmWizardShowNetworkContainer($thisPopup) {
- $thisPopup.find("#step4").find("#network_container").show();
- $thisPopup.find("#step4").find("#securitygroup_container").hide();
- $thisPopup.find("#step4").find("#for_no_network_support").hide();
-
- var zoneObj = $thisPopup.find("#wizard_zone option:selected").data("zoneObj");
-
- $.ajax({
- data: createURL("command=listNetworks&domainid="+g_domainid+"&account="+g_account+"&zoneId="+$thisPopup.find("#wizard_zone").val()),
- dataType: "json",
- async: false,
- success: function(json) {
- var networks = json.listnetworksresponse.network;
-
- // Setup Virtual Network
- if(zoneObj.securitygroupsenabled == false) {
- var virtualNetwork = null;
- if (networks != null && networks.length > 0) {
- for (var i = 0; i < networks.length; i++) {
- if (networks[i].type == 'Virtual') {
- virtualNetwork = networks[i];
- }
- }
- }
- var $networkVirtualContainer = $thisPopup.find("#network_virtual_container");
- var requiredVirtual = false;
- var defaultNetworkAdded = false;
- var availableSecondary = false;
- if (virtualNetwork == null) {
- $.ajax({
- data: createURL("command=listNetworkOfferings&guestiptype=Virtual"),
- dataType: "json",
- async: false,
- success: function(json) {
- var networkOfferings = json.listnetworkofferingsresponse.networkoffering;
- if (networkOfferings != null && networkOfferings.length > 0) {
- for (var i = 0; i < networkOfferings.length; i++) {
- if (networkOfferings[i].isdefault == true && networkOfferings[i].availability != "Unavailable") {
- // Create a virtual network
- var networkName = "Virtual Network";
- var networkDesc = "A dedicated virtualized network for your account. The broadcast domain is contained within a VLAN and all public network access is routed out by a virtual router.";
- $.ajax({
- data: createURL("command=createNetwork&networkOfferingId="+networkOfferings[i].id+"&name="+todb(networkName)+"&displayText="+todb(networkDesc)+"&zoneId="+$thisPopup.find("#wizard_zone").val()),
- dataType: "json",
- async: false,
- success: function(json) {
- var network = json.createnetworkresponse.network;
- $networkVirtualContainer.show();
- if (network.networkofferingavailability == 'Required') {
- requiredVirtual = true;
- $networkVirtualContainer.find("#network_virtual").attr('disabled', true);
- }
- defaultNetworkAdded = true;
- $networkVirtualContainer.find("#network_virtual").data("id", network.id).data("jsonObj", network);
- }
- });
- }
- }
- }
- }
- });
- }
- else {
- if (virtualNetwork.networkofferingavailability != 'Unavailable') {
- $networkVirtualContainer.show();
- if (virtualNetwork.networkofferingavailability == 'Required') {
- requiredVirtual = true;
- $networkVirtualContainer.find("#network_virtual").attr('disabled', true);
- }
- defaultNetworkAdded = true;
- $networkVirtualContainer.data("id", virtualNetwork.id);
- $networkVirtualContainer.find("#network_virtual").data("id", virtualNetwork.id).data("jsonObj", virtualNetwork);
- } else {
- $networkVirtualContainer.hide();
- }
- }
- }
-
- // Setup Direct Networks
- var $networkDirectTemplate = $("#wizard_network_direct_template");
- var $networkSecondaryDirectTemplate = $("#wizard_network_direct_secondary_template");
- var $networkDirectContainer = $("#network_direct_container").empty();
- var $networkDirectSecondaryContainer = $("#network_direct_secondary_container").empty();
-
- if (networks != null && networks.length > 0) {
- for (var i = 0; i < networks.length; i++) {
- //if zoneObj.securitygroupsenabled is true and users still choose to select network instead of security group, then UI won't show networks whose securitygroupenabled is true.
- if(zoneObj.securitygroupsenabled == true && networks[i].securitygroupenabled == true) {
- continue;
- }
-
- if (networks[i].type != 'Direct') {
- continue;
- }
- var $directNetworkElement = null;
- if (networks[i].isdefault) {
- if (requiredVirtual) {
- continue;
- }
- $directNetworkElement = $networkDirectTemplate.clone().attr("id", "direct"+networks[i].id);
- if (defaultNetworkAdded || i > 0) {
- // Only check the first default network
- $directNetworkElement.find("#network_direct_checkbox").removeAttr("checked");
- }
- defaultNetworkAdded = true;
- } else {
- $directNetworkElement = $networkSecondaryDirectTemplate.clone().attr("id", "direct"+networks[i].id);
- }
- $directNetworkElement.find("#network_direct_checkbox").data("jsonObj", networks[i]);
- $directNetworkElement.find("#network_direct_name").text(networks[i].name);
- $directNetworkElement.find("#network_direct_desc").text(networks[i].displaytext);
- if (networks[i].isdefault) {
- $networkDirectContainer.append($directNetworkElement.show());
- } else {
- availableSecondary = true;
- $networkDirectSecondaryContainer.append($directNetworkElement.show());
- }
- }
- }
-
- if (availableSecondary) {
- $("#secondary_network_title, #secondary_network_desc").show();
- }
- }
- });
- }
-
-
- function vmWizardShowSecurityGroupContainer($thisPopup) {
- $thisPopup.find("#step4").find("#network_container").hide();
- if($selectedVmWizardTemplate.data("hypervisor") != "VMware" && getDirectAttachSecurityGroupsEnabled() == "true") {
- $thisPopup.find("#step4").find("#securitygroup_container").show();
- $thisPopup.find("#step4").find("#for_no_network_support").hide();
- $thisPopup.find("#step4").find("#security_group_section").show();
- $thisPopup.find("#step5").find("#wizard_review_network").text("Basic Network");
- }
- else {
- $thisPopup.find("#step4").find("#securitygroup_container").hide();
-
- $thisPopup.find("#step4").find("#for_no_network_support").show();
- if($selectedVmWizardTemplate.data("hypervisor") == "VMware") {
- $thisPopup.find("#step4").find("#for_no_network_support").find("#not_available_message_1").show();
- $thisPopup.find("#step4").find("#for_no_network_support").find("#not_available_message_2").hide();
- }
- else if(getDirectAttachSecurityGroupsEnabled() != "true") {
- $thisPopup.find("#step4").find("#for_no_network_support").find("#not_available_message_1").hide();
- $thisPopup.find("#step4").find("#for_no_network_support").find("#not_available_message_2").show();
- }
-
- $thisPopup.find("#step5").find("#wizard_review_network").text("Basic Network");
- }
- }
-
- $vmPopup.find("#next_step").bind("click", function(event) {
- event.preventDefault();
- event.stopPropagation();
- var $thisPopup = $vmPopup;
- var $reviewNetworkTemplate = $("#wizard_network_direct_review_template");
- if (currentStepInVmPopup == 1) { //select a template/ISO
- // prevent a person from moving on if no templates are selected
- if($thisPopup.find("#step1 #template_container .rev_wiztemplistbox_selected").length == 0) {
- $thisPopup.find("#step1 #wiz_message").show();
- return false;
- }
-
- if ($thisPopup.find("#wiz_blank").hasClass("rev_wizmid_selectedtempbut")) { //ISO
- $thisPopup.find("#step3_label").text(dictionary["label.root.disk.offering"]);
- $thisPopup.find("#root_disk_offering_container").show();
- $thisPopup.find("#data_disk_offering_container").hide();
- }
- else { //template
- $thisPopup.find("#step3_label").text(dictionary["label.data.disk.offering"]);
- $thisPopup.find("#data_disk_offering_container").show();
- $thisPopup.find("#root_disk_offering_container").hide();
- }
-
- $thisPopup.find("#wizard_review_zone").text($thisPopup.find("#wizard_zone option:selected").text());
-
- // This is taking from the selected template but need to change this to the dropdown that supports ISO.
- if($selectedVmWizardTemplate.data("templateType") == "template") {
- $selectedVmWizardTemplate.data("hypervisor", $selectedVmWizardTemplate.find("#hypervisor_text").text());
- }
- else {
- if($selectedVmWizardTemplate.find("#hypervisor_select").css("display") != "none")
- $selectedVmWizardTemplate.data("hypervisor", $selectedVmWizardTemplate.find("#hypervisor_select").val());
- else //if($selectedVmWizardTemplate.find("#hypervisor_span").css("display") != "none")
- $selectedVmWizardTemplate.data("hypervisor", $selectedVmWizardTemplate.find("#hypervisor_span").text());
- }
- $thisPopup.find("#wizard_review_hypervisor").text($selectedVmWizardTemplate.data("hypervisor"));
-
- $thisPopup.find("#wizard_review_template").text($selectedVmWizardTemplate.data("templateName"));
- }
-
- if (currentStepInVmPopup == 2) { //service offering
- // prevent a person from moving on if no service offering is selected
- if($thisPopup.find("input:radio[name=service_offering_radio]:checked").length == 0) {
- $thisPopup.find("#step2 #wiz_message #wiz_message_text").text("Please select a service offering to continue");
- $thisPopup.find("#step2 #wiz_message").show();
- return false;
- }
- $thisPopup.find("#wizard_review_service_offering").text($thisPopup.find("input:radio[name=service_offering_radio]:checked").next().text());
- }
-
- if(currentStepInVmPopup ==3) { //disk offering
- if($selectedVmWizardTemplate.data("templateType") == "template") { //*** template ***
- $thisPopup.find("#wizard_review_disk_offering_label").text(dictionary["label.data.disk.offering"] + ":");
- var checkedRadioButton = $thisPopup.find("#data_disk_offering_container input[name=data_disk_offering_radio]:checked");
- }
- else { //*** ISO ***
- // prevent a person from moving on if no disk offering is selected
- if($thisPopup.find("input:radio[name=data_disk_offering_radio]:checked").length == 0) {
- $thisPopup.find("#step3 #wiz_message #wiz_message_text").text("Please select a disk offering to continue");
- $thisPopup.find("#step3 #wiz_message").show();
- return false;
- }
- $thisPopup.find("#wizard_review_disk_offering_label").text(dictionary["label.root.disk.offering"] + ":");
- var checkedRadioButton = $thisPopup.find("#root_disk_offering_container input[name=data_disk_offering_radio]:checked");
- }
-
- var $diskOfferingElement = checkedRadioButton.parent();
-
- var isValid = true;
- if($diskOfferingElement.find("#custom_disk_size").length > 0)
- isValid &= validateInteger("Disk Size", $diskOfferingElement.find("#custom_disk_size"), $diskOfferingElement.find("#custom_disk_size_errormsg"), null, null, false); //required
- else
- isValid &= validateInteger("Disk Size", $diskOfferingElement.find("#custom_disk_size"), $diskOfferingElement.find("#custom_disk_size_errormsg"), null, null, true); //optional
- if (!isValid)
- return;
-
- var diskOfferingName = $diskOfferingElement.find("#name").text();
- if(checkedRadioButton.parent().attr("id") == "vm_popup_disk_offering_template_custom")
- diskOfferingName += (" (Disk Size: " + $diskOfferingElement.find("#custom_disk_size").val() + " MB)");
- $thisPopup.find("#wizard_review_disk_offering").text(diskOfferingName);
-
-
- var zoneObj = $thisPopup.find("#wizard_zone option:selected").data("zoneObj");
-
- if (zoneObj.securitygroupsenabled == false) { //show network container
- vmWizardShowNetworkContainer($thisPopup);
- }
- else if (zoneObj.securitygroupsenabled == true) { // if security group is enabled
- var hasDedicatedDirectTaggedDefaultNetwork = false;
- $.ajax({
- data: createURL("command=listNetworks&type=Direct&domainid="+g_domainid+"&account="+g_account+"&zoneId="+$thisPopup.find("#wizard_zone").val()),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listnetworksresponse.network;
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- if(items[i].isshared == false && items[i].isdefault == true) { //dedicated, is default one.
- var broadcasturi = items[i].broadcasturi; //e.g. "vlan://53"
- if(broadcasturi != null && broadcasturi.length > 0) {
- var vlanIdString = broadcasturi.substring(7); //e.g. "53"
- if(isNaN(vlanIdString) == false)
- hasDedicatedDirectTaggedDefaultNetwork = true;
- }
- }
- }
- }
- }
- });
-
- if(hasDedicatedDirectTaggedDefaultNetwork == true) {
- $("#dialog_confirmation")
- .text(dictionary["message.launch.vm.on.private.network"])
- .dialog("option", "buttons", {
- "Yes": function() {
- //present the current UI we have today
- vmWizardShowNetworkContainer($thisPopup);
- $(this).dialog("close");
- },
- "No": function() {
- //present security groups for user to select
- vmWizardShowSecurityGroupContainer($thisPopup);
- $(this).dialog("close");
- }
- }).dialog("open");
- }
- else {
- vmWizardShowSecurityGroupContainer($thisPopup);
- }
- }
- }
-
- if (currentStepInVmPopup == 4) { //network
- if ($thisPopup.find("#step4").find("#network_container").css("display") != "none") {
- var $selectedSecondaryNetworks = $thisPopup.find("input:checkbox[name=secondary_network]:checked");
-
- var $selectedPrimaryNetworks;
- if($thisPopup.find("#network_virtual_container").css("display") == "none")
- $selectedPrimaryNetworks = $thisPopup.find("#network_direct_container").find("input:radio[name=primary_network]:checked");
- else
- $selectedPrimaryNetworks = $thisPopup.find("input:radio[name=primary_network]:checked");
-
- // prevent a person from moving on if no network has been selected
- if($selectedPrimaryNetworks.length == 0) {
- $thisPopup.find("#step4 #wiz_message").show();
- return false;
- }
-
- var modResult = 0;
- $thisPopup.find("#step5").find("#wizard_review_network").text($selectedPrimaryNetworks.data("jsonObj").name);
- $thisPopup.find("#wizard_review_primary_network_container").show();
- modResult = 0;
-
- var $reviewNetworkContainer = $("#wizard_review_secondary_network_container").empty();
- if ($selectedSecondaryNetworks.length != 0) {
- var networkIds = [];
-
- $selectedSecondaryNetworks.each(function(i) {
- var json = $(this).data("jsonObj");
- if (i == 0) {
- networkIds.push(json.id);
- } else {
- networkIds.push(","+json.id);
- }
- $reviewNetworkElement = $reviewNetworkTemplate.clone().attr("id", "network"+json.id);
- if (i % 2 == modResult) {
- $reviewNetworkElement.addClass("odd");
- } else {
- $reviewNetworkElement.addClass("even");
- }
- $reviewNetworkElement.find("#wizard_review_network_label").text("Network " + (i+2-modResult) + ":");
- $reviewNetworkElement.find("#wizard_review_network_selected").text(json.name);
- $reviewNetworkContainer.append($reviewNetworkElement.show());
- });
- $reviewNetworkContainer.data("directNetworkIds", networkIds.join(""));
- } else {
- $reviewNetworkContainer.data("directNetworkIds", null);
- }
- }
- else if ($thisPopup.find("#step4").find("#securitygroup_container").css("display") != "none") {
-
- }
- }
-
- if (currentStepInVmPopup == 5) { //last step
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisPopup.find("#wizard_vm_name"), $thisPopup.find("#wizard_vm_name_errormsg"), true); //optional
- isValid &= validateString("Group", $thisPopup.find("#wizard_vm_group"), $thisPopup.find("#wizard_vm_group_errormsg"), true); //optional
- if (!isValid)
- return;
- vmWizardClose();
-
- // Create a new VM!!!!
- var moreCriteria = [];
- moreCriteria.push("&zoneId="+$thisPopup.find("#wizard_zone").val());
- moreCriteria.push("&hypervisor="+$selectedVmWizardTemplate.data("hypervisor"));
- moreCriteria.push("&templateId="+$selectedVmWizardTemplate.data("templateId"));
- moreCriteria.push("&serviceOfferingId="+$thisPopup.find("input:radio[name=service_offering_radio]:checked").val());
-
- if ($thisPopup.find("#step4").find("#network_container").css("display") != "none") {
- var $selectedPrimaryNetworks;
- if($thisPopup.find("#network_virtual_container").css("display") == "none")
- $selectedPrimaryNetworks = $thisPopup.find("#network_direct_container").find("input:radio[name=primary_network]:checked");
- else
- $selectedPrimaryNetworks = $thisPopup.find("input:radio[name=primary_network]:checked");
-
- var networkIds = $selectedPrimaryNetworks.data("jsonObj").id;
-
- var directNetworkIds = $thisPopup.find("#wizard_review_secondary_network_container").data("directNetworkIds");
- if (directNetworkIds != null) {
- if (networkIds != null) {
- networkIds = networkIds+","+directNetworkIds;
- } else {
- networkIds = directNetworkIds;
- }
- }
- moreCriteria.push("&networkIds="+networkIds);
- }
- else if ($thisPopup.find("#step4").find("#securitygroup_container").css("display") != "none") {
- if($thisPopup.find("#step4").find("#security_group_section").css("display") != "none") {
- if($thisPopup.find("#security_group_dropdown").val() != null && $thisPopup.find("#security_group_dropdown").val().length > 0) {
- var securityGroupList = $thisPopup.find("#security_group_dropdown").val().join(",");
- moreCriteria.push("&securitygroupids="+securityGroupList);
- }
- }
- }
-
- var diskOfferingId, $diskOfferingElement;
- if ($thisPopup.find("#wiz_blank").hasClass("rev_wizmid_selectedtempbut")) { //ISO
- diskOfferingId = $thisPopup.find("#root_disk_offering_container input[name=data_disk_offering_radio]:checked").val();
- $diskOfferingElement = $thisPopup.find("#root_disk_offering_container input[name=data_disk_offering_radio]:checked").parent();
- }
- else { //template
- diskOfferingId = $thisPopup.find("#data_disk_offering_container input[name=data_disk_offering_radio]:checked").val();
- $diskOfferingElement = $thisPopup.find("#data_disk_offering_container input[name=data_disk_offering_radio]:checked").parent();
- }
- if(diskOfferingId != null && diskOfferingId != "" && diskOfferingId != "no")
- moreCriteria.push("&diskOfferingId="+diskOfferingId);
-
- if($diskOfferingElement.find("#custom_disk_size").length > 0) {
- var customDiskSize = $diskOfferingElement.find("#custom_disk_size").val(); //unit is MB
- if(customDiskSize != null && customDiskSize.length > 0)
- moreCriteria.push("&size="+customDiskSize);
- }
-
- var name = trim($thisPopup.find("#wizard_vm_name").val());
- if (name != null && name.length > 0)
- moreCriteria.push("&displayname="+todb(name));
-
- var group = trim($thisPopup.find("#wizard_vm_group").val());
- if (group != null && group.length > 0)
- moreCriteria.push("&group="+todb(group));
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
- $("#midmenu_container #midmenu_container_no_items_available").hide();
-
- $.ajax({
- data: createURL("command=deployVirtualMachine"+moreCriteria.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.deployvirtualmachineresponse.jobid;
- var timerKey = "vmNew"+jobId;
-
- // Process the async job
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- if (result.jobstatus == 1) {
- // Succeeded
- var item = result.jobresult.virtualmachine;
- vmToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, vmToRightPanel, getMidmenuId);
-
- if (item.passwordenabled == true) {
- var secondRowText = dictionary["label.new.password"] + ": " + item.password;
- afterAddingMidMenuItem($midmenuItem1, true, secondRowText);
- $midmenuItem1.data("afterActionInfo", secondRowText);
- /*
- var afterActionInfo = "Instance " + getVmName(item.name, item.displayname) + " has been created successfully. New password is " + item.password;
- $midmenuItem1.data("afterActionInfo", afterActionInfo);
-
- $("#dialog_info")
- .text(afterActionInfo)
- .dialog('option', 'buttons', {
- "OK": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- */
- }
- else {
- afterAddingMidMenuItem($midmenuItem1, true, null);
- }
- } else if (result.jobstatus == 2) {
- // Failed
- afterAddingMidMenuItem($midmenuItem1, false, fromdb(result.jobresult.errortext));
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- }
-
- //since no error, move to next step
- $vmPopup.find("#step" + currentStepInVmPopup).hide().next().show(); //hide current step, show next step
- currentStepInVmPopup++;
- });
-
- $vmPopup.find("#prev_step").bind("click", function(event) {
- var $prevStep = $vmPopup.find("#step" + currentStepInVmPopup).hide().prev().show(); //hide current step, show previous step
- currentStepInVmPopup--;
- return false; //event.preventDefault() + event.stopPropagation()
- });
-}
-
-
-//***** VM Detail (begin) ******************************************************************************
-
-var vmActionMap = {
- "label.action.start.instance": {
- isAsyncJob: true,
- asyncJobResponse: "startvirtualmachineresponse",
- inProcessText: "label.action.start.instance.processing",
- dialogBeforeActionFn : doStartVM,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.stop.instance": {
- isAsyncJob: true,
- asyncJobResponse: "stopvirtualmachineresponse",
- inProcessText: "label.action.stop.instance.processing",
- dialogBeforeActionFn : doStopVM,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.reboot.instance": {
- isAsyncJob: true,
- asyncJobResponse: "rebootvirtualmachineresponse",
- inProcessText: "label.action.reboot.instance.processing",
- dialogBeforeActionFn : doRebootVM,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.destroy.instance": {
- isAsyncJob: true,
- asyncJobResponse: "destroyvirtualmachineresponse",
- inProcessText: "label.action.destroy.instance.processing",
- dialogBeforeActionFn : doDestroyVM,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.restore.instance": {
- isAsyncJob: false,
- inProcessText: "label.action.restore.instance.processing",
- dialogBeforeActionFn : doRestoreVM,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.recovervirtualmachineresponse.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.edit.instance": {
- dialogBeforeActionFn: doEditVM
- },
- "label.action.attach.iso": {
- isAsyncJob: true,
- asyncJobResponse: "attachisoresponse",
- inProcessText: "label.action.attach.iso.processing",
- dialogBeforeActionFn : doAttachISO,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.detach.iso": {
- isAsyncJob: true,
- asyncJobResponse: "detachisoresponse",
- inProcessText: "label.action.detach.iso.processing",
- dialogBeforeActionFn : doDetachISO,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.reset.password": {
- isAsyncJob: true,
- asyncJobResponse: "resetpasswordforvirtualmachineresponse",
- inProcessText: "label.action.reset.password.processing",
- dialogBeforeActionFn : doResetPassword,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
-
- /*
- $("#dialog_info")
- .text("New password of instance " + getVmName(jsonObj.name, jsonObj.displayname) + " is " + fromdb(jsonObj.password))
- .dialog('option', 'buttons', {
- "OK": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- */
-
- return dictionary["label.new.password"] + ": " + fromdb(jsonObj.password);
- }
- },
- "label.action.change.service": {
- isAsyncJob: false,
- inProcessText: "label.action.change.service",
- dialogBeforeActionFn : doChangeService,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.changeserviceforvirtualmachineresponse.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.create.template": {
- isAsyncJob: true,
- asyncJobResponse: "createtemplateresponse",
- dialogBeforeActionFn : doCreateTemplateFromVM,
- inProcessText: "label.action.create.template.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {}
- },
- "label.action.migrate.instance": {
- isAsyncJob: true,
- asyncJobResponse: "migratevirtualmachineresponse",
- inProcessText: "label.action.migrate.instance.processing",
- dialogBeforeActionFn : doMigrateInstance,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- }
-}
-
-function doStartVM($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.start.instance"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=startVirtualMachine&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doStopVM($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation_stop_vm")
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var isForced = $("#dialog_confirmation_stop_vm").find("#force_stop_instance").attr("checked").toString();
- var apiCommand = "command=stopVirtualMachine&id="+id+"&forced="+isForced;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doRebootVM($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.reboot.instance"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=rebootVirtualMachine&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doDestroyVM($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.destroy.instance"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=destroyVirtualMachine&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doRestoreVM($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.restore.instance"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=recoverVirtualMachine&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doEditVM($actionLink, $detailsTab, $midmenuItem1) {
- var vmObj = $midmenuItem1.data("jsonObj");
- $.ajax({
- data: createURL("command=listServiceOfferings&id="+vmObj.serviceofferingid),
- dataType: "json",
- async: false,
- success: function(json) {
- if(json.listserviceofferingsresponse.serviceoffering != null && json.listserviceofferingsresponse.serviceoffering[0].offerha == true) {
- $readonlyFields = $("#tab_content_details").find("#vmname, #group, #haenable, #ostypename");
- $editFields = $("#tab_content_details").find("#vmname_edit, #group_edit, #haenable_edit, #ostypename_edit");
- }
- else {
- $readonlyFields = $("#tab_content_details").find("#vmname, #group, #ostypename");
- $editFields = $("#tab_content_details").find("#vmname_edit, #group_edit, #ostypename_edit");
- }
- }
- });
-
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditVM2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditVM2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"), true); //optional
- isValid &= validateString("Display Text", $detailsTab.find("#group_edit"), $detailsTab.find("#group_edit_errormsg"), true); //optional
- if (!isValid)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- var array1 = [];
- var name = trim($detailsTab.find("#vmname_edit").val());
- array1.push("&displayName="+todb(name));
-
- var group = trim($detailsTab.find("#group_edit").val());
- array1.push("&group="+todb(group));
-
- var haenable = $detailsTab.find("#haenable_edit").val();
- array1.push("&haenable="+haenable);
-
- var ostypeid = $detailsTab.find("#ostypename_edit").val();
- array1.push("&ostypeid="+ostypeid);
-
- $.ajax({
- data: createURL("command=updateVirtualMachine&id="+id+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jsonObj = json.updatevirtualmachineresponse.virtualmachine;
- vmToMidmenu(jsonObj, $midmenuItem1);
- vmToRightPanel($midmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
- });
-}
-
-function doAttachISO($actionLink, $detailsTab, $midmenuItem1) {
- $.ajax({
- data: createURL("command=listIsos&isReady=true&isofilter=executable"),
- dataType: "json",
- async: false,
- success: function(json) {
- var isos = json.listisosresponse.iso;
- var isoSelect = $("#dialog_attach_iso #attach_iso_select");
- if (isos != null && isos.length > 0) {
- isoSelect.empty();
- for (var i = 0; i < isos.length; i++) {
- isoSelect.append(""+fromdb(isos[i].displaytext)+" ");;
- }
- }
- }
- });
-
- $("#dialog_attach_iso")
- .dialog('option', 'buttons', {
- "OK": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateDropDownBox("ISO", $thisDialog.find("#attach_iso_select"), $thisDialog.find("#attach_iso_select_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
-
- var isoId = $("#dialog_attach_iso #attach_iso_select").val();
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=attachIso&virtualmachineid="+id+"&id="+isoId;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDetachISO($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_detach_iso_from_vm")
- .dialog('option', 'buttons', {
- "OK": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=detachIso&virtualmachineid="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doResetPassword($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- if (jsonObj.passwordenabled == false) {
- $("#dialog_info")
- .text(dictionary["message.action.reset.password.off"])
- .dialog('option', 'buttons', {
- "OK": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return;
- } else if (jsonObj.state != 'Stopped') {
- $("#dialog_info")
- .text(dictionary["message.action.reset.password.warning"])
- .dialog('option', 'buttons', {
- "OK": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return;
- }
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.instance.reset.password"])
- .dialog('option', 'buttons', {
- "Yes": function() {
- $(this).dialog("close");
-
- if(jsonObj.passwordenabled != true) {
- var $afterActionInfoContainer = $("#right_panel_content #after_action_info_container_on_top");
- $afterActionInfoContainer.find("#after_action_info").text("Reset password failed. Reason: This instance is not using a template that has the password reset feature enabled. If you have forgotten your root password, please contact support.");
- $afterActionInfoContainer.addClass("errorbox").show();
- return;
- }
-
- var id = jsonObj.id;
- var apiCommand = "command=resetPasswordForVirtualMachine&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "No": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doChangeService($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- if (jsonObj.state != 'Stopped') {
- $("#dialog_info")
- .text(dictionary['message.action.change.service.warning.for.instance'])
- .dialog('option', 'buttons', {
- "OK": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return;
- }
-
- $.ajax({
- data: createURL("command=listServiceOfferings&VirtualMachineId="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var offerings = json.listserviceofferingsresponse.serviceoffering;
- var offeringSelect = $("#dialog_change_service_offering #change_service_offerings").empty();
-
- if (offerings != null && offerings.length > 0) {
- for (var i = 0; i < offerings.length; i++) {
- var option = $("" + fromdb(offerings[i].displaytext) + " ").data("name", fromdb(offerings[i].name));
- offeringSelect.append(option);
- }
- }
- }
- });
-
- $("#dialog_change_service_offering")
- .dialog('option', 'buttons', {
- "OK": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateDropDownBox("Service Offering", $thisDialog.find("#change_service_offerings"), $thisDialog.find("#change_service_offerings_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
- var serviceOfferingId = $thisDialog.find("#change_service_offerings").val();
-
- if(jsonObj.state != "Stopped") {
- $midmenuItem1.find("#info_icon").addClass("error").show();
- $midmenuItem1.data("afterActionInfo", ($actionLink.data("label") + " action failed. Reason: virtual instance needs to be stopped before you can change its service."));
- }
- var apiCommand = "command=changeServiceForVirtualMachine&id="+id+"&serviceOfferingId="+serviceOfferingId;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doMigrateInstance($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $.ajax({
- data: createURL("command=listHosts&VirtualMachineId="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var hosts = json.listhostsresponse.host;
- var hostSelect = $("#dialog_migrate_instance #migrate_instance_hosts").empty();
-
- if (hosts != null && hosts.length > 0) {
- for (var i = 0; i < hosts.length; i++) {
- var option = $("" + fromdb(hosts[i].name) + ": " +((hosts[i].hasEnoughCapacity) ? dictionary["label.available"] : dictionary["label.full"]) + " ").data("name", fromdb(hosts[i].name));
- hostSelect.append(option);
- }
- }
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $("#dialog_migrate_instance #migrate_instance_hosts").empty();
- });
- }
-});
-
- $("#dialog_migrate_instance")
- .dialog('option', 'buttons', {
- "OK": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateDropDownBox("Host", $thisDialog.find("#migrate_instance_hosts"), $thisDialog.find("#migrate_instance_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
- var hostId = $thisDialog.find("#migrate_instance_hosts").val();
- /*
- if(jsonObj.state != "Stopped") {
- $midmenuItem1.find("#info_icon").addClass("error").show();
- $midmenuItem1.data("afterActionInfo", ($actionLink.data("label") + " action failed. Reason: virtual instance needs to be stopped before you can change its service."));
- }
- */
- var apiCommand = "command=migrateVirtualMachine&hostid="+hostId+"&virtualmachineid="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function vmToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.data("jsonObj", jsonObj);
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
-
- var firstRowText = getVmName(jsonObj.name, jsonObj.displayname);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.templatename);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-
- updateVmStateInMidMenu(jsonObj, $midmenuItem1);
-
- $midmenuItem1.data("toRightPanelFn", vmToRightPanel);
- countTopButtonMapFn = vmCountTopButtonMap;
- uncountTopButtonMapFn = vmUncountTopButtonMap;
- grayoutTopButtonsFn = vmGrayoutTopButtons;
- resetTopButtonMapFn = vmResetTopButtonMap;
-}
-
-function vmToRightPanel($midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- var vmName = getVmName(jsonObj.name, jsonObj.displayname);
- $("right_panel_header").find("#vm_name").text(vmName);
-
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
-
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- $("#tab_details").click();
-}
-
-function vmJsonToDetailsTab(){
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if ($midmenuItem1 == null) {
- vmJsonClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- vmJsonClearDetailsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var id = jsonObj.id;
-
- //comment out the following AJAX call because it caused problem of multiple-selection middle menu
- /*
- $.ajax({
- data: createURL("command=listVirtualMachines&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listvirtualmachinesresponse.virtualmachine;
- if(items != null && items.length > 0) {
- jsonObj = items[0]; //override jsonObj declared above
- $midmenuItem1.data("jsonObj", jsonObj);
- updateVmStateInMidMenu(jsonObj, $midmenuItem1);
- }
- }
- });
- */
-
- resetViewConsoleAction(jsonObj, $thisTab);
- setVmStateInRightPanel(jsonObj.state, $thisTab.find("#state"));
-
-
- //refresh status every 2 seconds until status is not Starting/Stopping any more
- var timerKey = "refreshInstanceStatus";
- $("body").stopTime(timerKey); //stop timer used by another middle menu item (i.e. stop timer when clicking on a different middle menu item)
- if($midmenuItem1.find("#spinning_wheel").css("display") == "none") {
- if(jsonObj.state in vmChangableStatus) {
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=listVirtualMachines&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listvirtualmachinesresponse.virtualmachine;
- if(items != null && items.length > 0) {
- jsonObj = items[0]; //override jsonObj declared above
- $midmenuItem1.data("jsonObj", jsonObj);
- if(!(jsonObj.state in vmChangableStatus)) {
- $("body").stopTime(timerKey);
- updateVmStateInMidMenu(jsonObj, $midmenuItem1);
- if(jsonObj.id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- setVmStateInRightPanel(jsonObj.state, $thisTab.find("#state"));
- vmBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
- }
- }
- }
- }
- });
- }
- );
- }
- }
-
-
- $thisTab.find("#ipAddress").text(fromdb(jsonObj.ipaddress));
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#zoneName").text(fromdb(jsonObj.zonename));
-
- var vmName = getVmName(jsonObj.name, jsonObj.displayname);
- $thisTab.find("#title").text(vmName);
-
- $thisTab.find("#vmname").text(vmName);
- $thisTab.find("#vmname_edit").val(fromdb(jsonObj.displayname));
-
- $thisTab.find("#ipaddress").text(fromdb(jsonObj.ipaddress));
-
- $thisTab.find("#hypervisor").text(fromdb(jsonObj.hypervisor));
- $thisTab.find("#templateName").text(fromdb(jsonObj.templatename));
-
- $thisTab.find("#ostypename").text(osTypeMap[fromdb(jsonObj.guestosid)]);
- $thisTab.find("#ostypename_edit").val(fromdb(jsonObj.guestosid));
-
- $thisTab.find("#serviceOfferingName").text(fromdb(jsonObj.serviceofferingname));
- $thisTab.find("#account").text(fromdb(jsonObj.account));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- $thisTab.find("#hostName").text(fromdb(jsonObj.hostname));
-
- $thisTab.find("#group").text(fromdb(jsonObj.group));
- $thisTab.find("#group_edit").val(fromdb(jsonObj.group));
-
- setDateField(jsonObj.created, $thisTab.find("#created"));
-
- setBooleanReadField(jsonObj.haenable, $thisTab.find("#haenable"));
- setBooleanEditField(jsonObj.haenable, $thisTab.find("#haenable_edit"));
-
- setBooleanReadField((jsonObj.isoid != null), $thisTab.find("#iso"));
-
- //actions ***
- vmBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-var vmChangableStatus = {
- "Starting": 1,
- "Stopping": 1
-}
-
-function vmBuildActionMenu(jsonObj, $thisTab, $midmenuItem1) {
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- if (jsonObj.state == 'Destroyed') {
- if(isAdmin() || isDomainAdmin()) {
- buildActionLinkForTab("label.action.restore.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- }
- else if (jsonObj.state == 'Running') {
- buildActionLinkForTab("label.action.edit.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.stop.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.reboot.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.destroy.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- if (isAdmin()
- && (jsonObj.rootdevicetype == 'NetworkFilesystem' || jsonObj.rootdevicetype == 'IscsiLUN' || jsonObj.rootdevicetype == 'PreSetup')
- //&& (jsonObj.hypervisor == 'XenServer' || jsonObj.hypervisor == 'VMware' || jsonObj.hypervisor == 'KVM')
- )
- {
- buildActionLinkForTab("label.action.migrate.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- }
-
- if (jsonObj.isoid == null)
- buildActionLinkForTab("label.action.attach.iso", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- else
- buildActionLinkForTab("label.action.detach.iso", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- buildActionLinkForTab("label.action.reset.password", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.change.service", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- if(jsonObj.hypervisor == "BareMetal")
- buildActionLinkForTab("label.action.create.template", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- noAvailableActions = false;
- }
- else if (jsonObj.state == 'Stopped') {
- buildActionLinkForTab("label.action.edit.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.start.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.destroy.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- if (jsonObj.isoid == null)
- buildActionLinkForTab("label.action.attach.iso", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- else
- buildActionLinkForTab("label.action.detach.iso", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- buildActionLinkForTab("label.action.reset.password", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.change.service", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- if(jsonObj.hypervisor == "BareMetal")
- buildActionLinkForTab("label.action.create.template", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- noAvailableActions = false;
- }
- else if (jsonObj.state == 'Starting') {
- buildActionLinkForTab("label.action.stop.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if (jsonObj.state == 'Error') {
- buildActionLinkForTab("label.action.destroy.instance", vmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-}
-
-var vmTopButtonMap = {
- "start_vm_button": 0,
- "stop_vm_button": 0,
- "reboot_vm_button": 0,
- "destroy_vm_button": 0
-};
-
-function vmCountTopButtonMap(jsonObj) {
- if(jsonObj == null)
- return;
-
- if (jsonObj.state == 'Running') {
- vmTopButtonMap["stop_vm_button"] += 1;
- vmTopButtonMap["reboot_vm_button"] += 1;
- vmTopButtonMap["destroy_vm_button"] += 1;
- }
- else if (jsonObj.state == 'Stopped') {
- vmTopButtonMap["start_vm_button"] += 1;
- vmTopButtonMap["destroy_vm_button"] += 1;
- }
- else if (jsonObj.state == 'Error') {
- vmTopButtonMap["destroy_vm_button"] += 1;
- }
-}
-
-function vmUncountTopButtonMap(jsonObj) {
- if(jsonObj == null)
- return;
-
- if (jsonObj.state == 'Running') {
- vmTopButtonMap["stop_vm_button"] -= 1;
- vmTopButtonMap["reboot_vm_button"] -= 1;
- vmTopButtonMap["destroy_vm_button"] -= 1;
- }
- else if (jsonObj.state == 'Stopped') {
- vmTopButtonMap["start_vm_button"] -= 1;
- vmTopButtonMap["destroy_vm_button"] -= 1;
- }
- else if (jsonObj.state == 'Error') {
- vmTopButtonMap["destroy_vm_button"] -= 1;
- }
-}
-
-function vmGrayoutTopButtons() {
- var itemCounts = 0;
- for(var id in selectedItemsInMidMenu) {
- itemCounts ++;
- }
-
- for(var buttonElementId in vmTopButtonMap) {
- if(vmTopButtonMap[buttonElementId] < itemCounts) {
- $("#"+buttonElementId).hide();
- //$("#"+buttonElementId).find("#button_content").removeClass("actionpanel_button").addClass("actionpanel_button_hidden");
- }
- else {
- $("#"+buttonElementId).show();
- //$("#"+buttonElementId).find("#button_content").removeClass("actionpanel_button_hidden").addClass("actionpanel_button");
- }
- }
-}
-
-function vmResetTopButtonMap() {
- vmTopButtonMap = {
- "start_vm_button": 0,
- "stop_vm_button": 0,
- "reboot_vm_button": 0,
- "destroy_vm_button": 0
- };
-}
-
-function vmJsonToNicTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if ($midmenuItem1 == null) {
- vmJsonClearNicTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- vmJsonClearNicTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_nic");
-
- var nics = jsonObj.nic;
- var template = $("#nic_tab_template");
- var $container = $thisTab.find("#tab_container").empty();
- if(nics != null && nics.length > 0) {
- for (var i = 0; i < nics.length; i++) {
- var newTemplate = template.clone(true);
- vmNicJSONToTemplate(nics[i], newTemplate, i+1);
- $container.append(newTemplate.show());
- }
- }
-}
-
-function vmJsonClearNicTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_nic");
- $thisTab.find("#tab_container").empty();
-}
-
-function vmJsonToSecurityGroupTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if ($midmenuItem1 == null) {
- vmJsonClearSecurityGroupTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- vmJsonClearSecurityGroupTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_securitygroup");
-
- var items = jsonObj.securitygroup;
- var template = $("#securitygroup_tab_template");
- var $container = $thisTab.find("#tab_container").find("#grid_content").empty();
- if(items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- if(i % 2 == 0)
- newTemplate.addClass("even");
- else
- newTemplate.addClass("odd");
- vmSecurityGroupJSONToTemplate(items[i], newTemplate);
- $container.append(newTemplate.show());
- }
- }
-}
-
-function vmJsonClearSecurityGroupTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_securitygroup");
- $thisTab.find("#tab_container").empty();
-}
-
-function vmJsonToVolumeTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if ($midmenuItem1 == null) {
- vmJsonClearVolumeTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- vmJsonClearVolumeTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_volume");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- cache: false,
- data: createURL("command=listVolumes&virtualMachineId="+jsonObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listvolumesresponse.volume;
- var $container = $thisTab.find("#tab_container").empty();
- if (items != null && items.length > 0) {
- var template = $("#volume_tab_template");
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- vmVolumeJSONToTemplate(items[i], newTemplate);
- $container.append(newTemplate.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-
-}
-
-function vmJsonClearVolumeTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_volume");
- $thisTab.find("#tab_container").empty();
-}
-
-function vmJsonToStatisticsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if ($midmenuItem1 == null) {
- vmJsonClearStatisticsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- vmJsonClearStatisticsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_statistics");
-
- $thisTab.find("#cpunumber").text(fromdb(jsonObj.cpunumber));
- $thisTab.find("#cpuspeed").text(convertHz(jsonObj.cpuspeed));
-
- $thisTab.find("#percentused").text(jsonObj.cpuused);
-
- if(jsonObj.networkkbsread == null || jsonObj.networkkbsread == 0)
- $thisTab.find("#networkkbsread").text("N/A");
- else
- $thisTab.find("#networkkbsread").text(convertBytes(jsonObj.networkkbsread * 1024));
-
- if(jsonObj.networkkbswrite == null || jsonObj.networkkbswrite == 0)
- $thisTab.find("#networkkbswrite").text("N/A");
- else
- $thisTab.find("#networkkbswrite").text(convertBytes(jsonObj.networkkbswrite * 1024));
-}
-
-function vmJsonClearStatisticsTab() {
- var $thisTab = $("#right_panel_content #tab_content_statistics");
- var $barChartContainer = $thisTab.find("#cpu_barchart");
- $barChartContainer.find("#cpunumber").text("");
- $barChartContainer.find("#cpuspeed").text("");
- $barChartContainer.find("#bar_chart").removeClass().addClass("db_barbox").css("width", "0%");
- $barChartContainer.find("#percentused").text("");
- drawBarChart($barChartContainer, null);
- $thisTab.find("#networkkbsread").text("");
- $thisTab.find("#networkkbswrite").text("");
-}
-
-function vmClearRightPanel(jsonObj) {
- vmJsonClearDetailsTab();
- vmJsonClearNicTab();
- vmJsonClearSecurityGroupTab();
- vmJsonClearVolumeTab();
- vmJsonClearStatisticsTab();
- $("#tab_details").click();
-}
-
-function vmJsonClearDetailsTab(){
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- resetViewConsoleAction(null, $thisTab);
- setVmStateInRightPanel(null, $thisTab.find("#state"));
- $thisTab.find("#ipAddress").text("");
- $thisTab.find("#id").text("");
- $thisTab.find("#zoneName").text("");
- $thisTab.find("#title").text("");
- $thisTab.find("#vmname").text("");
- $thisTab.find("#vmname_edit").val("");
- $thisTab.find("#ipaddress").text("");
- $thisTab.find("#hypervisor").text("");
- $thisTab.find("#templateName").text("");
- $thisTab.find("#ostypename").text("");
- $thisTab.find("#ostypename_edit").val("");
- $thisTab.find("#serviceOfferingName").text("");
- $thisTab.find("#account").text("");
- $thisTab.find("#domain").text("");
- $thisTab.find("#hostName").text("");
- $thisTab.find("#group").text("");
- $thisTab.find("#group_edit").val("");
- $thisTab.find("#created").text("");
- $thisTab.find("#haenable").text("");
- $thisTab.find("#iso").text("");
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-//***** declaration for volume tab (begin) *********************************************************
-var vmVolumeActionMap = {
- "label.action.detach.disk": {
- api: "detachVolume",
- isAsyncJob: true,
- asyncJobResponse: "detachvolumeresponse",
- inProcessText: "label.action.detach.disk.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- $subgridItem.slideUp("slow", function(){
- $(this).remove();
- });
- }
- },
- "label.action.create.template": {
- isAsyncJob: true,
- asyncJobResponse: "createtemplateresponse",
- dialogBeforeActionFn : doCreateTemplateFromVmVolume,
- inProcessText: "label.action.create.template.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {}
- },
- "label.action.take.snapshot": {
- isAsyncJob: true,
- asyncJobResponse: "createsnapshotresponse",
- dialogBeforeActionFn : doTakeSnapshotFromVmVolume,
- inProcessText: "label.action.take.snapshot.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {}
- }
-}
-
-function vmNicJSONToTemplate(json, $template, index) {
- $template.attr("id","vm_nic_"+fromdb(json.id));
- $template.find("#title").text(fromdb("NIC " + index));
- $template.find("#ip").text(fromdb(json.ipaddress));
- $template.find("#type").text(fromdb(json.type));
- $template.find("#gateway").text(fromdb(json.gateway));
- $template.find("#netmask").text(fromdb(json.netmask));
-}
-
-function vmSecurityGroupJSONToTemplate(json, $template) {
- $template.attr("id","vm_securitygroup_"+fromdb(json.id));
- $template.find("#id").text(fromdb(json.id));
- $template.find("#name").text(fromdb(json.name));
- $template.find("#description").text(fromdb(json.description));
-
- $template.find("#show_ingressrule_link").unbind("click").bind("click", function(event){
- var $managementArea = $template.find("#management_area");
- var $ingressruleSubgrid = $managementArea.find("#subgrid_content").empty();
-
- $.ajax({
- cache: false,
- data: createURL("command=listSecurityGroups&id="+json.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var securityGroupObj = json.listsecuritygroupsresponse.securitygroup[0];
- var items = securityGroupObj.ingressrule;
- if (items != null && items.length > 0) {
- var template = $("#ingressrule_template");
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- securityGroupIngressRuleJSONToTemplate(items[i], newTemplate);
- $ingressruleSubgrid.append(newTemplate.show());
- }
- }
- }
- });
-
- $managementArea.show();
- $template.find("#show_ingressrule_link").hide();
- $template.find("#hide_ingressrule_link").show();
- return false;
- });
-
- $template.find("#hide_ingressrule_link").unbind("click").bind("click", function(event){
- $template.find("#management_area").hide();
- $template.find("#hide_ingressrule_link").hide();
- $template.find("#show_ingressrule_link").show();
- return false;
- });
-}
-
-function securityGroupIngressRuleJSONToTemplate(jsonObj, $template) {
- $template.data("jsonObj", jsonObj);
- $template.attr("id", "securitygroup_ingressRule_"+fromdb(jsonObj.ruleid));
-
- $template.find("#id").text(fromdb(jsonObj.ruleid));
- $template.find("#protocol").text(jsonObj.protocol);
-
- var endpoint;
- if(jsonObj.protocol == "icmp")
- endpoint = "ICMP Type=" + ((jsonObj.icmptype!=null)?jsonObj.icmptype:"") + ", code=" + ((jsonObj.icmpcode!=null)?jsonObj.icmpcode:"");
- else //tcp, udp
- endpoint = "Port Range " + ((jsonObj.startport!=null)?jsonObj.startport:"") + "-" + ((jsonObj.endport!=null)?jsonObj.endport:"");
- $template.find("#endpoint").text(endpoint);
-
- var cidrOrGroup;
- if(jsonObj.cidr != null && jsonObj.cidr.length > 0)
- cidrOrGroup = jsonObj.cidr;
- else if (jsonObj.account != null && jsonObj.account.length > 0 && jsonObj.securitygroupname != null && jsonObj.securitygroupname.length > 0)
- cidrOrGroup = jsonObj.account + "/" + jsonObj.securitygroupname;
- $template.find("#cidr").text(cidrOrGroup);
-}
-
-function vmVolumeJSONToTemplate(json, $template) {
- $template.attr("id","vm_volume_"+fromdb(json.id));
- $template.data("jsonObj", json);
- $template.find("#title").text(fromdb(json.name));
- $template.find("#id").text(fromdb(json.id));
- $template.find("#name").text(fromdb(json.name));
- if (json.storagetype == "shared")
- $template.find("#type").text(fromdb(json.type) + " (shared storage)");
- else
- $template.find("#type").text(fromdb(json.type) + " (local storage)");
-
- $template.find("#size").text((json.size == "0") ? "" : convertBytes(json.size));
- setDateField(json.created, $template.find("#created"));
-
- //***** actions (begin) *****
- var $actionLink = $template.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- if(json.hypervisor != "Ovm") {
- buildActionLinkForSubgridItem("label.action.take.snapshot", vmVolumeActionMap, $actionMenu, $template);
- noAvailableActions = false;
- }
-
- if(json.type=="ROOT") { //"label.action.create.template" is allowed(when stopped), "label.action.detach.disk" is disallowed.
- if (json.vmstate == "Stopped") {
- buildActionLinkForSubgridItem("label.action.create.template", vmVolumeActionMap, $actionMenu, $template);
- noAvailableActions = false;
- }
- }
- else { //json.type=="DATADISK": "label.action.detach.disk" is allowed, "label.action.create.template" is disallowed.
- buildActionLinkForSubgridItem("label.action.detach.disk", vmVolumeActionMap, $actionMenu, $template);
- noAvailableActions = false;
- }
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
- //***** actions (end) *****
-}
-
-//***** declaration for volume tab (end) *********************************************************
-
-function appendInstanceGroup(groupId, groupName) {
- var $leftmenuSubmenuTemplate = $("#leftmenu_submenu_template").clone().show();
- $leftmenuSubmenuTemplate.attr("id", ("leftmenu_instance_group_"+groupId));
- $leftmenuSubmenuTemplate.data("groupId", groupId)
- $leftmenuSubmenuTemplate.find("#submenu_name").text(groupName);
- $leftmenuSubmenuTemplate.find("#icon").attr("src", "images/instance_leftmenuicon.png").show();
-
- $leftmenuSubmenuTemplate.bind("click", function(event) {
- $("#midmenu_container").empty();
- selectedItemsInMidMenu = {};
-
- var groupId = $(this).data("groupId");
- $.ajax({
- cache: false,
- data: createURL("command=listVirtualMachines&groupid="+groupId+"&pagesize="+midmenuItemCount+"&page=1"),
- dataType: "json",
- success: function(json) {
- var instances = json.listvirtualmachinesresponse.virtualmachine;
- if (instances != null && instances.length > 0) {
- var $template = $("#midmenu_item");
- for(var i=0; i 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
-
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneId="+zone);
-
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- if ($advancedSearchPopup.find("#adv_search_account_li").css("display") != "none"
- && $advancedSearchPopup.find("#adv_search_account").hasClass("textwatermark") == false) {
- var account = $advancedSearchPopup.find("#adv_search_account").val();
- if (account!=null && account.length > 0)
- moreCriteria.push("&account="+account);
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadIpJSP() {
- // switch between different tabs
- var tabArray = [$("#tab_details"), $("#tab_firewall"), $("#tab_port_range"), $("#tab_port_forwarding"), $("#tab_load_balancer"), $("#tab_vpn")];
- var tabContentArray = [$("#tab_content_details"), $("#tab_content_firewall"), $("#tab_content_port_range"), $("#tab_content_port_forwarding"), $("#tab_content_load_balancer"), $("#tab_content_vpn")];
- var afterSwitchFnArray = [ipJsonToDetailsTab, ipJsonToFirewallTab, ipJsonToPortRangeTab, ipJsonToPortForwardingTab, ipJsonToLoadBalancerTab, ipJsonToVPNTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-
- //****** Basic Zone, support Elastic Load Balancer (begin) *****************************************************************************************
- if(g_supportELB == "guest" || g_supportELB == "public") {
- $("#tab_details,#tab_firewall,#tab_port_range,#tab_port_forwarding,#tab_load_balancer,#tab_vpn").hide();
-
- $("#tab_content_details").hide();
-
- $("#acquire_new_ip_button").hide();
- $("#add_load_balancer_and_ip_button").show();
-
- initDialog("dialog_add_load_balancer_and_ip");
-
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- success: function(json) {
- var zones = json.listzonesresponse.zone;
- var zoneSelect = $("#dialog_add_load_balancer_and_ip").find("#acquire_zone").empty();
- if (zones != null && zones.length > 0) {
- for (var i = 0; i < zones.length; i++) {
- if(zones[i].networktype == "Basic")
- zoneSelect.append("" + fromdb(zones[i].name) + " ");
- }
- }
- }
- });
-
- $("#add_load_balancer_and_ip_button").unbind("click").bind("click", function(event) {
- $("#dialog_add_load_balancer_and_ip").dialog('option', 'buttons', {
- "Acquire": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#name"), $thisDialog.find("#name_errormsg"));
- isValid &= validateInteger("Public Port", $thisDialog.find("#public_port"), $thisDialog.find("#public_port_errormsg"), 1, 65535);
- isValid &= validateInteger("Private Port", $thisDialog.find("#private_port"), $thisDialog.find("#private_port_errormsg"), 1, 65535);
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
-
- var array1 = [];
-
- var zoneId = $thisDialog.find("#acquire_zone").val();
- array1.push("&zoneid="+zoneId);
-
- var name = $thisDialog.find("#name").val();
- array1.push("&name="+todb(name));
-
- var publicPort = $thisDialog.find("#public_port").val();
- array1.push("&publicport="+publicPort);
-
- var privatePort = $thisDialog.find("#private_port").val();
- array1.push("&privateport="+privatePort);
-
- var algorithm = $thisDialog.find("#algorithm_select").val();
- array1.push("&algorithm="+algorithm);
-
- array1.push("&openfirewall=false"); //elasticLB(basicZone) has nothing to do with firewall, so do not open firewall when creating LB rule in elasticLB(basicZone).
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
- $.ajax({
- data: createURL("command=createLoadBalancerRule"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.createloadbalancerruleresponse.jobid;
- var timerKey = "addLbAndIpJob_"+jobId;
-
- $("body").everyTime(2000, timerKey, function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- if (result.jobstatus == 1) {
- // Succeeded
- var publicipid = result.jobresult.loadbalancer.publicipid;
-
- var cmd;
- if(g_supportELB == "guest") {
- cmd = "command=listPublicIpAddresses&forvirtualnetwork=false&id="+publicipid;
- }
- else if(g_supportELB == "public") {
- cmd = "command=listPublicIpAddresses&forvirtualnetwork=true&id="+publicipid;
- }
- else {
- if(g_supportELB == null)
- alert("supportELB should be either guest or public. It should not be null.");
- else
- alert("supportELB should be either guest or public. It should not be " + g_supportELB);
- return;
- }
-
- $.ajax({
- data: createURL(cmd),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listpublicipaddressesresponse.publicipaddress;
- if(items != null && items.length > 0) {
- ipToMidmenu(items[0], $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, ipToRightPanel, ipGetMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
- }
- }
- });
- } else if (result.jobstatus == 2) {
- afterAddingMidMenuItem($midmenuItem1, false, fromdb(result.jobresult.errortext));
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- }, 0);
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
- }
- //****** Basic Zone, support Elastic Load Balancer (end) *****************************************************************************************
-
- //****** Advanced Zone (begin) *******************************************************************************************************************
- else {
- $("#tab_firewall").show();
-
- $("#tab_details,#tab_content_details").show();
-
- //dialogs
- initDialog("dialog_acquire_public_ip", 325);
- initDialog("dialog_enable_vpn");
- initDialog("dialog_disable_vpn");
- initDialog("dialog_add_vpnuser");
- initDialog("dialog_confirmation_remove_vpnuser");
- initDialog("dialog_enable_static_NAT");
-
- //*** Acquire New IP (begin) ***
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- success: function(json) {
- var zones = json.listzonesresponse.zone;
- var zoneSelect = $("#dialog_acquire_public_ip").find("#acquire_zone").empty();
- if (zones != null && zones.length > 0) {
- for (var i = 0; i < zones.length; i++) {
- zoneSelect.append("" + fromdb(zones[i].name) + " ");
- }
- }
- }
- });
-
- $("#acquire_new_ip_button").unbind("click").bind("click", function(event) {
- $("#dialog_acquire_public_ip").dialog('option', 'buttons', {
- "Acquire": function() {
- var thisDialog = $(this);
- thisDialog.dialog("close");
-
- var zoneid = thisDialog.find("#acquire_zone").val();
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
-
- $.ajax({
- data: createURL("command=associateIpAddress&zoneid="+zoneid),
- dataType: "json",
- success: function(json) {
- var jobId = json.associateipaddressresponse.jobid;
- var timerKey = "associateIpJob_"+jobId;
-
- $("body").everyTime(2000, timerKey, function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- if (result.jobstatus == 1) {
- // Succeeded
- ipToMidmenu(result.jobresult.ipaddress, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, ipToRightPanel, ipGetMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
- } else if (result.jobstatus == 2) {
- afterAddingMidMenuItem($midmenuItem1, false, fromdb(result.jobresult.errortext));
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- }, 0);
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
- //*** Acquire New IP (end) ***
-
- //*** Firewall tab (begin) ***
- var $createFirewallRow = $("#tab_content_firewall").find("#create_firewall_row");
-
- $createFirewallRow.find("#protocol").bind("change", function(event) {
- if($(this).val() == null)
- return true;
- var protocol = $(this).val().toLowerCase();
- if(protocol == "tcp" || protocol == "udp") {
- $createFirewallRow.find("#start_port,#end_port").show();
- $createFirewallRow.find("#ICMP_type,#ICMP_code").hide();
- $createFirewallRow.find("#ICMP_type,#ICMP_code").val("");
- }
- else { //protocol == icmp
- $createFirewallRow.find("#ICMP_type,#ICMP_code").show();
- $createFirewallRow.find("#start_port,#end_port").hide();
- $createFirewallRow.find("#start_port,#end_port").val("");
- }
- return true;
- });
-
- $createFirewallRow.find("#add_link").bind("click", function(event){
- var isValid = true;
- isValid &= validateCIDRList("Source CIDR", $createFirewallRow.find("#cidr"), $createFirewallRow.find("#cidr_errormsg"), true); //optional
- if($createFirewallRow.find("#start_port").css("display") != "none")
- isValid &= validateInteger("Start Port", $createFirewallRow.find("#start_port"), $createFirewallRow.find("#start_port_errormsg"), 1, 65535);
- if($createFirewallRow.find("#end_port").css("display") != "none")
- isValid &= validateInteger("End Port", $createFirewallRow.find("#end_port"), $createFirewallRow.find("#end_port_errormsg"), 1, 65535);
- if($createFirewallRow.find("#ICMP_type").css("display") != "none")
- isValid &= validateInteger("ICMP type", $createFirewallRow.find("#ICMP_type"), $createFirewallRow.find("#ICMP_type_errormsg"), null, null);
- if($createFirewallRow.find("#ICMP_code").css("display") != "none")
- isValid &= validateInteger("ICMP code", $createFirewallRow.find("#ICMP_code"), $createFirewallRow.find("#ICMP_code_errormsg"), null, null);
- if (!isValid)
- return;
-
- var $template = $("#firewall_template").clone();
- $("#tab_content_firewall #grid_content").append($template.show());
-
- var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
- $spinningWheel.find("#description").text(g_dictionary["label.adding.processing"]);
- $spinningWheel.show();
-
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- var ipObj = $midmenuItem1.data("jsonObj");
-
- var array1 = [];
- array1.push("&ipaddressid="+ipObj.id);
-
- var cidr = $createFirewallRow.find("#cidr").val();
- if(cidr != null && cidr.length > 0)
- array1.push("&cidrlist="+cidr);
-
- if($createFirewallRow.find("#start_port").css("display") != "none") {
- var startPort = $createFirewallRow.find("#start_port").val();
- array1.push("&startPort="+startPort);
- }
-
- if($createFirewallRow.find("#end_port").css("display") != "none") {
- var endPort = $createFirewallRow.find("#end_port").val();
- array1.push("&endPort="+endPort);
- }
-
- var protocol = $createFirewallRow.find("#protocol").val();
- array1.push("&protocol="+protocol);
-
- if($createFirewallRow.find("#ICMP_type").css("display") != "none") {
- var ICMPType = $createFirewallRow.find("#ICMP_type").val();
- array1.push("&icmptype="+ICMPType);
- }
- if($createFirewallRow.find("#ICMP_code").css("display") != "none") {
- var ICMPCode = $createFirewallRow.find("#ICMP_code").val();
- array1.push("&icmpcode="+ICMPCode);
- }
-
- $.ajax({
- data: createURL("command=createFirewallRule"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.createfirewallruleresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- var item = json.queryasyncjobresultresponse.jobresult.firewallrule;
- firewallJsonToTemplate(item, $template);
- $spinningWheel.hide();
- refreshCreateFirewallRow();
- } else if (result.jobstatus == 2) { // Failed
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_error").text(errorMsg).dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- });
- }
- });
-
- return false;
- });
- //*** Firewall tab (end) ***
-
- //*** Port Range tab (begin) ***
- var $createPortRangeRow = $("#tab_content_port_range").find("#create_port_range_row");
-
- $createPortRangeRow.find("#add_link").bind("click", function(event){
- var isValid = true;
- isValid &= validateInteger("Start Port", $createPortRangeRow.find("#start_port"), $createPortRangeRow.find("#start_port_errormsg"), 1, 65535);
- isValid &= validateInteger("End Port", $createPortRangeRow.find("#end_port"), $createPortRangeRow.find("#end_port_errormsg"), 1, 65535);
- if (!isValid)
- return;
-
- var $template = $("#port_range_template").clone();
- $("#tab_content_port_range #grid_content").append($template.show());
-
- var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
- $spinningWheel.find("#description").text(g_dictionary["label.adding.processing"]);
- $spinningWheel.show();
-
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- var ipObj = $midmenuItem1.data("jsonObj");
-
- var startPort = $createPortRangeRow.find("#start_port").val();
- var endPort = $createPortRangeRow.find("#end_port").val();
- var protocol = $createPortRangeRow.find("#protocol").val();
-
- var array1 = [];
- array1.push("&ipaddressid="+ipObj.id);
- array1.push("&startPort="+startPort);
- array1.push("&endPort="+endPort);
- array1.push("&protocol="+protocol);
- array1.push("&openfirewall=false");
-
- $.ajax({
- data: createURL("command=createIpForwardingRule"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.createipforwardingruleresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- var item = json.queryasyncjobresultresponse.jobresult.ipforwardingrule;
- portRangeJsonToTemplate(item, $template);
- $spinningWheel.hide();
- refreshCreatePortRangeRow();
- } else if (result.jobstatus == 2) { // Failed
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- //var errorMsg = g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_error").text(errorMsg).dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- });
- }
- });
- },
-
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- });
- }
- });
-
- return false;
- });
- //*** Port Range tab (end) ***
-
- //*** Port Forwarding tab (begin) ***
- var $createPortForwardingRow = $("#tab_content_port_forwarding").find("#create_port_forwarding_row");
-
- // If public end port gets filled, disable private ports and copy public ports over to private ports
- /*
- $createPortForwardingRow.find("#public_end_port").bind("keyup", function(event) {
- if($(this).val() != null && $(this).val().length > 0) {
- $createPortForwardingRow.find("#private_port").attr("readonly", true);
- $createPortForwardingRow.find("#private_end_port").attr("readonly", true);
-
- $createPortForwardingRow.find("#private_port").val($createPortForwardingRow.find("#public_port").val());
- $createPortForwardingRow.find("#private_end_port").val($(this).val());
- }
- else {
- $createPortForwardingRow.find("#private_port").removeAttr("readonly");
- $createPortForwardingRow.find("#private_end_port").removeAttr("readonly");
- }
- return true;
- });
- $createPortForwardingRow.find("#public_port").bind("keyup", function(event) {
- if($createPortForwardingRow.find("#private_port").attr("readonly") == true)
- $createPortForwardingRow.find("#private_port").val($(this).val());
- return true;
- });
- */
-
- $createPortForwardingRow.find("#add_link").bind("click", function(event){
- var isValid = true;
-
- //isValid &= validateCIDRList("CIDR", $createPortForwardingRow.find("#cidr"), $createPortForwardingRow.find("#cidr_errormsg"), true); //optional
-
- isValid &= validateInteger("Public Port", $createPortForwardingRow.find("#public_port"), $createPortForwardingRow.find("#public_port_errormsg"), 1, 65535, false); //required
- isValid &= validateInteger("Public End Port", $createPortForwardingRow.find("#public_end_port"), $createPortForwardingRow.find("#public_end_port_errormsg"), 1, 65535, true); //optional
-
- isValid &= validateInteger("Private Port", $createPortForwardingRow.find("#private_port"), $createPortForwardingRow.find("#private_port_errormsg"), 1, 65535, false); //required
- isValid &= validateInteger("Private End Port", $createPortForwardingRow.find("#private_end_port"), $createPortForwardingRow.find("#private_end_port_errormsg"), 1, 65535, true); //optional
-
- isValid &= validateDropDownBox("Instance", $createPortForwardingRow.find("#vm"), $createPortForwardingRow.find("#vm_errormsg"));
- if (!isValid)
- return;
-
- var $template = $("#port_forwarding_template").clone();
- $("#tab_content_port_forwarding #grid_content").append($template.show());
-
- var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
- $spinningWheel.find("#description").text(g_dictionary["label.adding.processing"]);
- $spinningWheel.show();
-
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- var ipObj = $midmenuItem1.data("jsonObj");
-
- var array1 = [];
- array1.push("&ipaddressid="+ipObj.id);
-
- var publicPort = $createPortForwardingRow.find("#public_port").val();
- array1.push("&publicport="+publicPort);
- var publicEndPort = $createPortForwardingRow.find("#public_end_port").val();
- if(publicEndPort != null && publicEndPort.length > 0)
- array1.push("&publicendport="+publicEndPort);
-
- var privatePort = $createPortForwardingRow.find("#private_port").val();
- array1.push("&privateport="+privatePort);
- var privateEndPort = $createPortForwardingRow.find("#private_end_port").val();
- if(privateEndPort != null && privateEndPort.length > 0)
- array1.push("&privateendport="+privateEndPort);
-
- var protocol = $createPortForwardingRow.find("#protocol").val();
- array1.push("&protocol="+protocol);
-
- var virtualMachineId = $createPortForwardingRow.find("#vm").val();
- array1.push("&virtualmachineid=" + virtualMachineId);
-
- array1.push("&openfirewall=false");
-
- $.ajax({
- data: createURL("command=createPortForwardingRule"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.createportforwardingruleresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- var item = json.queryasyncjobresultresponse.jobresult.portforwardingrule;
- portForwardingJsonToTemplate(item,$template);
- $spinningWheel.hide();
- refreshCreatePortForwardingRow();
- } else if (result.jobstatus == 2) { // Failed
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- //var errorMsg = g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_error").text(errorMsg).dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- });
- }
- });
-
- return false;
- });
- //*** Port Forwarding tab (end) ***
- }
-
- //*** Load Balancer tab (begin) ***
- var createLoadBalancerRow = $("#tab_content_load_balancer #create_load_balancer_row");
-
- createLoadBalancerRow.find("#add_link").bind("click", function(event){
- // validate values
- var isValid = true;
- //isValid &= validateCIDRList("CIDR", createLoadBalancerRow.find("#cidr"), createLoadBalancerRow.find("#cidr_errormsg"), true); //optional
- isValid &= validateString("Name", createLoadBalancerRow.find("#name"), createLoadBalancerRow.find("#name_errormsg"));
- isValid &= validateInteger("Public Port", createLoadBalancerRow.find("#public_port"), createLoadBalancerRow.find("#public_port_errormsg"), 1, 65535);
- isValid &= validateInteger("Private Port", createLoadBalancerRow.find("#private_port"), createLoadBalancerRow.find("#private_port_errormsg"), 1, 65535);
- if (!isValid) return;
-
- var $template = $("#load_balancer_template").clone();
- $("#tab_content_load_balancer #grid_content").append($template.show());
-
- var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
- $spinningWheel.find("#description").text(g_dictionary["label.adding.processing"]);
- $spinningWheel.show();
-
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- var ipObj = $midmenuItem1.data("jsonObj");
-
- var array1 = [];
- array1.push("&publicipid="+ipObj.id);
-
- var name = createLoadBalancerRow.find("#name").val();
- array1.push("&name="+todb(name));
-
- var publicPort = createLoadBalancerRow.find("#public_port").val();
- array1.push("&publicport="+publicPort);
-
- var privatePort = createLoadBalancerRow.find("#private_port").val();
- array1.push("&privateport="+privatePort);
-
- var algorithm = createLoadBalancerRow.find("#algorithm_select").val();
- array1.push("&algorithm="+algorithm);
-
- array1.push("&openfirewall=false");
-
- $.ajax({
- data: createURL("command=createLoadBalancerRule"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.createloadbalancerruleresponse.jobid;
- var timerKey = "addLbJob_"+jobId;
-
- $("body").everyTime(2000, timerKey, function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- if (result.jobstatus == 1) {
- // Succeeded
- var item = result.jobresult.loadbalancer;
- loadBalancerJsonToTemplate(item, $template);
- $spinningWheel.hide();
- refreshCreateLoadBalancerRow();
- } else if (result.jobstatus == 2) {
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = fromdb(result.jobresult.errortext);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- });
- }
- });
- }, 0);
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- });
- }
- });
-
- return false;
- });
- //*** Load Balancer tab (end) ***
- //****** Advanced Zone (end) *******************************************************************************************************************
-}
-
-function ipGetMidmenuId(jsonObj) {
- return ipGetMidmenuId2(jsonObj.ipaddress);
-}
-
-function ipGetMidmenuId2(ipaddress) {
- return "midmenuItem_" + ipaddress.replace(/\./g, "_"); //e.g. "192.168.33.108" => "192_168_33_108"
-}
-
-function ipToMidmenu(jsonObj, $midmenuItem1) {
- var id = ipGetMidmenuId(jsonObj);
- $midmenuItem1.attr("id", id);
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_network_networkgroup.png");
-
- var firstRowText = fromdb(jsonObj.ipaddress);
- if (jsonObj.issourcenat == true)
- firstRowText += "[source nat]";
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = "owned by: "+fromdb(jsonObj.account);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function isIpManageable(domainid, account) {
- if(((g_domainid == domainid && g_account == account) || (isDomainAdmin()) || (isAdmin()))
- && account!="system")
- return true;
- else
- return false;
-}
-
-function ipToRightPanel($midmenuItem1) {
- var ipObj = $midmenuItem1.data("jsonObj");
-
- var networkObj;
- if(ipObj.networkid != null) {
- $.ajax({
- data: createURL("command=listNetworks&id="+ipObj.associatednetworkid),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listnetworksresponse.network;
- if(items != null && items.length > 0) {
- networkObj = items[0];
- $midmenuItem1.data("networkObj", networkObj);
- }
- }
- });
- }
-
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
-
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
-
- if(g_supportELB == "guest" || g_supportELB == "public")
- $("#tab_load_balancer").click();
- else
- $("#tab_details").click();
-
- if(ipObj.isstaticnat == true) {
- $("#tab_firewall").show();
- $("#tab_port_range").hide();
- $("#tab_port_forwarding, #tab_load_balancer, #tab_vpn").hide();
- }
- else { //ipObj.isstaticnat == false
- $("#tab_port_range").hide();
- if(ipObj.forvirtualnetwork == true) { // Public network
- if(isIpManageable(ipObj.domainid, ipObj.account) == true) { // IP is managable
- $("#tab_firewall").show();
-
- //Port Forwarding tab
- if(networkObj != null) {
- var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj);
- if(firewallServiceObj != null) {
- var portForwardingCapabilityObj = ipFindCapabilityByName("PortForwarding", firewallServiceObj);
- if(portForwardingCapabilityObj != null) {
- if(portForwardingCapabilityObj.value == "true")
- $("#tab_port_forwarding").show();
- else
- $("#tab_port_forwarding").hide();
- }
- else {
- $("#tab_port_forwarding").hide();
- }
- }
- else {
- $("#tab_port_forwarding").hide();
- }
- }
- else {
- $("#tab_port_forwarding").hide();
- }
-
- //Load Balancer tab
- if (ipObj.issourcenat == true) {
- var lbServiceObj = ipFindNetworkServiceByName("Lb", networkObj);
- if(lbServiceObj != null) {
- var LoadBalancingSupportedIpsCapabilityObj = ipFindCapabilityByName("LoadBalancingSupportedIps", lbServiceObj);
- if(LoadBalancingSupportedIpsCapabilityObj != null)
- $("#tab_load_balancer").hide();
- else
- $("#tab_load_balancer").show();
- }
- else {
- $("#tab_load_balancer").hide();
- }
- }
- else {
- if(networkObj != null) {
- var lbServiceObj = ipFindNetworkServiceByName("Lb", networkObj);
- if(lbServiceObj != null)
- $("#tab_load_balancer").show();
- else
- $("#tab_load_balancer").hide();
- }
- else {
- $("#tab_load_balancer").hide();
- }
- }
-
- //VPN tab
- if (ipObj.issourcenat == true) {
- var vpnServiceObj = ipFindNetworkServiceByName("Vpn", networkObj);
- if(vpnServiceObj != null)
- $("#tab_vpn").show();
- else
- $("#tab_vpn").hide();
- }
- else {
- $("#tab_vpn").hide();
- }
- }
- else { // IP is not managable
- $("#tab_firewall, #tab_port_forwarding, #tab_load_balancer, #tab_vpn").hide();
- }
- }
- else { // Direct Network (ipObj.forvirtualnetwork == false)
- $("#tab_firewall, #tab_port_forwarding, #tab_load_balancer, #tab_vpn").hide();
- }
- }
-}
-
-function ipJsonToFirewallTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
-
- if($midmenuItem1 == null) {
- ipClearFirewallTab();
- return;
- }
-
- var ipObj = $midmenuItem1.data("jsonObj");
- if(ipObj == null) {
- ipClearFirewallTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_firewall");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var networkObj = $midmenuItem1.data("networkObj");
- if(networkObj != null) {
- var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj);
- if(firewallServiceObj != null) {
- var supportedProtocolsCapabilityObj = ipFindCapabilityByName("SupportedProtocols", firewallServiceObj);
- if(supportedProtocolsCapabilityObj != null) {
- var protocols = supportedProtocolsCapabilityObj.value.toUpperCase(); //e.g. "tcp,udp" => "TCP,UDP"
- var array1 = protocols.split(",");
- var $protocolField = $("#create_firewall_row").find("#protocol").empty();
- for(var i=0; i"+array1[i]+"")
- }
- }
- }
- }
-
- refreshCreateFirewallRow();
-
- $.ajax({
- data: createURL("command=listFirewallRules&ipaddressid=" + ipObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listfirewallrulesresponse.firewallrule;
- var $grid = $thisTab.find("#grid_content").empty();
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var $template = $("#firewall_template").clone(true);
- firewallJsonToTemplate(items[i], $template);
- $grid.append($template.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function ipJsonToPortRangeTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
-
- if($midmenuItem1 == null) {
- ipClearPortRangeTab();
- return;
- }
-
- var ipObj = $midmenuItem1.data("jsonObj");
- if(ipObj == null) {
- ipClearPortRangeTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_port_range");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var networkObj = $midmenuItem1.data("networkObj");
- if(networkObj != null) {
- var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj);
- if(firewallServiceObj != null) {
- var supportedProtocolsCapabilityObj = ipFindCapabilityByName("SupportedProtocols", firewallServiceObj);
- if(supportedProtocolsCapabilityObj != null) {
- var protocols = supportedProtocolsCapabilityObj.value.toUpperCase(); //e.g. "tcp,udp" => "TCP,UDP"
- var array1 = protocols.split(",");
- var $protocolField = $("#create_port_range_row").find("#protocol").empty();
- for(var i=0; i"+array1[i]+"")
- }
- }
- }
- }
-
- refreshCreatePortRangeRow();
-
- $.ajax({
- data: createURL("command=listIpForwardingRules&ipaddressid=" + ipObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listipforwardingrulesresponse.ipforwardingrule;
- var $PortRangeGrid = $thisTab.find("#grid_content");
- $PortRangeGrid.empty();
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var $template = $("#port_range_template").clone(true);
- portRangeJsonToTemplate(items[i], $template);
- $PortRangeGrid.append($template.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function ipJsonToPortForwardingTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- ipClearPortForwardingTab();
- return;
- }
-
- var ipObj = $midmenuItem1.data("jsonObj");
- if(ipObj == null) {
- ipClearPortForwardingTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_port_forwarding");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var networkObj = $midmenuItem1.data("networkObj");
- if(networkObj != null) {
- var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj);
- if(firewallServiceObj != null) {
- var supportedProtocolsCapabilityObj = ipFindCapabilityByName("SupportedProtocols", firewallServiceObj);
- if(supportedProtocolsCapabilityObj != null) {
- var protocols = supportedProtocolsCapabilityObj.value.toUpperCase(); //e.g. "tcp,udp" => "TCP,UDP"
- var array1 = protocols.split(",");
- var $protocolField = $("#create_port_forwarding_row").find("#protocol").empty();
- for(var i=0; i"+array1[i]+"")
- }
- }
- }
- }
-
- refreshCreatePortForwardingRow();
-
- $.ajax({
- data: createURL("command=listPortForwardingRules&ipaddressid=" + ipObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listportforwardingrulesresponse.portforwardingrule;
- var $portForwardingGrid = $thisTab.find("#grid_content");
- $portForwardingGrid.empty();
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var $template = $("#port_forwarding_template").clone(true);
- portForwardingJsonToTemplate(items[i], $template);
- $portForwardingGrid.append($template.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function ipJsonToLoadBalancerTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- ipClearLoadBalancerTab();
- return;
- }
-
- var ipObj = $midmenuItem1.data("jsonObj");
- if(ipObj == null) {
- ipClearLoadBalancerTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_load_balancer");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var networkObj = $midmenuItem1.data("networkObj");
- if(networkObj != null) {
- var lbServiceObj = ipFindNetworkServiceByName("Lb", networkObj);
- if(lbServiceObj != null) {
- var supportedLbAlgorithmsCapabilityObj = ipFindCapabilityByName("SupportedLbAlgorithms", lbServiceObj);
- if(supportedLbAlgorithmsCapabilityObj != null) {
- var algorithms = supportedLbAlgorithmsCapabilityObj.value; //e.g. "roundrobin,leastconn,sourceip"
- var array1 = algorithms.split(",");
- var $algorithmField1 = $("#create_load_balancer_row").find("#algorithm_select").empty();
- var $algorithmField2 = $("#load_balancer_template").find("#row_container_edit").find("#algorithm_select").empty();
- for(var i=0; i"+array1[i]+"");
- $algorithmField2.append(""+array1[i]+" ");
- }
- }
- }
- }
-
- refreshCreateLoadBalancerRow();
-
- $.ajax({
- data: createURL("command=listLoadBalancerRules&publicipid="+ipObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listloadbalancerrulesresponse.loadbalancerrule;
- var loadBalancerGrid = $thisTab.find("#grid_content");
- loadBalancerGrid.empty();
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var $template = $("#load_balancer_template").clone(true);
- loadBalancerJsonToTemplate(items[i], $template);
- loadBalancerGrid.append($template.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function showEnableVPNDialog($thisTab) {
- $("#dialog_enable_vpn")
- .dialog('option', 'buttons', {
- "Enable": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
- $spinningWheel = $thisDialog.find("#spinning_wheel").show();
-
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- var ipObj = $midmenuItem1.data("jsonObj");
-
- var array1 = [];
- array1.push("&publicipid="+ipObj.id);
- array1.push("&account="+ipObj.account);
- array1.push("&domainid="+ipObj.domainid);
- array1.push("&zoneid="+ipObj.zoneid);
- array1.push("&openfirewall=true");
-
- $.ajax({
- data: createURL("command=createRemoteAccessVpn"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.createremoteaccessvpnresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- showVpnUsers(result.jobresult.remoteaccessvpn.presharedkey, result.jobresult.remoteaccessvpn.publicip);
- $thisDialog.dialog("close");
- $thisTab.find("#tab_container").show();
- $thisTab.find("#vpn_disabled_msg").hide();
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = "We were unable to enable VPN access. Please contact support.";
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $thisDialog.find("#info_container").text(errorMsg).show();
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#vpn_disabled_msg").show();
- $(this).dialog("close");
- $thisTab.find("#enable_vpn_link").unbind("click").bind("click", function(event) {
- showEnableVPNDialog($thisTab);
- });
- }
- }).dialog("open");
-}
-
-function ipJsonToVPNTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- ipClearVPNTab();
- return;
- }
-
- var ipObj = $midmenuItem1.data("jsonObj");
- if(ipObj == null) {
- ipClearVPNTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_vpn");
- $thisTab.find("#tab_spinning_wheel").show();
- $thisTab.find("#tab_container").hide();
-
- $.ajax({
- data: createURL("command=listRemoteAccessVpns&publicipid="+ipObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listremoteaccessvpnsresponse.remoteaccessvpn;
- if (items != null && items.length > 0) {
- showVpnUsers(items[0].presharedkey, items[0].publicip);
- } else {
- showEnableVPNDialog($thisTab);
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- $thisTab.find("#vpn_disabled_msg").hide();
- }
- });
-}
-
-function ipClearVPNTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_vpn");
- showEnableVPNDialog($thisTab);
- $thisTab.find("#vpn_disabled_msg").hide();
-}
-
-function showVpnUsers(presharedkey, publicip) {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- var ipObj = $midmenuItem1.data("jsonObj");
- var $vpnTab = $("#right_panel_content #tab_content_vpn");
- var $actionMenu = $vpnTab.find("#vpn_action_menu");
- $actionMenu.find("#action_list").empty();
-
- $vpnTab.find("#vpn_key").text(presharedkey);
- $vpnTab.find("#vpn_ip").text(publicip);
-
- var $listItemTemplate = $("#action_list_item");
- var $listItem = $listItemTemplate.clone();
- $listItem.find("#link").text("Disable VPN");
- $listItem.bind("click", function(event) {
- $actionMenu.hide();
- $("#dialog_disable_vpn")
- .dialog('option', 'buttons', {
- "Disable": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
- $spinningWheel = $thisDialog.find("#spinning_wheel").show();
- $.ajax({
- data: createURL("command=deleteRemoteAccessVpn&publicipid="+ipObj.id+"&account="+ipObj.account+"&domainid="+ipObj.domainid+"&zoneid="+ipObj.zoneid),
- dataType: "json",
- success: function(json) {
- var jobId = json.deleteremoteaccessvpnresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
-
- if (result.jobstatus == 1) { // Succeeded
- $thisDialog.dialog("close");
- $vpnTab.find("#vpn_help").hide();
- $vpnTab.find("#enable_vpn_link").unbind("click").bind("click", function(event) {
- showEnableVPNDialog($vpnTab);
- });
- $vpnTab.find("#tab_container").hide();
- $vpnTab.find("#vpn_disabled_msg").show();
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = "We were unable to disable VPN access. Please contact support.";
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $thisDialog.find("#info_container").text(errorMsg).show();
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
- $actionMenu.find("#action_list").append($listItem.show());
-
- $listItem = $listItemTemplate.clone();
- $listItem.find("#link").text("Add VPN User");
- $listItem.bind("click", function(event) {
- $actionMenu.hide();
- $vpnDialog = $("#dialog_add_vpnuser");
- $vpnDialog.find("#username").val("");
- $vpnDialog.find("#password").val("");
- $("#dialog_add_vpnuser")
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- var isValid = true;
- isValid &= validateString("Username", $thisDialog.find("#username"), $thisDialog.find("#username_errormsg"));
- isValid &= validateString("Password", $thisDialog.find("#password"), $thisDialog.find("#password_errormsg"));
- if (!isValid) return;
-
- var username = todb($thisDialog.find("#username").val());
- var password = todb($thisDialog.find("#password").val());
-
- $spinningWheel = $thisDialog.find("#spinning_wheel").show();
- $.ajax({
- data: createURL("command=addVpnUser&username="+username+"&password="+password),
- dataType: "json",
- success: function(json) {
- var jobId = json.addvpnuserresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
-
- if (result.jobstatus == 1) { // Succeeded
- $thisDialog.dialog("close");
- $("#tab_content_vpn #grid_content").append(vpnUserJsonToTemplate(result.jobresult.vpnuser).fadeIn());
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = "We were unable to add user access to your VPN. Please contact support.";
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $thisDialog.find("#info_container").text(errorMsg).show();
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
- $actionMenu.find("#action_list").append($listItem.show());
-
- // Enable action menu for vpn
- var $actionLink = $vpnTab.find("#vpn_action_link");
- $actionLink.unbind("mouseover").bind("mouseover", function(event) {
- $(this).find("#vpn_action_menu").show();
- return false;
- });
- $actionLink.unbind("mouseout").bind("mouseout", function(event) {
- $(this).find("#vpn_action_menu").hide();
- return false;
- });
-
- $vpnTab.find("#vpn_help").show();
- enableDeleteUser();
- // List users
- $.ajax({
- data: createURL("command=listVpnUsers&account="+ipObj.account+"&domainid="+ipObj.domainid),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listvpnusersresponse.vpnuser;
- if(items != null && items.length > 0) {
- var $gridContent = $("#tab_content_vpn #grid_content").empty();
- for (var i = 0; i < items.length; i++) {
- $gridContent.append(vpnUserJsonToTemplate(items[i]).show());
- }
-
- //Enable delete user
-
- }
- }
- });
-}
-
-function enableDeleteUser() {
- $("#tab_content_vpn #grid_content").unbind("click").bind("click", function(event) {
- var target = $(event.target);
- var targetId = target.attr("id");
- if (targetId == "vpn_delete_user") {
- var id = target.data("id");
- var username = target.data("username");
- var account = target.data("account");
- var domainId = target.data("domainid");
- var params = [];
- params.push("&username="+username);
- params.push("&account="+account);
- params.push("&domainid="+domainId);
- var $thisDialog = $("#dialog_confirmation_remove_vpnuser");
- $thisDialog.find("#username").text(target.data("username"));
- $thisDialog.dialog('option', 'buttons', {
- "Ok": function() {
- $thisDialog.find("#info_container").hide();
- $spinningWheel = $thisDialog.find("#spinning_wheel").show();
- $.ajax({
- data: createURL("command=removeVpnUser"+params.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.removevpnuserresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
-
- if (result.jobstatus == 1) { // Succeeded
- $thisDialog.dialog("close");
-
- //remove user from grid
- $("#right_panel_content #tab_content_vpn").find("#vpnuser"+id).slideUp();
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = "We were unable to add user access to your VPN. Please contact support.";
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $thisDialog.find("#info_container").text(errorMsg).show();
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- }
- return false;
- });
-}
-
-
-var vpnItem = 1;
-function vpnUserJsonToTemplate(json) {
- var $template = $("#vpn_template").clone();
- if (vpnItem++ % 2 == 0) $template.removeClass("odd").addClass("even");
- $template.find("#username").text(json.username);
- $template.attr("id", "vpnuser"+json.id);
- $template.find("#vpn_delete_user").data("id", json.id).data("username", json.username).data("account", json.account).data("domainid", json.domainid);
- return $template;
-}
-
-function ipClearRightPanel() {
- ipClearDetailsTab();
- ipClearPortForwardingTab();
- ipClearLoadBalancerTab();
-}
-
-//***** Details tab (begin) ****************************************************************************************************************
-function ipJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- ipClearDetailsTab()
- return;
- }
-
- var ipObj = $midmenuItem1.data("jsonObj");
- if(ipObj == null) {
- ipClearDetailsTab()
- return;
- }
-
- var networkObj = $midmenuItem1.data("networkObj");
-
- var publicipid = ipObj.id;
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
-
- var cmd;
- if(g_supportELB == "guest") {
- cmd = "command=listPublicIpAddresses&forvirtualnetwork=false&id="+publicipid;
- }
- else if(g_supportELB == "public") {
- cmd = "command=listPublicIpAddresses&forvirtualnetwork=true&id="+publicipid;
- }
- else { //g_supportELB == "false"
- cmd = "command=listPublicIpAddresses&id="+publicipid;
- }
-
- $.ajax({
- data: createURL(cmd),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listpublicipaddressesresponse.publicipaddress;
- if(items != null && items.length > 0) {
- ipObj = items[0];
- $midmenuItem1.data("jsonObj", ipObj);
- }
- }
- });
-
- $thisTab.find("#grid_header_title").text(fromdb(ipObj.ipaddress));
- $thisTab.find("#id").text(fromdb(ipObj.id));
- $thisTab.find("#ipaddress").text(fromdb(ipObj.ipaddress));
- $thisTab.find("#zonename").text(fromdb(ipObj.zonename));
- $thisTab.find("#state").text(fromdb(ipObj.state));
- $thisTab.find("#vlanname").text(fromdb(ipObj.vlanname));
- setBooleanReadField(ipObj.issourcenat, $thisTab.find("#source_nat"));
- setNetworkTypeField(ipObj.forvirtualnetwork, $thisTab.find("#network_type"));
- $thisTab.find("#networkid").text(fromdb(ipObj.networkid));
- $thisTab.find("#associatednetworkid").text(fromdb(ipObj.associatednetworkid));
- $thisTab.find("#domain").text(fromdb(ipObj.domain));
- $thisTab.find("#account").text(fromdb(ipObj.account));
- $thisTab.find("#allocated").text(fromdb(ipObj.allocated));
-
- setBooleanReadField(ipObj.isstaticnat, $thisTab.find("#static_nat"));
-
- if(ipObj.isstaticnat == true) {
- $thisTab.find("#vm_of_static_nat").text(getVmName(ipObj.virtualmachinename, ipObj.virtualmachinedisplayname));
- $thisTab.find("#vm_of_static_nat_container").show();
- }
- else {
- $thisTab.find("#vm_of_static_nat").text("");
- $thisTab.find("#vm_of_static_nat_container").hide();
- }
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- if(isIpManageable(ipObj.domainid, ipObj.account) == true) {
- ipPopulateVMarray(ipObj); //popoulate VM array
- var $vmSelect = $("#dialog_enable_static_NAT").find("#vm_dropdown").empty();
- ipPopulateVMDropdown($vmSelect);
-
- if(ipObj.isstaticnat == true) {
- buildActionLinkForTab("label.action.disable.static.NAT", ipActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.release.ip", ipActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- } else {
- if(ipObj.issourcenat != true) {
- if(networkObj != null) {
- var firewallServiceObj = ipFindNetworkServiceByName("Firewall", networkObj);
- if(firewallServiceObj != null) {
- var staticNatCapabilityObj = ipFindCapabilityByName("StaticNat", firewallServiceObj);
- if(staticNatCapabilityObj != null) {
- if(staticNatCapabilityObj.value == "true")
- buildActionLinkForTab("label.action.enable.static.NAT", ipActionMap, $actionMenu, $midmenuItem1, $thisTab);
- }
- }
- }
-
- buildActionLinkForTab("label.action.release.ip", ipActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- }
- }
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function ipClearDetailsTab() {
- var $thisTab = $("#right_panel_content #tab_content_details");
-
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#id").text("");
- $thisTab.find("#ipaddress").text("");
- $thisTab.find("#zonename").text("");
- $thisTab.find("#state").text("");
- $thisTab.find("#vlanname").text("");
- $thisTab.find("#source_nat").text("");
- $thisTab.find("#network_type").text("");
- $thisTab.find("#networkid").text("");
- $thisTab.find("#associatednetworkid").text("");
- $thisTab.find("#domain").text("");
- $thisTab.find("#account").text("");
- $thisTab.find("#allocated").text("");
- $thisTab.find("#static_nat").text("");
- $thisTab.find("#vm_of_static_nat").text("");
-
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-function setNetworkTypeField(value, $field) {
- if(value == true)
- $field.text("Public");
- else if(value == false)
- $field.text("Direct");
- else
- $field.text("");
-}
-
-var ipActionMap = {
- "label.action.release.ip": {
- isAsyncJob: true,
- asyncJobResponse: "disassociateipaddressresponse",
- dialogBeforeActionFn : doReleaseIp,
- inProcessText: "label.action.release.ip.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- ipClearRightPanel();
- }
- }
- },
- "label.action.enable.static.NAT": {
- isAsyncJob: false,
- dialogBeforeActionFn: doEnableStaticNAT,
- inProcessText: "label.action.enable.static.NAT.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- $.ajax({
- data: createURL("command=listPublicIpAddresses&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listpublicipaddressesresponse.publicipaddress;
- if(items != null && items.length > 0) {
- ipToMidmenu(items[0], $midmenuItem1);
- }
- }
- });
- }
- }
- },
- "label.action.disable.static.NAT": {
- isAsyncJob: true,
- asyncJobResponse: "disablestaticnatresponse",
- dialogBeforeActionFn: doDisableStaticNAT,
- inProcessText: "label.action.disable.static.NAT.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- $.ajax({
- data: createURL("command=listPublicIpAddresses&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listpublicipaddressesresponse.publicipaddress;
- if(items != null && items.length > 0) {
- ipToMidmenu(items[0], $midmenuItem1);
- }
- }
- });
- }
- }
- }
-}
-
-function doReleaseIp($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.release.ip"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=disassociateIpAddress&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doEnableStaticNAT($actionLink, $detailsTab, $midmenuItem1) {
- var ipObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_enable_static_NAT")
- .dialog('option', 'buttons', {
- "Confirm": function() {
- var $thisDialog = $(this);
-
- //validate
- var vmId = $thisDialog.find("#vm_dropdown").val();
- if(vmId == null || vmId.length == 0)
- return;
-
- $thisDialog.dialog("close");
-
- var apiCommand = "command=enableStaticNat&ipaddressid="+ipObj.id+"&virtualmachineid="+vmId;
- doActionToTab(ipObj.id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDisableStaticNAT($actionLink, $detailsTab, $midmenuItem1) {
- var ipObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.disable.static.NAT"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var apiCommand = "command=disableStaticNat&ipaddressid="+ipObj.id;
- doActionToTab(ipObj.id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-//***** Details tab (end) ******************************************************************************************************************
-
-function ipSetRuleState(stateValue, $stateField) {
- $stateField.text(stateValue);
- if(stateValue == "Active") //green
- $stateField.removeClass("status_red status_gray").addClass("status_green");
- else if(stateValue == "Deleting") //red
- $stateField.removeClass("status_green status_gray").addClass("status_red");
- else //gray
- $stateField.removeClass("status_red status_green").addClass("status_gray");
-}
-
-//***** Firewall tab (begin) ********************************************************************************************************
-function ipClearFirewallTab() {
- $("#tab_firewall #grid_content").empty();
- refreshCreateFirewallRow();
-}
-
-function firewallJsonToTemplate(jsonObj, $template) {
- $template.attr("id", "firewall_" + fromdb(jsonObj.id)).data("firewallId", fromdb(jsonObj.id));
- $template.find("#row_container #cidr").text(fromdb(jsonObj.cidrlist));
- $template.find("#row_container #start_port").text(fromdb(jsonObj.startport));
- $template.find("#row_container #end_port").text(fromdb(jsonObj.endport));
- $template.find("#row_container #protocol").text(fromdb(jsonObj.protocol));
- $template.find("#row_container #ICMP_type").text(fromdb(jsonObj.icmptype));
- $template.find("#row_container #ICMP_code").text(fromdb(jsonObj.icmpcode));
-
- $template.find("#delete_link").unbind("click").bind("click", function(event){
- var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
- $spinningWheel.find("#description").text(g_dictionary["label.deleting.processing"]);
- $spinningWheel.show();
-
- $.ajax({
- data: createURL("command=deleteFirewallRule&id="+fromdb(jsonObj.id)),
- dataType: "json",
- success: function(json) {
- var jobId = json.deletefirewallruleresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- } else if (result.jobstatus == 2) { // Failed
- var errorMsg = g_dictionary["label.deleting.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_error").text(errorMsg).dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- handleError(XMLHttpResponse);
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- $spinningWheel.hide();
- handleError(XMLHttpResponse);
- }
- });
-
- return false;
- });
-}
-
-function refreshCreateFirewallRow() {
- var $createFirewallRow = $("#tab_content_firewall").find("#create_firewall_row");
- $createFirewallRow.find("#cidr").val("");
- $createFirewallRow.find("#start_port").val("");
- $createFirewallRow.find("#end_port").val("");
- $createFirewallRow.find("#ICMP_type").val("");
- $createFirewallRow.find("#ICMP_code").val("");
- $createFirewallRow.find("#protocol").change();
-}
-
-//***** Firewall tab (end) **********************************************************************************************************
-
-//***** Port Range tab (begin) ********************************************************************************************************
-function ipClearPortRangeTab() {
- $("#tab_content_port_range #grid_content").empty();
- refreshCreatePortRangeRow();
-}
-
-function portRangeJsonToTemplate(jsonObj, $template) {
- $template.attr("id", "PortRange_" + fromdb(jsonObj.id)).data("PortRangeId", fromdb(jsonObj.id));
- $template.find("#row_container #start_port").text(fromdb(jsonObj.startport));
- $template.find("#row_container #end_port").text(fromdb(jsonObj.endport));
- $template.find("#row_container #protocol").text(fromdb(jsonObj.protocol));
- ipSetRuleState(fromdb(jsonObj.state), $template.find("#row_container #state"));
-
- $template.find("#delete_link").unbind("click").bind("click", function(event){
- var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
- $spinningWheel.find("#description").text(g_dictionary["label.deleting.processing"]);
- $spinningWheel.show();
-
- $.ajax({
- data: createURL("command=deleteIpForwardingRule&id="+fromdb(jsonObj.id)),
- dataType: "json",
- success: function(json) {
- var jobId = json.deleteipforwardingruleresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- } else if (result.jobstatus == 2) { // Failed
- var errorMsg = g_dictionary["label.deleting.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_error").text(errorMsg).dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- handleError(XMLHttpResponse);
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- $spinningWheel.hide();
- handleError(XMLHttpResponse);
- }
- });
-
- return false;
- });
-}
-
-function refreshCreatePortRangeRow() {
- var $createPortRangeRow = $("#create_port_range_row");
- $createPortRangeRow.find("#start_port").val("");
- $createPortRangeRow.find("#end_port").val("");
-}
-
-//***** Port Range tab (end) **********************************************************************************************************
-
-//***** Port Forwarding tab (begin) ********************************************************************************************************
-function ipClearPortForwardingTab() {
- $("#tab_content_port_forwarding #grid_content").empty();
- refreshCreatePortForwardingRow();
-}
-
-function portForwardingJsonToTemplate(jsonObj, $template) {
- $template.attr("id", "portForwarding_" + fromdb(jsonObj.id)).data("portForwardingId", fromdb(jsonObj.id));
-
- var publicPort = fromdb(jsonObj.publicport);
- if(jsonObj.publicendport != null && jsonObj.publicendport.length > 0)
- publicPort += (" - " + fromdb(jsonObj.publicendport));
- $template.find("#public_port").text(publicPort);
-
- var privatePort = fromdb(jsonObj.privateport);
- if(jsonObj.privateendport != null && jsonObj.privateendport.length > 0)
- privatePort += (" - " + fromdb(jsonObj.privateendport));
- $template.find("#private_port").text(privatePort);
-
- $template.find("#protocol").text(fromdb(jsonObj.protocol));
-
- var vmName = getVmName(jsonObj.virtualmachinename, jsonObj.virtualmachinedisplayname);
- $template.find("#vm_name").text(vmName);
- var virtualMachineId = fromdb(jsonObj.virtualmachineid);
-
- ipSetRuleState(fromdb(jsonObj.state), $template.find("#state"));
-
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
- var ipObj = $midmenuItem1.data("jsonObj");
- if(ipObj == null)
- return;
- var ipAddress = fromdb(ipObj.ipaddress);
-
- $template.find("#delete_link").unbind("click").bind("click", function(event){
- var $spinningWheel = $template.find("#spinning_wheel");
- $spinningWheel.find("#description").text(g_dictionary["label.deleting.processing"]);
- $spinningWheel.show();
-
- $.ajax({
- data: createURL("command=deletePortForwardingRule&id="+fromdb(jsonObj.id)),
- dataType: "json",
- success: function(json) {
- var jobId = json.deleteportforwardingruleresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- $template.slideUp("slow", function() {
- $(this).remove();
- });
- } else if (result.jobstatus == 2) { // Failed
- var errorMsg = g_dictionary["label.deleting.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_error").text(errorMsg).dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- handleError(XMLHttpResponse);
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- $spinningWheel.hide();
- handleError(XMLHttpResponse);
- }
- });
-
- return false;
- });
-}
-
-function refreshCreatePortForwardingRow() {
- var $createPortForwardingRow = $("#create_port_forwarding_row");
- $createPortForwardingRow.find("#public_port").val("");
- $createPortForwardingRow.find("#public_end_port").val("");
- $createPortForwardingRow.find("#private_port").val("");
- $createPortForwardingRow.find("#private_end_port").val("");
-
- var $vmSelect = $createPortForwardingRow.find("#vm").empty();
- ipPopulateVMDropdown($vmSelect);
-}
-
-var runningVMs, stoppedVMs;
-function ipPopulateVMarray(ipObj) {
- var commandString = "command=listVirtualMachines&domainid="+ipObj.domainid+"&account="+ipObj.account+"&networkid="+ipObj.associatednetworkid;
-
- $.ajax({
- data: createURL(commandString+"&state=Running"),
- dataType: "json",
- async: false,
- success: function(json) {
- runningVMs = json.listvirtualmachinesresponse.virtualmachine;
- }
- });
-
- $.ajax({
- data: createURL(commandString+"&state=Stopped"),
- dataType: "json",
- async: false,
- success: function(json) {
- stoppedVMs = json.listvirtualmachinesresponse.virtualmachine;
- }
- });
-}
-
-function ipPopulateVMDropdown($vmSelect) {
- if (runningVMs != null && runningVMs.length > 0) {
- for (var i = 0; i < runningVMs.length; i++) {
- var html = $("" + getVmName(runningVMs[i].name, runningVMs[i].displayname) + " ");
- $vmSelect.append(html);
- }
- }
- if (stoppedVMs != null && stoppedVMs.length > 0) {
- for (var i = 0; i < stoppedVMs.length; i++) {
- var html = $("" + getVmName(stoppedVMs[i].name, stoppedVMs[i].displayname) + " ");
- $vmSelect.append(html);
- }
- }
-}
-//***** Port Forwarding tab (end) **********************************************************************************************************
-
-
-//***** Load Balancer tab (begin) **********************************************************************************************************
-function ipClearLoadBalancerTab() {
- $("#tab_content_load_balancer #grid_content").empty();
- refreshCreateLoadBalancerRow();
-}
-
-function loadBalancerJsonToTemplate(jsonObj, $template) {
- var loadBalancerId = fromdb(jsonObj.id);
- $template.attr("id", "loadBalancer_" + loadBalancerId).data("loadBalancerId", loadBalancerId);
-
- $template.find("#row_container #name").text(fromdb(jsonObj.name));
- $template.find("#row_container_edit #name").val(fromdb(jsonObj.name));
-
- $template.find("#row_container #public_port").text(fromdb(jsonObj.publicport));
- $template.find("#row_container_edit #public_port").text(fromdb(jsonObj.publicport));
-
- $template.find("#row_container #private_port").text(fromdb(jsonObj.privateport));
- $template.find("#row_container_edit #private_port").text(fromdb(jsonObj.privateport));
-
- $template.find("#row_container #algorithm").text(fromdb(jsonObj.algorithm));
- $template.find("#row_container_edit #algorithm_select").val(fromdb(jsonObj.algorithm));
-
- ipSetRuleState(fromdb(jsonObj.state), $template.find("#row_container #state"));
-
- $template.find("#manage_link").unbind("click").bind("click", function(event){
- var $managementArea = $template.find("#management_area");
- var $vmSubgrid = $managementArea.find("#subgrid_content");
- if($managementArea.css("display") == "none") {
- $vmSubgrid.empty();
- $.ajax({
- cache: false,
- data: createURL("command=listLoadBalancerRuleInstances&id="+loadBalancerId+"&applied=true"),
- dataType: "json",
- success: function(json) {
- var instances = json.listloadbalancerruleinstancesresponse.loadbalancerruleinstance;
- if (instances != null && instances.length > 0) {
- for (var i = 0; i < instances.length; i++) {
- var $lbVmTemplate = $("#load_balancer_vm_template").clone();
- var obj = {"loadBalancerId": loadBalancerId, "vmId": instances[i].id, "vmName": getVmName(instances[i].name, instances[i].displayname), "vmPrivateIp": instances[i].ipaddress};
- lbVmObjToTemplate(obj, $lbVmTemplate);
- $vmSubgrid.append($lbVmTemplate.show());
- }
- }
- }
- });
- $managementArea.show();
- }
- else {
- $managementArea.hide();
- }
- return false;
- });
-
- var $rowContainer = $template.find("#row_container");
- var $rowContainerEdit = $template.find("#row_container_edit");
-
- $template.find("#delete_link").unbind("click").bind("click", function(event){
- var $managementArea = $template.find("#management_area");
- if($managementArea.css("display") != "none")
- $managementArea.hide();
-
- var $spinningWheel = $template.find("#row_container").find("#spinning_wheel");
- $spinningWheel.find("#description").text(g_dictionary["label.deleting.processing"]);
- $spinningWheel.show();
-
- $.ajax({
- data: createURL("command=deleteLoadBalancerRule&id="+loadBalancerId),
- dataType: "json",
- success: function(json) {
- var jobId = json.deleteloadbalancerruleresponse.jobid;
- var timerKey = "deleteLoadBalancerRuleJob_"+jobId;
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- var total_lbrules = $("#tab_content_load_balancer").find("#grid_content").find(".grid_rows").length;
- $template.slideUp("slow", function() {
- $(this).remove();
-
- if(g_supportELB == "guest" || g_supportELB == "public") {
- var count_lb = $("div[id*='loadBalancer_']").length;
- if(count_lb == 0) {
- var params = $("#middle_menu_pagination").data("params");
- if(params == null)
- return;
- listMidMenuItems2(params.commandString, params.getSearchParamsFn, params.jsonResponse1, params.jsonResponse2, params.toMidmenuFn, params.toRightPanelFn, params.getMidmenuIdFn, params.isMultipleSelectionInMidMenu, 1);
- if($("div[id*='midmenuItem_']").length == 0)
- $("#tab_content_load_balancer").hide();
- }
- }
- });
- } else if (result.jobstatus == 2) { // Failed
- var errorMsg = g_dictionary["label.deleting.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_error").text(errorMsg).dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- handleError(XMLHttpResponse);
- }
- });
- },
- 0
- );
- }
- ,
- error: function(XMLHttpResponse) {
- $spinningWheel.hide();
- handleError(XMLHttpResponse);
- }
- });
- return false;
- });
-
- $template.find("#edit_link").unbind("click").bind("click", function(event){
- $rowContainer.hide();
- $rowContainerEdit.show();
- });
-
- $template.find("#cancel_link").unbind("click").bind("click", function(event){
- $rowContainer.show();
- $rowContainerEdit.hide();
- });
-
- $template.find("#save_link").unbind("click").bind("click", function(event){
- var isValid = true;
- isValid &= validateString("Name", $rowContainerEdit.find("#name"), $rowContainerEdit.find("#name_errormsg"));
- if (!isValid)
- return;
-
- var $spinningWheel = $template.find("#row_container_edit").find("#spinning_wheel");
- $spinningWheel.find("#description").text(g_dictionary["label.saving.processing"]);
- $spinningWheel.show();
-
- var name = $rowContainerEdit.find("#name").val();
- var algorithm = $rowContainerEdit.find("#algorithm_select").val();
-
- var array1 = [];
- array1.push("&id=" + loadBalancerId);
- array1.push("&name=" + name);
- array1.push("&algorithm=" + algorithm);
-
- $.ajax({
- data: createURL("command=updateLoadBalancerRule"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.updateloadbalancerruleresponse.jobid;
- var timerKey = "updateloadbalancerruleJob"+jobId;
-
- $("body").everyTime(2000, timerKey, function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- if (result.jobstatus == 1) { // Succeeded
- var item = result.jobresult.loadbalancer;
- loadBalancerJsonToTemplate(item,$template);
- $spinningWheel.hide();
- $rowContainerEdit.hide();
- $rowContainer.show();
- } else if (result.jobstatus == 2) { //Fail
- $spinningWheel.hide();
- $rowContainerEdit.hide();
- $rowContainer.show();
- //var errorMsg = g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_alert").text(errorMsg).dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- $rowContainerEdit.hide();
- $rowContainer.show();
- handleError(XMLHttpResponse);
- }
- });
- }, 0);
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse);
- $spinningWheel.hide();
- $rowContainerEdit.hide();
- $rowContainer.show();
- }
- });
- });
-
- refreshLbVmSelect($template, jsonObj.id);
-
- $template.find("#add_vm_to_lb_row #assign_link").unbind("click").bind("click", function(event){
- var vmOption = $template.find("#add_vm_to_lb_row #vm_select option:selected");
- var vmId = vmOption.val();
- var vmName = vmOption.data("vmName");
- var vmPrivateIp = vmOption.data("vmPrivateIp");
- if(vmId == null || vmId.length == 0)
- return;
-
- var $spinningWheel = $template.find("#add_vm_to_lb_row #spinning_wheel");
- $spinningWheel.show();
-
- $.ajax({
- data: createURL("command=assignToLoadBalancerRule&id="+loadBalancerId+"&virtualmachineids="+vmId),
- dataType: "json",
- success: function(json) {
- var lbInstanceJSON = json.assigntoloadbalancerruleresponse;
- var jobId = lbInstanceJSON.jobid;
- var timerKey = "assignToLoadBalancerRuleJob_"+jobId;
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- if (result.jobstatus == 1) { // Succeeded
- var $lbVmTemplate = $("#load_balancer_vm_template").clone();
- var obj = {"loadBalancerId": loadBalancerId, "vmId": vmId, "vmName": vmName, "vmPrivateIp": vmPrivateIp};
- lbVmObjToTemplate(obj, $lbVmTemplate);
- $template.find("#management_area #subgrid_content").append($lbVmTemplate.show());
- refreshLbVmSelect($template, loadBalancerId);
- $spinningWheel.hide();
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_error").text(errorMsg).dialog("open");
- $spinningWheel.hide();
- }
- }
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse);
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse);
- $spinningWheel.hide();
- }
- });
- return false;
- });
-}
-
-function refreshCreateLoadBalancerRow() {
- var createLoadBalancerRow = $("#tab_content_load_balancer #create_load_balancer_row");
- createLoadBalancerRow.find("#name").val("");
- createLoadBalancerRow.find("#public_port").val("");
- createLoadBalancerRow.find("#private_port").val("");
- createLoadBalancerRow.find("#algorithm_select").val("roundrobin");
-}
-
-
-function lbVmObjToTemplate(obj, $template) {
- $template.find("#vm_name").text(obj.vmName);
- $template.find("#vm_private_ip").text(fromdb(obj.vmPrivateIp));
-
- $template.find("#remove_link").bind("click", function(event){
- var $spinningWheel = $template.find("#spinning_wheel");
- $spinningWheel.show();
- $.ajax({
- data: createURL("command=removeFromLoadBalancerRule&id="+fromdb(obj.loadBalancerId)+"&virtualmachineids="+fromdb(obj.vmId)),
- dataType: "json",
- success: function(json) {
- var lbJSON = json.removefromloadbalancerruleresponse;
- var jobId = lbJSON.jobid;
- var timerKey = "removeFromLoadBalancerRuleJob_"+jobId;
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- if (result.jobstatus == 1) { // Succeeded
- refreshLbVmSelect($("#loadBalancer_" + obj.loadBalancerId), obj.loadBalancerId);
- $template.fadeOut("slow", function(event) {
- $(this).remove();
- });
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $("#dialog_error").text(errorMsg).dialog("open");
- $spinningWheel.hide();
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse);
- $spinningWheel.hide();
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse);
- $spinningWheel.hide();
- }
- });
- return false;
- });
-}
-
-function refreshLbVmSelect($template, loadBalancerId) {
- var vmSelect = $template.find("#add_vm_to_lb_row #vm_select");
- // Load the select box with the VMs that haven't been applied a LB rule to.
- $.ajax({
- cache: false,
- data: createURL("command=listLoadBalancerRuleInstances&id="+loadBalancerId+"&applied=false"),
- dataType: "json",
- success: function(json) {
- var instances = json.listloadbalancerruleinstancesresponse.loadbalancerruleinstance;
- vmSelect.empty();
- if (instances != null && instances.length > 0) {
- for (var i = 0; i < instances.length; i++) {
- var vmName = getVmName(instances[i].name, instances[i].displayname);
- html = $("" + vmName + " ");
- html.data("vmPrivateIp", instances[i].ipaddress);
- html.data("vmName", vmName);
- vmSelect.append(html);
- }
- } else {
- vmSelect.append("None Available ");
- }
- }
- });
-}
-
-//***** Load Balancer tab (end) ************************************************************************************************************
diff --git a/ui/old/scripts/cloud.core.iso.js b/ui/old/scripts/cloud.core.iso.js
deleted file mode 100644
index e8a46405dc0..00000000000
--- a/ui/old/scripts/cloud.core.iso.js
+++ /dev/null
@@ -1,922 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-var xsToolsIsoId = 200;
-
-var g_zoneIds = [];
-var g_zoneNames = [];
-
-function isoGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneId="+zone);
-
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- if ($advancedSearchPopup.find("#adv_search_account_li").css("display") != "none"
- && $advancedSearchPopup.find("#adv_search_account").hasClass("textwatermark") == false) {
- var account = $advancedSearchPopup.find("#adv_search_account").val();
- if (account!=null && account.length > 0)
- moreCriteria.push("&account="+account);
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadIsoJSP() {
- initDialog("dialog_copy_iso", 300);
- initDialog("dialog_download_ISO");
-
- initAddIsoDialog();
- initCreateVmFromIsoDialog();
-
- var $detailsTab = $("#tab_content_details");
- if(isAdmin()) {
- $readonlyFields = $detailsTab.find("#name, #displaytext, #ispublic, #ostypename, #isfeatured");
- $editFields = $detailsTab.find("#name_edit, #displaytext_edit, #ispublic_edit, #ostypename_edit, #isfeatured_edit");
- }
- else {
- if (getUserPublicTemplateEnabled() == "true") {
- $readonlyFields = $detailsTab.find("#name, #displaytext, #ispublic, #ostypename");
- $editFields = $detailsTab.find("#name_edit, #displaytext_edit, #ispublic_edit, #ostypename_edit");
- } else {
- $readonlyFields = $detailsTab.find("#name, #displaytext, #ostypename");
- $editFields = $detailsTab.find("#name_edit, #displaytext_edit, #ostypename_edit");
- }
- }
-}
-
-function initAddIsoDialog() {
- initDialog("dialog_add_iso", 450);
-
- var $dialogAddIso = $("#dialog_add_iso");
- var $detailsTab = $("#right_panel_content").find("#tab_content_details");
-
- if(isAdmin())
- $dialogAddIso.find("#isfeatured_container").show();
- else
- $dialogAddIso.find("#isfeatured_container").hide();
-
- var addIsoZoneField = $dialogAddIso.find("#add_iso_zone");
- if (isAdmin())
- addIsoZoneField.append("All Zones ");
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- success: function(json) {
- g_zoneIds = [];
- g_zoneNames = [];
- var zones = json.listzonesresponse.zone;
- if (zones != null && zones.length > 0) {
- for (var i = 0; i < zones.length; i++) {
- addIsoZoneField.append("" + fromdb(zones[i].name) + " ");
- g_zoneIds.push(zones[i].id);
- g_zoneNames.push(zones[i].name);
- }
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listOsTypes"),
- dataType: "json",
- async: false,
- success: function(json) {
- var osTypeDropDownAdd = $dialogAddIso.find("#add_iso_os_type").empty();
- var osTypeDropdownEdit = $detailsTab.find("#ostypename_edit").empty();
-
- var html = "" + g_dictionary["label.none"] + " ";
- osTypeDropDownAdd.append(html);
- //osTypeDropdownEdit.append(html); //OSType is required for ISO. So, shouldn't provide "none" option when updating ISO.
-
- types = json.listostypesresponse.ostype;
- if (types != null && types.length > 0) {
- for (var i = 0; i < types.length; i++) {
- var html = "" + fromdb(types[i].description) + " ";
- osTypeDropDownAdd.append(html);
- osTypeDropdownEdit.append(html);
- }
- }
- }
- });
-
- $dialogAddIso.find("#add_iso_bootable").unbind("change").bind("change", function(event) {
- if($(this).val() == "true") {
- $dialogAddIso.find("#add_iso_os_type_container").show();
- }
- else { //$(this).val() == "false"
- $dialogAddIso.find("#add_iso_os_type_container").hide();
- $dialogAddIso.find("#add_iso_os_type").val(""); //set OS Type back to "None"
- }
-
- return false;
- });
-
- //add button ***
- $("#add_iso_button").unbind("click").bind("click", function(event) {
- if (getUserPublicTemplateEnabled() == "true" || isAdmin()) {
- $("#dialog_add_iso #add_iso_public_container").show();
- }
-
- $dialogAddIso
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#add_iso_name"), $thisDialog.find("#add_iso_name_errormsg"));
- isValid &= validateString("Display Text", $thisDialog.find("#add_iso_display_text"), $thisDialog.find("#add_iso_display_text_errormsg"));
- isValid &= validateString("URL", $thisDialog.find("#add_iso_url"), $thisDialog.find("#add_iso_url_errormsg"));
- if($thisDialog.find("#add_iso_bootable").val() == "true")
- isValid &= validateDropDownBox("OS Type", $thisDialog.find("#add_iso_os_type"), $thisDialog.find("#add_iso_os_type_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
-
- var array1 = [];
- var name = $thisDialog.find("#add_iso_name").val();
- array1.push("&name="+todb(name));
-
- var desc = $thisDialog.find("#add_iso_display_text").val();
- array1.push("&displayText="+todb(desc));
-
- var url = $thisDialog.find("#add_iso_url").val();
- array1.push("&url="+todb(url));
-
- var zoneId = $thisDialog.find("#add_iso_zone").val();
- array1.push("&zoneId="+zoneId);
-
- var isextractable = $thisDialog.find("#isextractable").val();
- array1.push("&isextractable="+isextractable);
-
- var isPublic = $thisDialog.find("#add_iso_public").val();
- array1.push("&isPublic="+isPublic);
-
- var bootable = $thisDialog.find("#add_iso_bootable").val();
- array1.push("&bootable="+bootable);
-
- var osType = $thisDialog.find("#add_iso_os_type").val();
- if(osType != null && osType.length > 0)
- array1.push("&osTypeId="+osType);
-
- if($thisDialog.find("#isfeatured_container").css("display") != "none") {
- var isFeatured = $thisDialog.find("#isfeatured").val();
- array1.push("&isfeatured="+isFeatured);
- }
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
-
- $.ajax({
- data: createURL("command=registerIso"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var items = json.registerisoresponse.iso;
- isoToMidmenu(items[0], $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, isoToRightPanel, isoGetMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
-
- if(items.length > 1) {
- for(var i=1; i 0 ) {
- var serviceOfferingField = $dialogCreateVmFromIso.find("#service_offering").empty();
- for(var i = 0; i < items.length; i++)
- serviceOfferingField.append("" + fromdb(items[i].name) + " ");
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listDiskOfferings"),
- dataType: "json",
- success: function(json) {
- var items = json.listdiskofferingsresponse.diskoffering;
- if(items != null && items.length > 0 ) {
- var diskOfferingField = $dialogCreateVmFromIso.find("#disk_offering").empty();
- for(var i = 0; i < items.length; i++) {
- var $option = $("" + fromdb(items[i].name) + " ");
- $option.data("jsonObj", items[i]);
- diskOfferingField.append($option);
- }
- $dialogCreateVmFromIso.find("#disk_offering").change();
- }
-
- }
- });
-
- $dialogCreateVmFromIso.find("#disk_offering").bind("change", function(event) {
- var jsonObj = $(this).find("option:selected").data("jsonObj");
- if(jsonObj != null && jsonObj.isCustomized == true) { //jsonObj is null when "No disk offering " is selected
- $dialogCreateVmFromIso.find("#size_container").show();
- }
- else {
- $dialogCreateVmFromIso.find("#size_container").hide();
- $dialogCreateVmFromIso.find("#size").val("");
- }
- });
-}
-
-function isoGetMidmenuId(jsonObj) {
- return "midmenuItem_" + jsonObj.id + "_z" + jsonObj.zoneid; //remove all spaces in zonename
-}
-
-function isoToMidmenu(jsonObj, $midmenuItem1) {
- var id = isoGetMidmenuId(jsonObj);
- $midmenuItem1.attr("id", id);
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_iso.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.zonename);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function isoToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- isoJsonToDetailsTab();
-}
-
-function isoJsonToDetailsTab() {
- var timerKey = "isoDownloadProgress";
- $("body").stopTime(timerKey); //stop timer on previously selected middle menu item in ISO page
-
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- isoClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- isoClearDetailsTab();
- return;
- }
-
- var strCmd = "command=listIsos&isofilter=self&id="+jsonObj.id;
- if(jsonObj.zoneid != null)
- strCmd = strCmd + "&zoneid="+jsonObj.zoneid;
-
- var itemExists = true;
- $.ajax({
- data: createURL(strCmd),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listisosresponse.iso;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- else {
- itemExists = false;
- }
- }
- ,
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- itemExists = false;
- });
- }
- });
- if(itemExists == false)
- return;
-
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#zoneid").text(fromdb(jsonObj.zoneid));
-
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#name_edit").val(fromdb(jsonObj.name));
-
- $thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
- $thisTab.find("#displaytext_edit").val(fromdb(jsonObj.displaytext));
- $thisTab.find("#ostypename").text(fromdb(jsonObj.ostypename));
- $thisTab.find("#ostypename_edit").val(fromdb(jsonObj.ostypeid));
- $thisTab.find("#account").text(fromdb(jsonObj.account));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
-
-
- //refresh status field every 2 seconds if ISO is in download progress
-
- if(jsonObj.isready == true){
- setTemplateStateInRightPanel("Ready", $thisTab.find("#status"));
- $("#progressbar_container").hide();
- }
- else if(jsonObj.status == null || jsonObj.status == "" || jsonObj.status.indexOf("%") != -1) { //ISO is downloading....
- $("#progressbar_container").show();
- setTemplateStateInRightPanel(fromdb(jsonObj.status), $thisTab.find("#status"));
- var progressBarValue = 0;
- if(jsonObj.status != null && jsonObj.status.indexOf("%") != -1) { //e.g. jsonObj.status == "95% Downloaded"
- var s = jsonObj.status.substring(0, jsonObj.status.indexOf("%")); //e.g. s == "95"
- if(isNaN(s) == false) {
- progressBarValue = parseInt(s); //e.g. progressBarValue == 95
- }
- }
- $("#progressbar").progressbar({
- value: progressBarValue //e.g. progressBarValue == 95
- });
-
- $("body").everyTime(
- 2000,
- timerKey,
- function() {
- isoRefreshStatusDownloadProgress(jsonObj, $thisTab, $midmenuItem1, timerKey);
- }
- )
- }
- else { //error status
- setTemplateStateInRightPanel(fromdb(jsonObj.status), $thisTab.find("#status"));
- $("#progressbar_container").hide();
- }
-
- if(jsonObj.size != null)
- $thisTab.find("#size").text(convertBytes(parseInt(jsonObj.size)));
- else
- $thisTab.find("#size").text("");
-
- setBooleanReadField(jsonObj.bootable, $thisTab.find("#bootable"));
-
- setBooleanReadField(jsonObj.isextractable, $thisTab.find("#isextractable"));
-
- setBooleanReadField(jsonObj.ispublic, $thisTab.find("#ispublic"));
- setBooleanEditField(jsonObj.ispublic, $thisTab.find("#ispublic_edit"));
-
- setBooleanReadField(jsonObj.isfeatured, $thisTab.find("#isfeatured"));
- setBooleanEditField(jsonObj.isfeatured, $thisTab.find("#isfeatured_edit"));
-
- setBooleanReadField(jsonObj.crossZones, $thisTab.find("#crossZones"));
- setDateField(jsonObj.created, $thisTab.find("#created"));
-
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- // "Edit ISO", "Copy ISO"
- //if ((isUser() && jsonObj.ispublic == true && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account))
- if ((isAdmin() == false && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)) //if neither root-admin, nor item owner
- || (jsonObj.isready == false)
- || (jsonObj.domainid == 1 && jsonObj.account == "system")
- ) {
- //do nothing
- }
- else {
- buildActionLinkForTab("label.action.edit.ISO", isoActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
-
- if(jsonObj.id != xsToolsIsoId)
- buildActionLinkForTab("label.action.copy.ISO", isoActionMap, $actionMenu, $midmenuItem1, $thisTab);
- }
-
- // "Create VM"
- // Commenting this out for Beta2 as it does not support the new network.
- /*
- //if (((isUser() && jsonObj.ispublic == true && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account))
- if (((isAdmin() == false && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)) //if neither root-admin, nor item owner
- || jsonObj.isready == false)
- || (jsonObj.bootable == false)
- || (jsonObj.domainid == 1 && jsonObj.account == "system")
- ) {
- //do nothing
- }
- else {
- buildActionLinkForTab("label.action.create.vm", isoActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- */
-
- // "Download ISO"
- //if (((isUser() && jsonObj.ispublic == true && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)))
- if (((isAdmin() == false && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account))) //if neither root-admin, nor item owner
- || (jsonObj.isready == false)
- || (jsonObj.domainid == 1 && jsonObj.account == "system")
- ) {
- //do nothing
- }
- else {
- buildActionLinkForTab("label.action.download.ISO", isoActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
-
- // "Delete ISO"
- //if (((isUser() && jsonObj.ispublic == true && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)))
- if (((isAdmin() == false && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account))) //if neither root-admin, nor item owner
- || (jsonObj.isready == false && jsonObj.status != null && jsonObj.status.indexOf("Downloaded") != -1)
- || (jsonObj.domainid == 1 && jsonObj.account == "system")
- ) {
- //do nothing
- }
- else {
- buildActionLinkForTab("label.action.delete.ISO", isoActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function isoRefreshStatusDownloadProgress(oldJsonObj, $thisTab, $midmenuItem1, timerKey) {
- var strCmd = "command=listIsos&isofilter=self&id="+oldJsonObj.id;
- if(oldJsonObj.zoneid != null)
- strCmd = strCmd + "&zoneid="+oldJsonObj.zoneid;
- $.ajax({
- data: createURL(strCmd),
- dataType: "json",
- success: function(json) {
- var items = json.listisosresponse.iso;
- if(items != null && items.length > 0) {
- var jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
-
- if(jsonObj.isready == true) {
- setTemplateStateInRightPanel("Ready", $thisTab.find("#status"));
- $("#progressbar_container").hide();
- $("body").stopTime(timerKey);
- }
- else {
- if(jsonObj.status != null && jsonObj.status != "" && jsonObj.status.indexOf("%") == -1) { //error state
- setTemplateStateInRightPanel(fromdb(jsonObj.status), $thisTab.find("#status"));
- $("#progressbar_container").hide();
- $("body").stopTime(timerKey);
- }
- else {
- setTemplateStateInRightPanel(fromdb(jsonObj.status), $thisTab.find("#status"));
- var progressBarValue = 0;
- if(jsonObj.status != null && jsonObj.status.indexOf("%") != -1) { //e.g. jsonObj.status == "95% Downloaded"
- var s = jsonObj.status.substring(0, jsonObj.status.indexOf("%")); //e.g. s == "95"
- if(isNaN(s) == false) {
- progressBarValue = parseInt(s); //e.g. progressBarValue == 95
- }
- }
- $("#progressbar").progressbar({
- value: progressBarValue //e.g. progressBarValue == 95
- });
- }
- }
- }
- }
- });
-}
-
-function isoClearRightPanel() {
- isoClearDetailsTab();
-}
-
-function isoClearDetailsTab() {
- var $thisTab = $("#right_panel_content #tab_content_details");
-
- $thisTab.find("#grid_header_title").text("");
-
- $thisTab.find("#id").text("");
- $thisTab.find("#zonename").text("");
- $thisTab.find("#zoneid").text("");
-
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
-
- $thisTab.find("#displaytext").text("");
- $thisTab.find("#displaytext_edit").val("");
-
- $thisTab.find("#ostypename").text("");
-
- $thisTab.find("#account").text("");
- $thisTab.find("#domain").text("");
- $thisTab.find("#ostypename_edit").val(null);
- $thisTab.find("#size").text("");
- $thisTab.find("#status").text("");
- $thisTab.find("#bootable").text("");
- $thisTab.find("#ispublic").text("");
- $thisTab.find("#isfeatured").text("");
- $thisTab.find("#crossZones").text("");
- $thisTab.find("#created").text("");
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-var isoActionMap = {
- "label.action.edit.ISO": {
- dialogBeforeActionFn: doEditISO
- },
- "label.action.delete.ISO": {
- isAsyncJob: true,
- asyncJobResponse: "deleteisosresponse",
- dialogBeforeActionFn: doDeleteIso,
- inProcessText: "label.action.delete.ISO.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){
- var jsonObj = $midmenuItem1.data("jsonObj");
- $midmenuItem1.remove();
- if((jsonObj.id == $("#right_panel_content").find("#tab_content_details").find("#id").text())
- && ((jsonObj.zoneid == null) || (jsonObj.zoneid != null && jsonObj.zoneid == $("#right_panel_content").find("#tab_content_details").find("#zoneid").text()))) {
- clearRightPanel();
- isoClearRightPanel();
- }
-
- /*
- $midmenuItem1.slideUp("slow", function() {
- var jsonObj = $midmenuItem1.data("jsonObj");
- $(this).remove();
- if((jsonObj.id == $("#right_panel_content").find("#tab_content_details").find("#id").text()) && (jsonObj.zoneid == $("#right_panel_content").find("#tab_content_details").find("#zoneid").text())) {
- clearRightPanel();
- isoClearRightPanel();
- }
- });
- */
- }
- },
- "label.action.copy.ISO": {
- isAsyncJob: true,
- asyncJobResponse: "copyisoresponse",
- dialogBeforeActionFn: doCopyIso,
- inProcessText: "label.action.copy.ISO.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){}
- }
- ,
- "label.action.create.vm": {
- isAsyncJob: true,
- asyncJobResponse: "deployvirtualmachineresponse",
- dialogBeforeActionFn: doCreateVMFromIso,
- inProcessText: "label.action.create.vm.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){}
- },
- "label.action.download.ISO": {
- dialogBeforeActionFn : doDownloadISO
- }
-}
-
-function doEditISO($actionLink, $detailsTab, $midmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditISO2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditISO2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"));
- isValid &= validateString("Display Text", $detailsTab.find("#displaytext_edit"), $detailsTab.find("#displaytext_edit_errormsg"));
- if (!isValid)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- var array1 = [];
- array1.push("&id="+id);
-
- var name = $detailsTab.find("#name_edit").val();
- array1.push("&name="+todb(name));
-
- var displaytext = $detailsTab.find("#displaytext_edit").val();
- array1.push("&displayText="+todb(displaytext));
-
- var oldOsTypeId = jsonObj.ostypeid;
- var newOsTypeId = $detailsTab.find("#ostypename_edit").val();
- if(newOsTypeId != oldOsTypeId)
- array1.push("&ostypeid="+newOsTypeId);
-
- $.ajax({
- data: createURL("command=updateIso"+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- $detailsTab.find("#name").text(name);
- $midmenuItem1.find("#first_row").text(name.substring(0,25));
- $detailsTab.find("#displaytext").text(displaytext);
- $detailsTab.find("#ostypename").text($detailsTab.find("#ostypename_edit option:selected").text());
- jsonObj.name = name;
- jsonObj.displaytext = displaytext;
- jsonObj.ostypeid = parseInt(newOsTypeId);
- jsonObj.ostypename = $detailsTab.find("#ostypename_edit option:selected").text();
- }
- });
-
- //updateIsoPermissions
- var array2 = [];
- var oldIsPublic = jsonObj.ispublic.toString();
- var newIsPublic = $detailsTab.find("#ispublic_edit").val();
- if(newIsPublic != oldIsPublic)
- array2.push("&ispublic="+newIsPublic);
-
- var oldIsFeatured = jsonObj.isfeatured.toString();
- var newIsFeatured = $detailsTab.find("#isfeatured_edit").val();
- if(newIsFeatured != oldIsFeatured)
- array2.push("&isfeatured="+newIsFeatured);
-
- if(array2.length > 0) {
- $.ajax({
- data: createURL("command=updateIsoPermissions&id="+id+array2.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- setBooleanReadField(newIsPublic, $detailsTab.find("#ispublic"));
- setBooleanReadField(newIsFeatured, $detailsTab.find("#isfeatured"));
- jsonObj.ispublic = (newIsPublic == "true");
- jsonObj.isfeatured = (newIsFeatured == "true");
- }
- });
- }
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
-}
-
-function doDeleteIso($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var name = jsonObj.name;
- var zoneId = jsonObj.zoneid;
-
- var moreCriteria = [];
- if (zoneId != null)
- moreCriteria.push("&zoneid="+zoneId);
-
- var $dialog1;
- if(jsonObj.crossZones == true)
- $dialog1 = $("#dialog_confirmation").text(dictionary["message.action.delete.ISO.for.all.zones"]);
- else
- $dialog1 = $("#dialog_confirmation").text(dictionary["message.action.delete.ISO"]);
-
- $dialog1
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- $("body").stopTime("isoDownloadProgress");
- var apiCommand = "command=deleteIso&id="+id+moreCriteria.join("");
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function populateZoneFieldExcludeSourceZone(zoneField, excludeZoneId) {
- zoneField.empty();
- if (g_zoneIds != null && g_zoneIds.length > 0) {
- for (var i = 0; i < g_zoneIds.length; i++) {
- if(g_zoneIds[i] != excludeZoneId)
- zoneField.append("" + fromdb(g_zoneNames[i]) + " ");
- }
- }
-}
-
-function doCopyIso($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var name = jsonObj.name;
- var sourceZoneId = jsonObj.zoneid;
- populateZoneFieldExcludeSourceZone($("#dialog_copy_iso #copy_iso_zone"), sourceZoneId);
-
- $("#dialog_copy_iso")
- .dialog('option', 'buttons', {
- "OK": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateDropDownBox("Zone", $thisDialog.find("#copy_iso_zone"), $thisDialog.find("#copy_iso_zone_errormsg"), false); //reset error text
- if (!isValid) return;
-
- $thisDialog.dialog("close");
-
- var destZoneId = $thisDialog.find("#copy_iso_zone").val();
- var apiCommand = "command=copyIso&id="+id+"&sourcezoneid="+sourceZoneId+"&destzoneid="+destZoneId;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doCreateVMFromIso($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var name = jsonObj.name;
- var zoneId = jsonObj.zoneid;
- var createVmDialog = $("#dialog_create_vm_from_iso");
-
- createVmDialog
- .dialog('option', 'buttons', {
- "Create": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#name"), $thisDialog.find("#name_errormsg"), true);
- isValid &= validateString("Group", $thisDialog.find("#group"), $thisDialog.find("#group_errormsg"), true);
- if($thisDialog.find("#size_container").css("display") != "none")
- isValid &= validateInteger("Size", $thisDialog.find("#size"), $thisDialog.find("#size_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
-
- var array1 = [];
-
- var name = trim($thisDialog.find("#name").val());
- array1.push("&displayname="+todb(name));
-
- var group = trim($thisDialog.find("#group").val());
- array1.push("&group="+todb(group));
-
- var serviceOfferingId = $thisDialog.find("#service_offering").val();
- array1.push("&serviceOfferingId="+serviceOfferingId);
-
- var diskOfferingId = $thisDialog.find("#disk_offering").val();
- array1.push("&diskOfferingId="+diskOfferingId);
-
- if($thisDialog.find("#size_container").css("display") != "none") {
- var size = $thisDialog.find("#size").val()
- array1.push("&size="+size);
- }
-
- var hypervisor = $thisDialog.find("#hypervisor").val();
- array1.push("&hypervisor="+hypervisor);
-
- var apiCommand = "command=deployVirtualMachine&zoneId="+zoneId+"&templateId="+id+array1.join("");
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDownloadISO($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var zoneId = jsonObj.zoneid;
-
- var apiCommand = "command=extractIso&id="+id+"&zoneid="+zoneId+"&mode=HTTP_DOWNLOAD";
-
- var $dialogDownloadISO = $("#dialog_download_ISO");
- $spinningWheel = $dialogDownloadISO.find("#spinning_wheel");
- $spinningWheel.show();
- var $infoContainer = $dialogDownloadISO.find("#info_container");
- $infoContainer.hide();
-
- $dialogDownloadISO
- .dialog('option', 'buttons', {
- "Close": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- $.ajax({
- data: createURL(apiCommand),
- dataType: "json",
- success: function(json) {
- var jobId = json.extractisoresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 2000, //this API returns fast. So, set 2 seconds instead of 10 seconds.
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- $infoContainer.removeClass("error");
- $infoContainer.find("#icon,#info").removeClass("error");
- var url = decodeURIComponent(json.queryasyncjobresultresponse.jobresult.iso.url);
- var htmlMsg = dictionary["message.download.ISO"];
- var htmlMsg2 = htmlMsg.replace(/#/, url).replace(/00000/, url);
- $infoContainer.find("#info").html(htmlMsg2);
- $infoContainer.show();
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- handleErrorInDialog2(errorMsg, $dialogDownloadISO);
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $dialogDownloadISO);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $dialogDownloadISO);
- });
- }
- });
-}
diff --git a/ui/old/scripts/cloud.core.js b/ui/old/scripts/cloud.core.js
deleted file mode 100644
index e00f75d3733..00000000000
--- a/ui/old/scripts/cloud.core.js
+++ /dev/null
@@ -1,2260 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-var g_nonCompleteAsyncJob = {};
-function periodicallyCheckNonCompleteAsyncJob() {
- var timerKey = "checkNonCompleteAsyncJob";
- $("#dialog_action_complete").everyTime(
- 30000,
- timerKey,
- function() {
- for(var jobId in g_nonCompleteAsyncJob) {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- async: false,
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- }
- else {
- var label2 = g_nonCompleteAsyncJob[jobId];
- delete g_nonCompleteAsyncJob[jobId];
- if(label2 != null) {
- var afterActionInfo;
- if (result.jobstatus == 1) { // Succeeded
- afterActionInfo = (label2 + " - " + g_dictionary["label.succeeded"]);
- }
- else if (result.jobstatus == 2) { // Failed
- afterActionInfo = label2 + " - " + g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- }
-
- $("#dialog_action_complete")
- .text(afterActionInfo)
- .dialog("open");
- }
- }
- },
- error: function(XMLHttpResponse) {
- var label2 = g_nonCompleteAsyncJob[jobId];
- delete g_nonCompleteAsyncJob[jobId];
- if(label2 != null) {
- var errorMsg = "";
- if(XMLHttpResponse.responseText != null & XMLHttpResponse.responseText.length > 0) {
- errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- }
-
- var afterActionInfo;
- if(errorMsg.length > 0)
- afterActionInfo = label2 + " - " + g_dictionary["label.failed"] + " - " + errorMsg;
- else
- afterActionInfo = label2 + " - " + g_dictionary["label.failed"];
-
- $("#dialog_action_complete")
- .text(afterActionInfo)
- .dialog("open");
- }
- }
- });
- }
- },
- 0
- );
-}
-//***** periodically check non-complete async job (end)*****************************************************************
-
-//***** actions for a tab in right panel (begin) ************************************************************************
-function buildActionLinkForTab(label, actionMap, $actionMenu, $midmenuItem1, $thisTab) {
- var apiInfo = actionMap[label];
- var $listItem = $("#action_list_item").clone();
- $actionMenu.find("#action_list").append($listItem.show());
-
- var label2;
- if(label in dictionary)
- label2 = dictionary[label];
- else
- label2 = label;
- $listItem.find("#link").text(label2);
-
- $listItem.data("label", label);
- $listItem.data("apiInfo", apiInfo);
-
- var id = $midmenuItem1.data("jsonObj").id;
-
- $listItem.bind("click", function(event) {
- $actionMenu.hide();
- var $actionLink = $(this);
-
- var dialogBeforeActionFn = apiInfo.dialogBeforeActionFn;
- if(dialogBeforeActionFn == null) {
- var apiCommand = "command="+apiInfo.api+"&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $thisTab);
- }
- else {
- dialogBeforeActionFn($actionLink, $thisTab, $midmenuItem1);
- }
- return false;
- });
-}
-
-function doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $thisTab) {
- var label = $actionLink.data("label");
- var label2;
- if(label in dictionary)
- label2 = dictionary[label];
- else
- label2 = label;
-
- var apiInfo = $actionLink.data("apiInfo");
-
- var inProcessText = apiInfo.inProcessText;
- var inProcessText2;
- if(inProcessText in dictionary)
- inProcessText2 = dictionary[inProcessText];
- else
- inProcessText2 = inProcessText;
-
- var isAsyncJob = apiInfo.isAsyncJob;
- var asyncJobResponse = apiInfo.asyncJobResponse;
- var afterActionSeccessFn = apiInfo.afterActionSeccessFn;
-
- var $spinningWheel = $thisTab.find("#spinning_wheel");
- $spinningWheel.find("#description").text(inProcessText2);
- $spinningWheel.show();
-
- $midmenuItem1.find("#content").removeClass("selected").addClass("inaction");
- $midmenuItem1.find("#spinning_wheel").addClass("midmenu_addingloader").show();
- $midmenuItem1.find("#spinning_wheel").data("inProcessText", inProcessText2);
- $midmenuItem1.find("#info_icon").hide();
-
- var $afterActionInfoContainer = $("#right_panel_content #after_action_info_container_on_top");
- $afterActionInfoContainer.removeClass("errorbox").hide();
-
- //Async job (begin) *****
- if(isAsyncJob == true) {
- $.ajax({
- data: createURL(apiCommand),
- dataType: "json",
- success: function(json) {
- var jobId = json[asyncJobResponse].jobid;
- var timerKey = "asyncJob_" + jobId;
- g_nonCompleteAsyncJob[jobId] = label2;
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- delete g_nonCompleteAsyncJob[jobId];
- $spinningWheel.hide();
-
- if (result.jobstatus == 1) { // Succeeded
- var afterActionInfo = afterActionSeccessFn(json, $midmenuItem1, id); //afterActionSeccessFn() will update $midmenuItem1.data("jsonObj")
- if($("#middle_menu").css("display") != "none") {
- if(afterActionInfo == null)
- handleMidMenuItemAfterDetailsTabAction($midmenuItem1, true, (label2 + " - " + g_dictionary["label.succeeded"]));
- else
- handleMidMenuItemAfterDetailsTabAction($midmenuItem1, true, afterActionInfo);
- }
- else {
- if(afterActionInfo == null)
- showAfterActionInfoOnTop(true, (label2 + " - " + g_dictionary["label.succeeded"]));
- else
- showAfterActionInfoOnTop(true, afterActionInfo);
- }
- } else if (result.jobstatus == 2) { // Failed
- var errorMsg = label2 + " - " + g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- if($("#middle_menu").css("display") != "none")
- handleMidMenuItemAfterDetailsTabAction($midmenuItem1, false, errorMsg);
- else
- showAfterActionInfoOnTop(false, errorMsg);
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDetailsTab(XMLHttpResponse, $thisTab, label2, $afterActionInfoContainer, $midmenuItem1);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDetailsTab(XMLHttpResponse, $thisTab, label2, $afterActionInfoContainer, $midmenuItem1);
- });
- }
- });
- }
- //Async job (end) *****
-
- //Sync job (begin) *****
- else {
- $.ajax({
- data: createURL(apiCommand),
- dataType: "json",
- async: false,
- success: function(json) {
- $spinningWheel.hide();
- var afterActionInfo = afterActionSeccessFn(json, $midmenuItem1, id); //afterActionSeccessFn() will update $midmenuItem1.data("jsonObj")
- if($("#middle_menu").css("display") != "none") {
- if(afterActionInfo == null)
- handleMidMenuItemAfterDetailsTabAction($midmenuItem1, true, (label2 + " - " + g_dictionary["label.succeeded"])); //handleMidMenuItemAfterDetailsTabAction() will used updated $midmenuItem1.data("jsonObj")
- else
- handleMidMenuItemAfterDetailsTabAction($midmenuItem1, true, afterActionInfo);
- }
- else {
- if(afterActionInfo == null)
- showAfterActionInfoOnTop(true, (label2 + " - " + g_dictionary["label.succeeded"]));
- else
- showAfterActionInfoOnTop(true, afterActionInfo);
- }
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDetailsTab(XMLHttpResponse, $thisTab, label2, $afterActionInfoContainer, $midmenuItem1);
- });
- }
- });
- }
- //Sync job (end) *****
-}
-
-function handleErrorInDetailsTab(XMLHttpResponse, $thisTab, label, $afterActionInfoContainer, $midmenuItem1) {
- var errorMsg = "";
- if(XMLHttpResponse.responseText != null & XMLHttpResponse.responseText.length > 0) {
- errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- }
-
- var afterActionInfo;
- if(errorMsg.length > 0)
- afterActionInfo = label + " - " + g_dictionary["label.failed"] + " - " + errorMsg;
- else
- afterActionInfo = label + " - " + g_dictionary["label.failed"];
-
- $afterActionInfoContainer.find("#after_action_info").text(afterActionInfo);
- $afterActionInfoContainer.addClass("errorbox").show();
-
- $thisTab.find("#spinning_wheel").hide();
- handleMidMenuItemAfterDetailsTabAction($midmenuItem1, false, afterActionInfo);
-}
-
-function handleMidMenuItemAfterDetailsTabAction($midmenuItem1, isSuccessful, afterActionInfo) {
- $midmenuItem1.find("#content").removeClass("inaction");
- $midmenuItem1.find("#spinning_wheel").hide();
-
- $midmenuItem1.data("afterActionInfo", afterActionInfo);
-
- var $infoIcon = $midmenuItem1.find("#info_icon").show();
- if(isSuccessful)
- $infoIcon.removeClass("error");
- else
- $infoIcon.addClass("error");
-
- if($midmenuItem1.attr("id") == selected_midmenu_id) {
- if($("#midmenu_container").find("#multiple_selection_sub_container").length == 0) //single-selection middle menu
- $midmenuItem1.click();
- else //multiple-selection middle menu
- clickItemInMultipleSelectionMidmenu($midmenuItem1);
- }
-}
-
-//***** actions for a tab in right panel (end) **************************************************************************
-
-//***** actions for a subgrid item in right panel (begin) ************************************************************************
-function buildActionLinkForSubgridItem(label, actionMap, $actionMenu, $subgridItem) {
- var apiInfo = actionMap[label];
- var $listItem = $("#action_list_item").clone();
- $actionMenu.find("#action_list").append($listItem.show());
- $listItem.data("label", label);
-
- var label2;
- if(label in dictionary)
- label2 = dictionary[label];
- else
- label2 = label;
- $listItem.find("#link").text(label2);
-
- $listItem.data("apiInfo", apiInfo);
-
- var id = $subgridItem.data("jsonObj").id;
-
- $listItem.bind("click", function(event) {
- $actionMenu.hide();
- var $actionLink = $(this);
-
- var dialogBeforeActionFn = apiInfo.dialogBeforeActionFn;
- if(dialogBeforeActionFn == null) {
- var apiCommand = "command="+apiInfo.api+"&id="+id;
- doActionToSubgridItem(id, $actionLink, apiCommand, $subgridItem);
- }
- else {
- dialogBeforeActionFn($actionLink, $subgridItem);
- }
- return false;
- });
-}
-
-function doActionToSubgridItem(id, $actionLink, apiCommand, $subgridItem) {
- var label = $actionLink.data("label");
- var label2;
- if(label in dictionary)
- label2 = dictionary[label];
- else
- label2 = label;
-
- var apiInfo = $actionLink.data("apiInfo");
-
- var inProcessText = apiInfo.inProcessText;
- var inProcessText2;
- if(inProcessText in dictionary)
- inProcessText2 = dictionary[inProcessText];
- else
- inProcessText2 = inProcessText;
-
- var isAsyncJob = apiInfo.isAsyncJob;
- var asyncJobResponse = apiInfo.asyncJobResponse;
- var afterActionSeccessFn = apiInfo.afterActionSeccessFn;
-
- var $spinningWheel = $subgridItem.find("#spinning_wheel");
- $spinningWheel.find("#description").text(inProcessText2);
- $spinningWheel.show();
- $subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").hide();
-
- //Async job (begin) *****
- if(isAsyncJob == true) {
- $.ajax({
- data: createURL(apiCommand),
- dataType: "json",
- success: function(json) {
- var jobId = json[asyncJobResponse].jobid;
- var timerKey = "asyncJob_" + jobId;
- g_nonCompleteAsyncJob[jobId] = label2;
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- delete g_nonCompleteAsyncJob[jobId];
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- $subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").show();
- var afterActionInfo = afterActionSeccessFn(json, id, $subgridItem);
- if(afterActionInfo == null)
- $subgridItem.find("#after_action_info").text(label2 + " - " + g_dictionary["label.succeeded"]);
- else
- $subgridItem.find("#after_action_info").text(afterActionInfo);
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = label2 + " - " + g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = label2 + " - " + g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $subgridItem.find("#after_action_info").text(errorMsg);
- $subgridItem.find("#after_action_info_container").removeClass("success").addClass("error").show();
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInSubgridItem(XMLHttpResponse, $subgridItem, label2);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInSubgridItem(XMLHttpResponse, $subgridItem, label2);
- });
- }
- });
- }
- //Async job (end) *****
-
- //Sync job (begin) *****
- else {
- $.ajax({
- data: createURL(apiCommand),
- dataType: "json",
- async: false,
- success: function(json) {
- $spinningWheel.hide();
- $subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").show();
- var afterActionInfo = afterActionSeccessFn(json, id, $subgridItem);
- if(afterActionInfo == null)
- $subgridItem.find("#after_action_info").text(label2 + " - " + g_dictionary["label.succeeded"]);
- else
- $subgridItem.find("#after_action_info").text(afterActionInfo);
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInSubgridItem(XMLHttpResponse, $subgridItem, label2);
- });
- }
- });
- }
- //Sync job (end) *****
-}
-
-function handleErrorInSubgridItem(XMLHttpResponse, $subgridItem, label) {
- $subgridItem.find("#spinning_wheel").hide();
-
- var errorMsg = "";
- if(XMLHttpResponse.responseText != null & XMLHttpResponse.responseText.length > 0) {
- errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- }
-
- var afterActionInfo;
- if(errorMsg.length > 0)
- afterActionInfo = label + " - " + g_dictionary["label.failed"] + " - " + errorMsg;
- else
- afterActionInfo = label + " - " + g_dictionary["label.failed"];
- $subgridItem.find("#after_action_info").text(afterActionInfo);
-
- $subgridItem.find("#after_action_info_container").removeClass("success").addClass("error").show();
-}
-//***** actions for a subgrid item in right panel (end) **************************************************************************
-
-//***** actions for middle menu (begin) ************************************************************************
-var selectedItemsInMidMenu = {};
-
-function doActionToMidMenu(id, apiInfo, apiCommand) {
- var label = apiInfo.label;
- var label2;
- if(label in dictionary)
- label2 = dictionary[label];
- else
- label2 = label;
-
- var inProcessText = apiInfo.inProcessText;
- var inProcessText2;
- if(inProcessText in dictionary)
- inProcessText2 = dictionary[inProcessText];
- else
- inProcessText2 = inProcessText;
-
- var isAsyncJob = apiInfo.isAsyncJob;
- var asyncJobResponse = apiInfo.asyncJobResponse;
- var afterActionSeccessFn = apiInfo.afterActionSeccessFn;
-
- var $midmenuItem1 = $("#midmenuItem_"+id);
- $midmenuItem1.find("#content").removeClass("selected").addClass("inaction"); //it's being un-selected now because it's in action now
- uncountTopButtonMapFn($midmenuItem1.data("jsonObj")); //uncount it from topButtonMap
- $midmenuItem1.find("#spinning_wheel").addClass("midmenu_addingloader").show();
- $midmenuItem1.find("#spinning_wheel").data("inProcessText", inProcessText2);
- $midmenuItem1.find("#info_icon").hide();
-
- var $detailsTab = $("#right_panel_content #tab_content_details");
- var $spinningWheel = $detailsTab.find("#spinning_wheel");
- $spinningWheel.find("#description").text(inProcessText2);
- $spinningWheel.show();
-
- //Async job (begin) *****
- if(isAsyncJob == true) {
- $.ajax({
- data: createURL(apiCommand),
- dataType: "json",
- success: function(json) {
- var jobId = json[asyncJobResponse].jobid;
- var timerKey = "asyncJob_" + jobId;
- g_nonCompleteAsyncJob[jobId] = label2;
- $("body").everyTime(
- 10000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- delete g_nonCompleteAsyncJob[jobId];
- $midmenuItem1.find("#content").removeClass("inaction");
- $midmenuItem1.find("#spinning_wheel").hide();
-
-
- if (result.jobstatus == 1) { // Succeeded
- $midmenuItem1.find("#info_icon").removeClass("error").show();
- var afterActionInfo = afterActionSeccessFn(json, $midmenuItem1, id);
- if(afterActionInfo == null)
- $midmenuItem1.data("afterActionInfo", (label2 + " - " + g_dictionary["label.succeeded"]));
- else
- $midmenuItem1.data("afterActionInfo", afterActionInfo);
-
- hideDetailsTabActionSpinningWheel(id, inProcessText2, $midmenuItem1); //this line will use $midmenuItem1.data("afterActionInfo")
-
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = label2 + " - " + g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = label2 + " - " + g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- handleErrorInMidMenu2(errorMsg, $midmenuItem1, id, inProcessText2);
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText2);
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse);
- handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText2);
- }
- });
- }
- //Async job (end) *****
-
- //Sync job (begin) *****
- else {
- $.ajax({
- data: createURL(apiCommand),
- dataType: "json",
- async: false,
- success: function(json) {
- $midmenuItem1.find("#content").removeClass("inaction");
- $midmenuItem1.find("#spinning_wheel").hide();
- $midmenuItem1.find("#info_icon").removeClass("error").show();
- hideDetailsTabActionSpinningWheel(id, inProcessText2, $midmenuItem1);
- var afterActionInfo = afterActionSeccessFn(json, $midmenuItem1, id);
- if(afterActionInfo == null)
- $midmenuItem1.data("afterActionInfo", (label2 + " - " + g_dictionary["label.succeeded"]));
- else
- $midmenuItem1.data("afterActionInfo", afterActionInfo);
- },
- error: function(XMLHttpResponse) {
- handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText2);
- }
- });
- }
- //Sync job (end) *****
-}
-
-function handleErrorInMidMenu(XMLHttpResponse, $midmenuItem1, id, inProcessText) {
- var errorMsg = "";
- if(XMLHttpResponse.responseText != null & XMLHttpResponse.responseText.length > 0) {
- errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- }
- handleErrorInMidMenu2(errorMsg, $midmenuItem1, id, inProcessText);
-}
-
-function handleErrorInMidMenu2(errorMsg, $midmenuItem1, id, inProcessText) {
- $midmenuItem1.find("#content").removeClass("inaction");
- $midmenuItem1.find("#spinning_wheel").hide();
- $midmenuItem1.find("#info_icon").addClass("error").show();
- $midmenuItem1.data("afterActionInfo", errorMsg);
- hideDetailsTabActionSpinningWheel(id, inProcessText, $midmenuItem1);
-
- if(errorMsg.length > 0)
- $midmenuItem1.find("#second_row").text(fromdb(errorMsg));
- else
- $midmenuItem1.find("#second_row").html(" ");
-}
-
-function hideDetailsTabActionSpinningWheel(id, inProcessText, $midmenuItem1) {
- var $detailsTab = $("#right_panel_content #tab_content_details");
- var jsonObj = $detailsTab.data("jsonObj");
- var $spinningWheel = $detailsTab.find("#spinning_wheel");
- if((id == $detailsTab.find("#id").text()) && (inProcessText == $spinningWheel.find("#description").text())) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- }
-}
-
-function copyActionInfoFromMidMenuToRightPanel($midmenuItem1) {
- var $afterActionInfoContainer = $("#right_panel_content #after_action_info_container_on_top");
-
- if($midmenuItem1.find("#info_icon").css("display") != "none") {
- $afterActionInfoContainer.find("#after_action_info").text($midmenuItem1.data("afterActionInfo"));
- if($midmenuItem1.find("#info_icon").hasClass("error"))
- $afterActionInfoContainer.addClass("errorbox");
- else
- $afterActionInfoContainer.removeClass("errorbox");
- $afterActionInfoContainer.show();
-
- $midmenuItem1.find("#info_icon").hide(); //make info icon disappear after the middle menu item is clicked once
- }
- else {
- $afterActionInfoContainer.find("#after_action_info").text("");
- $afterActionInfoContainer.hide();
- }
-
- var $midMenuSpinningWheel = $midmenuItem1.find("#spinning_wheel");
- var $detailsTabSpinningWheel = $("#right_panel_content #tab_content_details").find("#spinning_wheel");
- if($midMenuSpinningWheel.css("display") != "none") {
- if($detailsTabSpinningWheel.css("display") == "none") {
- var inProcessText = $midMenuSpinningWheel.data("inProcessText");
- $detailsTabSpinningWheel.find("#description").text(inProcessText);
- if(inProcessText in dictionary)
- $detailsTabSpinningWheel.find("#description").text(dictionary[inProcessText]);
- else
- $detailsTabSpinningWheel.find("#description").text(inProcessText);
- $detailsTabSpinningWheel.show();
- }
- }
- else {
- $detailsTabSpinningWheel.hide();
- }
-}
-
-//***** actions for middle menu (end) **************************************************************************
-
-
-function createURL(url) {
- return url +"&response=json&sessionkey=" + g_sessionKey;
-}
-
-function fromdb(val) {
- return sanitizeXSS(noNull(val));
-}
-
-function todb(val) {
- return encodeURIComponent(val);
-}
-
-var midmenuItemCount = 20;
-
-function setBooleanReadField(value, $field) {
- if(value == "true" || value == true)
- $field.text("Yes");
- else if(value == "false" || value == false)
- $field.text("No");
- else
- $field.text("");
-
- /*
- if(value == "true" || value == true)
- $field.text("Yes").show();
- else if(value == "false" || value == false)
- $field.text("No").show();
- else
- $field.hide();
- */
-}
-
-function setBooleanEditField(value, $field) {
- if(value == "true" || value == true)
- $field.val("true");
- else if(value == "false" || value == false)
- $field.val("false");
-
- /*
- if(value == "true" || value == true)
- $field.val("true");
- else if(value == "false" || value == false)
- $field.val("false");
- else
- $field.hide();
- */
-}
-
- var LeftMenuAdvancedSearchMap = {
- "leftmenu_instances_my_instances": "advanced_search_popup_nodomainaccount",
- "leftmenu_instances_running_instances": "advanced_search_popup_nostate",
- "leftmenu_instances_stopped_instances": "advanced_search_popup_nostate",
- "leftmenu_instances_destroyed_instances": "advanced_search_popup_nostate"
-}
-
-function getAdvancedSearchPopup($container) {
- var $advancedSearchPopup;
- if(currentLeftMenuId in LeftMenuAdvancedSearchMap)
- $advancedSearchPopup = $container.find("#"+LeftMenuAdvancedSearchMap[currentLeftMenuId]);
- else
- $advancedSearchPopup = $container.find("#advanced_search_popup"); //default
- return $advancedSearchPopup;
-}
-
-function getAdvancedSearchPopupInHiddenContainer() {
- return getAdvancedSearchPopup($("#hidden_container"));
-}
-
-function getAdvancedSearchPopupInSearchContainer() {
- return getAdvancedSearchPopup($("#advanced_search_container"));
-}
-
-function clearMiddleMenu() {
- $("#midmenu_container").empty();
- $("#midmenu_action_link").hide();
- $("#basic_search").find("#search_input").val("");
- $("#advanced_search_icon").removeClass("up");
-
- if($("#hidden_container").length > 0)
- getAdvancedSearchPopupInSearchContainer().hide().appendTo($("#hidden_container"));
- else
- getAdvancedSearchPopupInSearchContainer().remove();
-
- $("#midmenu_prevbutton, #midmenu_nextbutton").hide();
- $("#middle_menu_pagination").data("params", null);
-}
-
-function clearButtonsOnTop() {
- return $("#top_button_container").empty();
-}
-
-function clearRightPanel() {
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-
- $("#right_panel_content #tab_content_details #spinning_wheel").hide();
- $("#right_panel_content #after_action_info_container").hide();
-
- cancelEditMode($("#tab_content_details"));
-}
-
-
-var $selectedLeftMenu;
-var $expandedLeftMenu;
-function selectLeftMenu($menuToSelect, expandable, afterSelectFn) {
- if ($selectedLeftMenu == null || ($menuToSelect.attr("id") != $selectedLeftMenu.attr("id"))) {
- if($selectedLeftMenu != null) {
- $selectedLeftMenu.removeClass("selected");
- $selectedLeftMenu.find(".leftmenu_arrows_firstlevel_open").hide();
- }
- $menuToSelect.addClass("selected");
- $menuToSelect.find(".leftmenu_arrows_firstlevel_open").show();
- $selectedLeftMenu = $menuToSelect;
-
- // collapse any current expanded menu
- var $menuToExpand;
- if (expandable != undefined && expandable) {
- $menuToExpand = $selectedLeftMenu.siblings(".leftmenu_expandedbox");
- }
-
- if ($expandedLeftMenu != null) {
- $expandedLeftMenu.slideUp(500, afterSelectFn);
- if ($menuToExpand != null) $menuToExpand.slideDown(500);
- $expandedLeftMenu = null;
- } else if ($menuToExpand != null) {
- $menuToExpand.slideDown(500, afterSelectFn);
- } else if (afterSelectFn != undefined) {
- afterSelectFn();
- }
- $expandedLeftMenu = $menuToExpand;
-
- // Close the help link if it's opened
- $("#help_dropdown_dialog").hide();
- $("#help_button").removeClass("selected");
- return true;
- }
- return false;
-}
-
-var $selectedSubMenu;
-function selectLeftSubMenu($menuToSelect) {
- if ($selectedSubMenu == null || ($menuToSelect.attr("id") != $selectedSubMenu.attr("id"))) {
- if($selectedSubMenu != null)
- $selectedSubMenu.removeClass("selected");
- $menuToSelect.addClass("selected");
- $selectedSubMenu = $menuToSelect;
- }
- // Every time you click on a different menu item, we should stop all previous async job queries
- $("body").stopTime();
-}
-
-var selected_midmenu_id = null;
-function hideMiddleMenu() {
- $("#middle_menu, #search_panel, #middle_menu_pagination").hide();
- $("#midmenu_container").empty();
- $("#right_panel").removeClass("main_contentarea_with_midmenu").addClass("main_contentarea_without_midmenu");
-}
-function showMiddleMenu() {
- $("#middle_menu, #search_panel, #middle_menu_pagination").show();
- $("#right_panel").removeClass("main_contentarea_without_midmenu").addClass("main_contentarea_with_midmenu");
-}
-
-function isMiddleMenuShown() {
- if($("#middle_menu").css("display") == "none")
- return false;
- else
- return true;
-}
-
-// adding middle menu item ***
-function beforeAddingMidMenuItem() {
- var $midmenuItem1 = $("#midmenu_item").clone().attr("id", "midmenu_item_clone");
- $midmenuItem1.find("#first_row").text(g_dictionary["label.adding.processing"]);
- $midmenuItem1.find("#second_row").html(" ");
- $midmenuItem1.find("#content").addClass("inaction");
- $midmenuItem1.find("#spinning_wheel").show();
- $midmenuItem1.find("#info_icon").removeClass("error").hide();
- $("#midmenu_container").prepend($midmenuItem1.show());
- return $midmenuItem1;
-}
-function afterAddingMidMenuItem($midmenuItem1, isSuccessful, secondRowText) {
- $midmenuItem1.find("#content").removeClass("inaction");
- $midmenuItem1.find("#spinning_wheel").hide();
-
- if(isSuccessful == true) {
- $midmenuItem1.find("#info_icon").removeClass("error").show();
- $midmenuItem1.data("afterActionInfo", g_dictionary["label.adding.succeeded"]);
-
- var $container = $("#midmenu_container");
- if($("#midmenu_container").find("#multiple_selection_sub_container").length > 0) {
- $container = $("#midmenu_container").find("#multiple_selection_sub_container");
- $("#midmenu_container #multiple_selection_sub_container").prepend($midmenuItem1);
- }
-
- var $noItemsAvailable = $container.find("#midmenu_container_no_items_available");
- if($noItemsAvailable.length > 0) {
- $noItemsAvailable.slideUp("slow", function() {
- $(this).remove();
- });
- }
- }
- else { // Failed
- $midmenuItem1.find("#content").addClass("addingfailed");
- $midmenuItem1.find("#icon").attr("src", "images/addingfailed_icon.png");
- $midmenuItem1.find("#icon_container").show();
- $midmenuItem1.find("#first_row").text(g_dictionary["label.adding.failed"]);
-
- if(secondRowText != null)
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
-
- $midmenuItem1.find("#close_icon").show().bind("click", function(event) {
- $midmenuItem1.slideUp("slow", function() {
- $(this).remove();
- });
- return false;
- });
- }
-
- if(secondRowText != null) {
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- }
-}
-
-function switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray) {
- for(var tabIndex=0; tabIndex 0)
- $("#"+selected_midmenu_id).find("#content").removeClass("selected");
- selected_midmenu_id = getMidmenuIdFn($currentMidmenuItem.data("jsonObj"));
-
- $currentMidmenuItem.find("#content").addClass("selected");
-
- clearRightPanel();
- toRightPanelFn($currentMidmenuItem);
- return false;
- });
-}
-
-function clickItemInMultipleSelectionMidmenu($midmenuItem1) {
- $midmenuItem1.find("#content").addClass("selected"); //"selected" is a CSS class in cloudstack-defined CSS
-
- if($midmenuItem1.hasClass("ui-selected") == false) //"ui-selected" is a CSS class in JQuery selectable widget
- $midmenuItem1.addClass("ui-selected");
-
- clearRightPanel();
- var toRightPanelFn = $midmenuItem1.data("toRightPanelFn");
- toRightPanelFn($midmenuItem1);
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- selectedItemsInMidMenu[jsonObj.id] = $midmenuItem1;
- countTopButtonMapFn(jsonObj);
-
- selected_midmenu_id = $midmenuItem1.attr("id");
- $currentMidmenuItem = $midmenuItem1;
-}
-
-function unclickItemInMultipleSelectionMidmenu($midmenuItem1, id) {
- delete selectedItemsInMidMenu[id];
- $midmenuItem1.find("#content").removeClass("selected");
- var jsonObj = $midmenuItem1.data("jsonObj");
- uncountTopButtonMapFn(jsonObj);
-}
-
-var countTopButtonMapFn = function() {};
-var uncountTopButtonMapFn = function() {};
-var grayoutTopButtonsFn = function() {};
-var resetTopButtonMapFn = function() {};
-
-function createMultipleSelectionSubContainer() {
- var $multipleSelectionSubContainer = $("
");
- $("#midmenu_container").empty().append($multipleSelectionSubContainer);
- selectedItemsInMidMenu = {};
- resetTopButtonMapFn();
-
- $multipleSelectionSubContainer.selectable({
- selecting: function(event, ui) {
- if(ui.selecting.id.indexOf("midmenuItem") != -1) {
- var $midmenuItem1 = $("#"+ui.selecting.id);
- if($midmenuItem1.find("#content").hasClass("inaction") == false) { //only items not in action are allowed to be selected
- clickItemInMultipleSelectionMidmenu($midmenuItem1);
- }
- else { //The item is in action. It can't be selected for another action, but its content still shows in right panel.
- clearRightPanel();
- var toRightPanelFn = $midmenuItem1.data("toRightPanelFn");
- toRightPanelFn($midmenuItem1);
- }
- }
- },
- unselecting: function(event, ui) {
- if(ui.unselecting.id.indexOf("midmenuItem") != -1) {
- var $midmenuItem1 = $("#"+ui.unselecting.id);
- var id = $midmenuItem1.data("jsonObj").id;
- if(id in selectedItemsInMidMenu) {
- unclickItemInMultipleSelectionMidmenu($midmenuItem1, id);
- }
- }
- },
- start: function(event, ui) {
-
- },
- stop: function(event, ui) {
- grayoutTopButtonsFn();
- }
- });
-
- return $multipleSelectionSubContainer;
-}
-
-function getMidmenuId(jsonObj) {
- return "midmenuItem_" + jsonObj.id;
-}
-
-var autoCompleteDomains = [];
-function applyAutoCompleteToDomainField($field) {
- $field.autocomplete({
- source: function(request, response) {
- $.ajax({
- data: createURL("command=listDomains&keyword=" + request.term),
- dataType: "json",
- async: false,
- success: function(json) {
- autoCompleteDomains = json.listdomainsresponse.domain;
- var array1 = [];
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++)
- array1.push(fromdb(autoCompleteDomains[i].name));
- }
- response(array1);
- }
- });
- }
- });
-}
-
-function applyAutoCompleteToDomainChildrenField($field, parentDomainId) {
- $field.autocomplete({
- source: function(request, response) {
- var array1 = [];
- $.ajax({
- data: createURL("command=listDomainChildren&id="+parentDomainId+"&isrecursive=true&keyword=" + request.term),
- dataType: "json",
- async: false,
- success: function(json) {
- autoCompleteDomains = json.listdomainchildrenresponse.domain;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++)
- array1.push(fromdb(autoCompleteDomains[i].name));
- }
- }
- });
- $.ajax({
- data: createURL("command=listDomains&id="+parentDomainId+"&keyword=" + request.term),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listdomainsresponse.domain;
- if(items != null && items.length > 0) {
- autoCompleteDomains.push(items[0]);
- array1.push(fromdb(items[0].name));
- }
- }
- });
- response(array1);
- }
- });
-}
-
-//var lastSearchType;
-var currentCommandString;
-var searchParams;
-function listMidMenuItems2(commandString, getSearchParamsFn, jsonResponse1, jsonResponse2, toMidmenuFn, toRightPanelFn, getMidmenuIdFn, isMultipleSelectionInMidMenu, page) {
- $("#midmenu_container").hide();
- $("#midmenu_spinning_wheel").show();
-
- var params = {
- "commandString": commandString,
- "getSearchParamsFn": getSearchParamsFn,
- "jsonResponse1": jsonResponse1,
- "jsonResponse2": jsonResponse2,
- "toMidmenuFn": toMidmenuFn,
- "toRightPanelFn": toRightPanelFn,
- "getMidmenuIdFn": getMidmenuIdFn,
- "isMultipleSelectionInMidMenu": isMultipleSelectionInMidMenu,
- "page": page
- }
- $("#middle_menu_pagination").data("params", params);
-
- (page > 1)? $("#midmenu_prevbutton").show(): $("#midmenu_prevbutton").hide();
-
- searchParams = getSearchParamsFn();
-
- var count = 0;
- $.ajax({
- cache: false,
- data: createURL("command="+commandString+searchParams+"&pagesize="+midmenuItemCount+"&page="+page),
- dataType: "json",
- async: false,
- success: function(json) {
- var $container;
- if(isMultipleSelectionInMidMenu != true)
- $container = $("#midmenu_container").empty();
- else
- $container = createMultipleSelectionSubContainer();
-
- var items = json[jsonResponse1][jsonResponse2];
- if(items != null && items.length > 0) {
- (items.length == midmenuItemCount)? $("#midmenu_nextbutton").show(): $("#midmenu_nextbutton").hide();
- for(var i=0; i 0)
- $infoContainer.find("#info").text(errorMsg);
- else
- $infoContainer.find("#info").text(g_dictionary["label.failed"]);
-
- $thisDialog.find("#spinning_wheel").hide();
- $infoContainer.show();
-}
-
-function parseXMLHttpResponse(XMLHttpResponse) {
- if(isValidJsonString(XMLHttpResponse.responseText) == false) {
- return "";
- }
-
- //var json = jQuery.parseJSON(XMLHttpResponse.responseText);
- var json = JSON.parse(XMLHttpResponse.responseText);
- if (json != null) {
- var property;
- for(property in json) {}
- var errorObj = json[property];
- return fromdb(errorObj.errortext);
- } else {
- return "";
- }
-}
-
-function isValidJsonString(str) {
- try {
- JSON.parse(str);
- }
- catch (e) {
- return false;
- }
- return true;
-}
-
-function showLeftNavigationBasedOnRole() {
- if (isAdmin()) {
- $("#leftmenu_domain, #leftmenu_account, #leftmenu_configuration, #leftmenu_system, #leftmenu_alert_container, #launch_test").show();
- }
- else if(isDomainAdmin()){
- $("#leftmenu_domain, #leftmenu_account").show();
- }
- else{ //isUser() == true
- }
-
- if(getDirectAttachSecurityGroupsEnabled() == "true") {
- $("#leftmenu_security_group_container").show();
- }
- else {
- $("#leftmenu_security_group_container").hide();
- }
-
- if (isAdmin() || (getUserPublicTemplateEnabled() == "true")) {
- $("#leftmenu_submenu_community_template_container, #leftmenu_submenu_community_iso_container").show();
- }
- else {
- $("#leftmenu_submenu_community_template_container, #leftmenu_submenu_community_iso_container").hide();
- }
-}
-
-function drawBarChart($capacity, percentused) { //percentused == "0.01%" (having % inside)
- if(percentused == null) {
- $capacity.find("#percentused").text("");
- $capacity.find("#bar_chart").removeClass().addClass("db_barbox low").css("width", 0);
- return;
- }
-
- $capacity.find("#percentused").text(percentused);
-
- var percentusedFloat;
- if(percentused.indexOf("%") != -1) {
- percentused = percentused.replace("%", "");
- percentusedFloat = parseFloat(percentused);
- percentusedFloat = percentusedFloat * 0.01; //because % is removed. percentusedFloat == 0.0001
- }
- else {
- percentusedFloat = parseFloat(percentused);
- }
-
- if (percentusedFloat <= 0.6)
- $capacity.find("#bar_chart").removeClass().addClass("db_barbox low").css("width", percentused);
- else if (percentusedFloat > 0.6 && percentusedFloat <= 0.8 )
- $capacity.find("#bar_chart").removeClass().addClass("db_barbox mid").css("width", percentused);
- else if (percentusedFloat > 0.8 )
- $capacity.find("#bar_chart").removeClass().addClass("db_barbox high").css("width", percentused);
-}
-
-var $readonlyFields, $editFields;
-function cancelEditMode($tab) {
- if($editFields != null)
- $editFields.hide();
- if($readonlyFields != null)
- $readonlyFields.show();
- $tab.find("#save_button, #cancel_button").hide();
-}
-
-function showAfterActionInfoOnTop(isSuccessful, afterActionInfo) {
- var $afterActionInfoContainer = $("#right_panel_content #after_action_info_container_on_top");
-
- if(isSuccessful)
- $afterActionInfoContainer.removeClass("errorbox");
- else
- $afterActionInfoContainer.addClass("errorbox");
-
- $afterActionInfoContainer.find("#after_action_info").text(afterActionInfo);
-
- $afterActionInfoContainer.show();
-}
-
-
-function ipFindNetworkServiceByName(pName, networkObj) {
- if(networkObj == null)
- return null;
- if(networkObj.service != null) {
- for(var i=0; i 0) {
- var disconnected = new Date();
- disconnected.setISO8601(dateValue);
- var showDate;
- if(g_timezoneoffset != null)
- showDate = disconnected.getTimePlusTimezoneOffset(g_timezoneoffset);
- else
- showDate = disconnected.getTimePlusTimezoneOffset(0);
-
- dateField.text(showDate);
- }
-}
-
-function initResizable(resizeElement, alsoResizeElement) {
- var alsoResizeUi_originalHeight;
- $("#"+resizeElement).resizable({
- handles: 'e, w',
- autoHide: true,
- //containment: ".grid_header" ,
- alsoResize: "."+alsoResizeElement
- });
-}
-
-var sortBy = "";
-var parseFunction = function() {}
-var sortingOrder = "asc";
-
-function sortArrayAlphabetically(a, b) {
- if(a[sortBy] == null || b[sortBy] == null)
- return 0;
-
- var A = a[sortBy].toLowerCase();
- var B = b[sortBy].toLowerCase();
-
- if(sortingOrder == "asc") {
- if (A < B)
- return -1;
- if (A > B)
- return 1;
- } else {
- if (A < B)
- return 1;
- if (A > B)
- return -1;
- }
- return 0;
-}
-
-function sortArrayAlphabeticallyParse(a, b) {
- if(a[sortBy] == null || b[sortBy] == null)
- return 0;
-
- var A = parseFunction(a[sortBy]).toLowerCase();
- var B = parseFunction(b[sortBy]).toLowerCase();
-
- if(sortingOrder == "asc") {
- if (A < B)
- return -1;
- if (A > B)
- return 1;
- } else {
- if (A < B)
- return 1;
- if (A > B)
- return -1;
- }
- return 0;
-}
-
-function sortArrayNumerically(a, b) {
- if(a[sortBy] == null || b[sortBy] == null)
- return 0;
-
- var A = parseInt(a[sortBy]);
- var B = parseInt(b[sortBy]);
-
- if(sortingOrder == "asc") {
- if (A < B)
- return -1;
- if (A > B)
- return 1;
- } else {
- if (A < B)
- return 1;
- if (A > B)
- return -1;
- }
- return 0;
-}
-
-function sortArrayNumericallyParse(a, b) {
- if(a[sortBy] == null || b[sortBy] == null)
- return 0;
-
- var A = parseFunction(parseInt(a[sortBy]));
- var B = parseFunction(parseInt(b[sortBy]));
-
- if(sortingOrder == "asc") {
- if (A < B)
- return -1;
- if (A > B)
- return 1;
- } else {
- if (A < B)
- return 1;
- if (A > B)
- return -1;
- }
- return 0;
-}
-
-function sortArrayByDate(a, b) {
- if(a[sortBy] == null || b[sortBy] == null)
- return 0;
-
- var A = convertMilliseconds(a[sortBy]);
- var B = convertMilliseconds(b[sortBy]);
-
- if(sortingOrder == "asc") {
- if (A < B)
- return -1;
- if (A > B)
- return 1;
- } else {
- if (A < B)
- return 1;
- if (A > B)
- return -1;
- }
- return 0;
-}
-
-function convertMilliseconds(string) {
- if (string != null && string.length > 0) {
- var date1 = new Date();
- date1.setISO8601(string);
- return date1.getTime();
- } else {
- return null;
- }
-}
-
-// Validation functions
-function showError(isValid, field, errMsgField, errMsg) {
- if(isValid) {
- errMsgField.text("").hide();
- field.addClass("text").removeClass("error_text");
- }
- else {
- errMsgField.text(errMsg).show();
- field.removeClass("text").addClass("error_text");
- }
-}
-
-function showError2(isValid, field, errMsgField, errMsg, appendErrMsg) {
- if(isValid) {
- errMsgField.text("").hide();
- field.addClass("text2").removeClass("error_text2");
- }
- else {
- if(appendErrMsg) //append text
- errMsgField.text(errMsgField.text()+errMsg).show();
- else //reset text
- errMsgField.text(errMsg).show();
- field.removeClass("text2").addClass("error_text2");
- }
-}
-
-function showErrorInDropdown(isValid, field, errMsgField, errMsg, appendErrMsg) {
- if(isValid) {
- errMsgField.text("").hide();
- field.addClass("select").removeClass("error_select");
- }
- else {
- if(appendErrMsg) //append text
- errMsgField.text(errMsgField.text()+errMsg).show();
- else //reset text
- errMsgField.text(errMsg).show();
- field.removeClass("select").addClass("error_select");
- }
-}
-
-function validateDropDownBox(label, field, errMsgField, appendErrMsg) {
- var isValid = true;
- var errMsg = "";
- var value = field.val();
- if (value == null || value.length == 0) {
- //errMsg = label + " is a required value. ";
- errMsg = g_dictionary["label.required"];
- isValid = false;
- }
- showErrorInDropdown(isValid, field, errMsgField, errMsg, appendErrMsg);
- return isValid;
-}
-
-function validateInteger(label, field, errMsgField, min, max, isOptional) {
- return validateNumber(label, field, errMsgField, min, max, isOptional, "integer");
-}
-
-function validateNumber(label, field, errMsgField, min, max, isOptional, type) {
- var isValid = true;
- var errMsg = "";
- var value = field.val();
-
- if (value != null && value.length != 0) {
- if(isNaN(value)) {
- //errMsg = label + " must be a number";
- errMsg = g_dictionary["label.invalid.number"];
- isValid = false;
- }
- else {
- if(type == "integer" && (value % 1) != 0) {
- //errMsg = label + " must be an integer";
- errMsg = g_dictionary["label.invalid.integer"];
- isValid = false;
- }
-
- if (min != null && value < min) {
- //errMsg = label + " must be a value greater than or equal to " + min;
- errMsg = g_dictionary["label.minimum"] + ": " + min;
- isValid = false;
- }
- if (max != null && value > max) {
- //errMsg = label + " must be a value less than or equal to " + max;
- errMsg = g_dictionary["label.maximum"] + ": " + max;
- isValid = false;
- }
- }
- }
- else if(isOptional!=true){ //required field
- //errMsg = label + " is a required value. ";
- errMsg = g_dictionary["label.required"];
- isValid = false;
- }
- showError(isValid, field, errMsgField, errMsg);
- return isValid;
-}
-
-function validateString(label, field, errMsgField, isOptional, maxLength) {
- var isValid = true;
- var errMsg = "";
- var value = field.val();
- if (isOptional!=true && (value == null || value.length == 0)) { //required field
- //errMsg = label + " is a required value. ";
- errMsg = g_dictionary["label.required"];
- isValid = false;
- }
- else if (value!=null && value.length >= maxLength) {
- //errMsg = label + " must be less than " + maxLength + " characters";
- errMsg = g_dictionary["label.maximum"] + ": " + max + " " + g_dictionary["label.character"];
- isValid = false;
- }
- else if(value!=null && value.indexOf('"')!=-1) {
- //errMsg = "Double quotes are not allowed";
- errMsg = g_dictionary["label.double.quotes.are.not.allowed"];
- isValid = false;
- }
- showError(isValid, field, errMsgField, errMsg);
- return isValid;
-}
-
-function validateEmail(label, field, errMsgField, isOptional) {
- if(validateString(label, field, errMsgField, isOptional) == false)
- return;
- var isValid = true;
- var errMsg = "";
- var value = field.val();
- if(value!=null && value.length>0) {
- myregexp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
- var isMatch = myregexp.test(value);
- if(!isMatch) {
- errMsg = g_dictionary["label.example"] + ": xxxxxxx@hotmail.com";
- isValid = false;
- }
- }
- showError(isValid, field, errMsgField, errMsg);
- return isValid;
-}
-
-function validateIp(label, field, errMsgField, isOptional) {
- if(validateString(label, field, errMsgField, isOptional) == false)
- return;
- var isValid = true;
- var errMsg = "";
- var value = field.val();
- if(value!=null && value.length>0) {
- myregexp = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
- var isMatch = myregexp.test(value);
- if(!isMatch) {
- //errMsg = label + " should be like 75.52.126.11";
- errMsg = g_dictionary["label.example"] + ": 75.52.126.11";
- isValid = false;
- }
- }
- showError(isValid, field, errMsgField, errMsg);
- return isValid;
-}
-
-function validateNetmask(label, field, errMsgField, isOptional) {
- if(validateString(label, field, errMsgField, isOptional) == false)
- return;
- var isValid = true;
- var errMsg = "";
- var value = field.val();
- if(value!=null && value.length>0) {
- myregexp = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
- var isMatch = myregexp.test(value);
- if(!isMatch) {
- errMsg = g_dictionary["label.example"] + ": 255.255.255.0";
- isValid = false;
- }
- }
- showError(isValid, field, errMsgField, errMsg);
- return isValid;
-}
-
-
-function validateCIDR(label, field, errMsgField, isOptional) {
- if(validateString(label, field, errMsgField, isOptional) == false)
- return;
- var isValid = true;
- var errMsg = "";
- var value = field.val();
- if(value!=null && value.length>0) {
- myregexp = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2}$/;
- var isMatch = myregexp.test(value);
- if(!isMatch) {
- //errMsg = label + " should be like 10.1.1.0/24";
- errMsg = g_dictionary["label.example"] + ": 10.1.1.0/24";
- isValid = false;
- }
- }
- showError(isValid, field, errMsgField, errMsg);
- return isValid;
-}
-
-function validateCIDRList(label, field, errMsgField, isOptional) {
- if(validateString(label, field, errMsgField, isOptional) == false)
- return;
- var isValid = true;
- var errMsg = "";
- var cidrList = field.val();
-
- var array1 = cidrList.split(",");
- for(var i=0; i < array1.length; i++) {
- var value = array1[i];
- if(value!=null && value.length>0) {
- myregexp = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2}$/;
- var isMatch = myregexp.test(value);
- if(!isMatch) {
- isValid = false;
- }
- }
- }
- if(isValid == false)
- errMsg = g_dictionary["label.example"] + ": 10.1.1.0/24,10.1.1.1/24,10.1.1.2/24";
-
- showError(isValid, field, errMsgField, errMsg);
- return isValid;
-}
-
-/*
-function validateFilename(label, field, errMsgField, isOptional) {
- if(validateString(label, field, errMsgField, isOptional) == false)
- return;
- var isValid = true;
- var errMsg = "";
- var value = field.val();
- if(value!=null && value.length>0) {
- myregexp = /[^a-zA-Z0-9_\-\.]/;
- var isMatch = myregexp.test(value);
- if(isMatch) {
- errMsg = "Only alphanumeric, dot, dashes and underscore characters allowed";
- isValid = false;
- }
- }
- showError(isValid, field, errMsgField, errMsg);
- return isValid;
-}
-*/
-
-function validatePath(label, field, errMsgField, isOptional) {
- if(validateString(label, field, errMsgField, isOptional) == false)
- return;
- var isValid = true;
- var errMsg = "";
- var value = field.val();
- if(value!=null && value.length>0) {
- myregexp = /^\//;
- var isMatch = myregexp.test(value);
- if(!isMatch) {
- errMsg = label + " should be like /aaa/bbb/ccc";
- isValid = false;
- }
- }
- showError(isValid, field, errMsgField, errMsg);
- return isValid;
-}
-
-function cleanErrMsg(field, errMsgField) {
- showError(true, field, errMsgField);
-}
-
-// setter
-function setGridRowsTotal(field, gridRowsTotal) {
- if(gridRowsTotal==null) {
- field.text("");
- return;
- }
-
- if(gridRowsTotal==1)
- field.text(gridRowsTotal + " item");
- else
- field.text(gridRowsTotal + " items");
-}
-
-function changeGridRowsTotal(field, difference) {
- var t = field.text();
- var oldTotal = 0;
- if(t.length>0 && t.indexOf(" item")!=-1) {
- var s = t.substring(0, t.indexOf(" item"));
- if(!isNaN(s))
- oldTotal = parseInt(s);
- }
- var newTotal = oldTotal + difference;
- setGridRowsTotal(field, newTotal);
-}
-
-
-// others
-function trim(val) {
- if(val == null)
- return null;
- return val.replace(/^\s*/, "").replace(/\s*$/, "");
-}
-
-function noNull(val) {
- if(val == null)
- return "";
- else
- return val;
-}
-
-// Prevent cross-site-script(XSS) attack.
-// used right before adding user input to the DOM tree. e.g. DOM_element.html(fromdb(user_input));
-function sanitizeXSS(val) {
- if(val == null || typeof(val) != "string")
- return val;
- val = val.replace(//g, ">"); //replace > whose unicode is \u003e
- return unescape(val);
-}
-
-var midMenuFirstRowLength = 26;
-var midMenuSecondRowLength = 33;
-function clippedText(text, maxLength) {
- if(text.length <= maxLength)
- return text;
- else
- return text.substring(0,maxLength-3)+"...";
-}
-
-function getVmName(p_vmName, p_vmDisplayname) {
- if(p_vmDisplayname == null)
- return fromdb(p_vmName);
-
- var vmName = null;
- if (p_vmDisplayname != p_vmName) {
- vmName = fromdb(p_vmName) + " (" + fromdb(p_vmDisplayname) + ")";
- } else {
- vmName = fromdb(p_vmName);
- }
- return vmName;
-}
-
-// FUNCTION: Handles AJAX error callbacks. You can pass in an optional function to
-// handle errors that are not already handled by this method.
-function handleError(XMLHttpResponse, handleErrorCallback) {
- // User Not authenticated
- if (XMLHttpResponse.status == ERROR_ACCESS_DENIED_DUE_TO_UNAUTHORIZED) {
- $("#dialog_session_expired").dialog("open");
- }
- else if (XMLHttpResponse.status == ERROR_INTERNET_NAME_NOT_RESOLVED) {
- $("#dialog_error_internet_not_resolved").dialog("open");
- }
- else if (XMLHttpResponse.status == ERROR_INTERNET_CANNOT_CONNECT) {
- $("#dialog_error_management_server_not_accessible").dialog("open");
- }
- else if (XMLHttpResponse.status == ERROR_VMOPS_ACCOUNT_ERROR && handleErrorCallback != undefined) {
- handleErrorCallback();
- }
- else if (handleErrorCallback != undefined) {
- handleErrorCallback();
- }
- else {
- var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
- $("#dialog_error").text(fromdb(errorMsg)).dialog("open");
- }
-}
-
-// FUNCTION: Adds a Dialog to the list of active Dialogs so that
-// when you shift from one tab to another, we clean out the dialogs
-var activeDialogs = new Array();
-function activateDialog(dialog, addToActive) {
- if (addToActive == undefined || addToActive) {
- activeDialogs[activeDialogs.length] = dialog;
- }
-
- //bind Enter-Key-pressing event handler to the dialog
- dialog.keypress(function(event) {
- if(event.keyCode == keycode_Enter) {
- $('[aria-labelledby$='+dialog.attr("id")+']').find(":button:first").click();
- return false; //event.preventDefault() + event.stopPropagation()
- }
- });
-}
-function removeDialogs() {
- for (var i = 0; i < activeDialogs.length; i++) {
- activeDialogs[i].remove();
- }
- activeDialogs = new Array();
-}
-
-function convertBytes(bytes) {
- if (bytes < 1024 * 1024) {
- return (bytes / 1024).toFixed(2) + " KB";
- } else if (bytes < 1024 * 1024 * 1024) {
- return (bytes / 1024 / 1024).toFixed(2) + " MB";
- } else if (bytes < 1024 * 1024 * 1024 * 1024) {
- return (bytes / 1024 / 1024 / 1024).toFixed(2) + " GB";
- } else {
- return (bytes / 1024 / 1024 / 1024 / 1024).toFixed(2) + " TB";
- }
-}
-
-function convertHz(hz) {
- if (hz == null)
- return "";
-
- if (hz < 1000) {
- return hz + " MHZ";
- } else {
- return (hz / 1000).toFixed(2) + " GHZ";
- }
-}
-
-function toDayOfMonthDesp(dayOfMonth) {
- return "Day "+dayOfMonth +" of Month";
-}
-
-function toDayOfWeekDesp(dayOfWeek) {
- if (dayOfWeek == "1")
- return "Sunday";
- else if (dayOfWeek == "2")
- return "Monday";
- else if (dayOfWeek == "3")
- return "Tuesday";
- else if (dayOfWeek == "4")
- return "Wednesday";
- else if (dayOfWeek == "5")
- return "Thursday"
- else if (dayOfWeek == "6")
- return "Friday";
- else if (dayOfWeek == "7")
- return "Saturday";
-}
-
-function toBooleanText(booleanValue) {
- if(booleanValue == true || booleanValue == "true")
- return "Yes";
- else if(booleanValue == false ||booleanValue == "false")
- return "No";
-}
-
-function toBooleanValue(booleanText) {
- if(booleanText == "Yes")
- return "true";
- else if(booleanText == "No")
- return "false";
-}
-
-function toNetworkType(usevirtualnetwork) {
- if(usevirtualnetwork == true || usevirtualnetwork == "true")
- return "Public";
- else
- return "Direct";
-}
-
-var roleTypeUser = "0";
-var roleTypeAdmin = "1";
-var roleTypeDomainAdmin = "2";
-function toRole(type) {
- if (type == roleTypeUser) {
- return "User";
- } else if (type == roleTypeAdmin) {
- return "Admin";
- } else if (type == roleTypeDomainAdmin) {
- return "Domain-Admin";
- }
-}
-
-function toAlertType(alertCode) {
- switch (alertCode) {
- case 0 : return "Capacity Threshold - Memory";
- case 1 : return "Capacity Threshold - CPU";
- case 2 : return "Capacity Threshold - Storage Used";
- case 3 : return "Capacity Threshold - Storage Allocated";
- case 4 : return "Capacity Threshold - Public IP";
- case 5 : return "Capacity Threshold - Private IP";
- case 6 : return "Monitoring - Host";
- case 7 : return "Monitoring - VM";
- case 8 : return "Monitoring - Domain Router";
- case 9 : return "Monitoring - Console Proxy";
- case 10 : return "Monitoring - Routing Host";
- case 11 : return "Monitoring - Storage";
- case 12 : return "Monitoring - Usage Server";
- case 13 : return "Monitoring - Management Server";
- case 14 : return "Migration - Domain Router";
- case 15 : return "Migration - Console Proxy";
- case 16 : return "Migration - User VM";
- case 17 : return "VLAN";
- case 18 : return "Monitoring - Secondary Storage VM";
- }
-}
-
-// Timezones
-var timezones = new Object();
-timezones['Etc/GMT+12']='[UTC-12:00] GMT-12:00';
-timezones['Etc/GMT+11']='[UTC-11:00] GMT-11:00';
-timezones['Pacific/Samoa']='[UTC-11:00] Samoa Standard Time';
-timezones['Pacific/Honolulu']='[UTC-10:00] Hawaii Standard Time';
-timezones['US/Alaska']='[UTC-09:00] Alaska Standard Time';
-timezones['America/Los_Angeles']='[UTC-08:00] Pacific Standard Time';
-timezones['Mexico/BajaNorte']='[UTC-08:00] Baja California';
-timezones['US/Arizona']='[UTC-07:00] Arizona';
-timezones['US/Mountain']='[UTC-07:00] Mountain Standard Time';
-timezones['America/Chihuahua']='[UTC-07:00] Chihuahua, La Paz';
-timezones['America/Chicago']='[UTC-06:00] Central Standard Time';
-timezones['America/Costa_Rica']='[UTC-06:00] Central America';
-timezones['America/Mexico_City']='[UTC-06:00] Mexico City, Monterrey';
-timezones['Canada/Saskatchewan']='[UTC-06:00] Saskatchewan';
-timezones['America/Bogota']='[UTC-05:00] Bogota, Lima';
-timezones['America/New_York']='[UTC-05:00] Eastern Standard Time';
-timezones['America/Caracas']='[UTC-04:00] Venezuela Time';
-timezones['America/Asuncion']='[UTC-04:00] Paraguay Time';
-timezones['America/Cuiaba']='[UTC-04:00] Amazon Time';
-timezones['America/Halifax']='[UTC-04:00] Atlantic Standard Time';
-timezones['America/La_Paz']='[UTC-04:00] Bolivia Time';
-timezones['America/Santiago']='[UTC-04:00] Chile Time';
-timezones['America/St_Johns']='[UTC-03:30] Newfoundland Standard Time';
-timezones['America/Araguaina']='[UTC-03:00] Brasilia Time';
-timezones['America/Argentina/Buenos_Aires']='[UTC-03:00] Argentine Time';
-timezones['America/Cayenne']='[UTC-03:00] French Guiana Time';
-timezones['America/Godthab']='[UTC-03:00] Greenland Time';
-timezones['America/Montevideo']='[UTC-03:00] Uruguay Time]';
-timezones['Etc/GMT+2']='[UTC-02:00] GMT-02:00';
-timezones['Atlantic/Azores']='[UTC-01:00] Azores Time';
-timezones['Atlantic/Cape_Verde']='[UTC-01:00] Cape Verde Time';
-timezones['Africa/Casablanca']='[UTC] Casablanca';
-timezones['Etc/UTC']='[UTC] Coordinated Universal Time';
-timezones['Atlantic/Reykjavik']='[UTC] Reykjavik';
-timezones['Europe/London']='[UTC] Western European Time';
-timezones['CET']='[UTC+01:00] Central European Time';
-timezones['Europe/Bucharest']='[UTC+02:00] Eastern European Time';
-timezones['Africa/Johannesburg']='[UTC+02:00] South Africa Standard Time';
-timezones['Asia/Beirut']='[UTC+02:00] Beirut';
-timezones['Africa/Cairo']='[UTC+02:00] Cairo';
-timezones['Asia/Jerusalem']='[UTC+02:00] Israel Standard Time';
-timezones['Europe/Minsk']='[UTC+02:00] Minsk';
-timezones['Europe/Moscow']='[UTC+03:00] Moscow Standard Time';
-timezones['Africa/Nairobi']='[UTC+03:00] Eastern African Time';
-timezones['Asia/Karachi']='[UTC+05:00] Pakistan Time';
-timezones['Asia/Kolkata']='[UTC+05:30] India Standard Time';
-timezones['Asia/Bangkok']='[UTC+05:30] Indochina Time';
-timezones['Asia/Shanghai']='[UTC+08:00] China Standard Time';
-timezones['Asia/Kuala_Lumpur']='[UTC+08:00] Malaysia Time';
-timezones['Australia/Perth']='[UTC+08:00] Western Standard Time (Australia)';
-timezones['Asia/Taipei']='[UTC+08:00] Taiwan';
-timezones['Asia/Tokyo']='[UTC+09:00] Japan Standard Time';
-timezones['Asia/Seoul']='[UTC+09:00] Korea Standard Time';
-timezones['Australia/Adelaide']='[UTC+09:30] Central Standard Time (South Australia)';
-timezones['Australia/Darwin']='[UTC+09:30] Central Standard Time (Northern Territory)';
-timezones['Australia/Brisbane']='[UTC+10:00] Eastern Standard Time (Queensland)';
-timezones['Australia/Canberra']='[UTC+10:00] Eastern Standard Time (New South Wales)';
-timezones['Pacific/Guam']='[UTC+10:00] Chamorro Standard Time';
-timezones['Pacific/Auckland']='[UTC+12:00] New Zealand Standard Time';
diff --git a/ui/old/scripts/cloud.core.network.js b/ui/old/scripts/cloud.core.network.js
deleted file mode 100644
index 40306c9721f..00000000000
--- a/ui/old/scripts/cloud.core.network.js
+++ /dev/null
@@ -1,1689 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function networkGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- if ($advancedSearchPopup.find("#adv_search_account_li").css("display") != "none"
- && $advancedSearchPopup.find("#adv_search_account").hasClass("textwatermark") == false) {
- var account = $advancedSearchPopup.find("#adv_search_account").val();
- if (account!=null && account.length > 0)
- moreCriteria.push("&account="+account);
- }
- }
-
- return moreCriteria.join("");
-}
-
-var zoneObj;
-function afterLoadNetworkJSP($leftmenuItem1) {
- var $topButtonContainer = clearButtonsOnTop();
- $("#top_buttons").appendTo($("#top_button_container").empty());
-
- //switch between different tabs - Public Network page
- var $publicNetworkPage = $("#public_network_page");
- var tabArray = [$publicNetworkPage.find("#tab_details"), $publicNetworkPage.find("#tab_ipallocation"), $publicNetworkPage.find("#tab_firewall"), $publicNetworkPage.find("#tab_loadbalancer")];
- var tabContentArray = [$publicNetworkPage.find("#tab_content_details"), $publicNetworkPage.find("#tab_content_ipallocation"), $publicNetworkPage.find("#tab_content_firewall"), $publicNetworkPage.find("#tab_content_loadbalancer")];
- var afterSwitchFnArray = [publicNetworkJsonToDetailsTab, publicNetworkJsonToIpAllocationTab, publicNetworkJsonToFirewallTab, publicNetworkJsonToLoadBalancerTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-
- //switch between different tabs - Direct Network page
- var $directNetworkPage = $("#direct_network_page");
- var tabArray = [$directNetworkPage.find("#tab_details"), $directNetworkPage.find("#tab_ipallocation")];
- var tabContentArray = [$directNetworkPage.find("#tab_content_details"), $directNetworkPage.find("#tab_content_ipallocation")];
- var afterSwitchFnArray = [directNetworkJsonToDetailsTab, directNetworkJsonToIpAllocationTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-
- //initialize dialog
- initDialog("dialog_add_iprange_to_publicnetwork");
- initDialog("dialog_add_external_firewall");
- initDialog("dialog_add_load_balancer");
- initDialog("dialog_add_network_for_zone");
- initDialog("dialog_add_iprange_to_directnetwork");
-
- networkPopulateMiddleMenu($leftmenuItem1);
- bindAddNetworkButton();
-}
-
-function networkPopulateMiddleMenu($leftmenuItem1) {
- zoneObj = $leftmenuItem1.data("jsonObj");
- if(zoneObj == null)
- return;
-
- //populate items into middle menu
- var $midmenuContainer = $("#midmenu_container").empty();
- var showPublicNetwork = true;
-
- if(zoneObj.networktype == "Basic") {
- $("#add_network_button").hide();
- $.ajax({
- data: createURL("command=listExternalFirewalls&zoneid="+zoneObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listexternalfirewallsresponse.externalfirewall;
- if(items != null && items.length > 0) {
- showPublicNetwork = true;
- $("#add_iprange_button,#tab_ipallocation").show();
- }
- else {
- showPublicNetwork = false;
- $("#add_iprange_button,#tab_ipallocation").hide();
- }
- }
- });
- }
- else { // "Advanced"
- showPublicNetwork = true;
- $("#add_network_button,#add_iprange_button,#tab_ipallocation").show();
- listMidMenuItems2(("listNetworks&trafficType=Guest&zoneId="+zoneObj.id), networkGetSearchParams, "listnetworksresponse", "network", directNetworkToMidmenu, directNetworkToRightPanel, directNetworkGetMidmenuId, false, 1);
- }
-
- if(showPublicNetwork == true && zoneObj.securitygroupsenabled == false) { //public network
- $midmenuContainer.find("#midmenu_container_no_items_available").remove(); //There is always at least one item (i.e. public network) in middle menu. So, "no items available" shouldn't be in middle menu even there is zero direct network item in middle menu.
- $.ajax({
- data: createURL("command=listNetworks&trafficType=Public&isSystem=true&zoneId="+zoneObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listnetworksresponse.network;
- if(items != null && items.length > 0) {
- var item = items[0];
- var $midmenuItem1 = $("#midmenu_item").clone();
- $midmenuItem1.data("toRightPanelFn", publicNetworkToRightPanel);
- publicNetworkToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, publicNetworkToRightPanel, publicNetworkGetMidmenuId);
- $midmenuContainer.prepend($midmenuItem1.show()); //prepend public network on the top of middle menu
- $midmenuItem1.click();
- }
- }
- });
- }
- else if (showPublicNetwork == true && zoneObj.securitygroupsenabled == true){
- $midmenuContainer.find("#midmenu_container_no_items_available").remove(); //There is always at least one item (i.e. public network) in middle menu. So, "no items available" shouldn't be in middle menu even there is zero direct network item in middle menu.
- $.ajax({
- data: createURL("command=listNetworks&type=Direct&trafficType=Guest&isSystem=true&zoneId="+zoneObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listnetworksresponse.network;
- if(items != null && items.length > 0) {
- var item = items[0];
- var $midmenuItem1 = $("#midmenu_item").clone();
- $midmenuItem1.data("toRightPanelFn", publicNetworkToRightPanel);
- publicNetworkToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, publicNetworkToRightPanel, publicNetworkGetMidmenuId);
- $midmenuContainer.prepend($midmenuItem1.show()); //prepend public network on the top of middle menu
- $midmenuItem1.click();
- }
- }
- });
- }
- else {
- publicNetworkToRightPanel(null);
- }
-
-
-
-
-}
-
-//***** Public Network (begin) ******************************************************************************************************
-function publicNetworkGetMidmenuId(jsonObj) {
- return "midmenuItem_publicnetework_" + jsonObj.id;
-}
-
-function publicNetworkToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", publicNetworkGetMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- /*
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_snapshots.png");
- */
-
- var firstRowText = "Public Network";
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = "VLAN: Multiple";
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function publicNetworkToRightPanel($midmenuItem1) {
- $("#public_network_page").show();
- $("#direct_network_page").hide();
-
- if($midmenuItem1 == null) {
- $("#public_network_page").find("#tab_details").hide();
- $("#public_network_page").find("#tab_firewall").click();
- }
- else {
- $("#public_network_page").find("#tab_details").show();
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- $("#public_network_page").find("#tab_details").click();
- }
-
- bindAddIpRangeToPublicNetworkButton();
- bindAddExternalFirewallButton();
- bindAddLoadBalancerButton();
-}
-
-function publicNetworkJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null)
- return;
-
- var $thisTab = $("#right_panel_content #public_network_page #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listNetworks&trafficType=Public&isSystem=true&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listnetworksresponse.network;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.networkofferingdisplaytext));
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#state").text(fromdb(jsonObj.state));
- $thisTab.find("#traffictype").text(fromdb(jsonObj.traffictype));
- $thisTab.find("#broadcastdomaintype").text(fromdb(jsonObj.broadcastdomaintype));
- setBooleanReadField(jsonObj.isshared, $thisTab.find("#isshared"));
- setBooleanReadField(jsonObj.issystem, $thisTab.find("#issystem"));
- $thisTab.find("#networkofferingname").text(fromdb(jsonObj.networkofferingname));
- $thisTab.find("#networkofferingdisplaytext").text(fromdb(jsonObj.networkofferingdisplaytext));
- $thisTab.find("#networkofferingid").text(fromdb(jsonObj.networkofferingid));
- $thisTab.find("#related").text(fromdb(jsonObj.related));
- $thisTab.find("#zoneid").text(fromdb(jsonObj.zoneid));
- $thisTab.find("#dns1").text(fromdb(jsonObj.dns1));
- $thisTab.find("#dns2").text(fromdb(jsonObj.dns2));
- $thisTab.find("#domainid").text(fromdb(jsonObj.domainid));
- $thisTab.find("#account").text(fromdb(jsonObj.account));
-
- //actions ***
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-
- $thisTab.find("#tab_container").show();
- $thisTab.find("#tab_spinning_wheel").hide();
-}
-
-function publicNetworkJsonToIpAllocationTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null)
- return;
-
- var $thisTab = $("#right_panel_content #public_network_page #tab_content_ipallocation");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listVlanIpRanges&zoneid="+ jsonObj.zoneid+"&networkId=" + jsonObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listvlaniprangesresponse.vlaniprange;
- var $container = $thisTab.find("#tab_container").empty();
- var $template = $("#public_iprange_template");
- if(items != null && items.length > 0) {
- for(var i=0; i 0) {
- for(var i=0; i= 2) {
- var $subTemplate = $("#grid_row_template");
-
- var ip = array1[0];
- $template.find("#grid_header_title").text(ip);
- var $newSubTemplate = $subTemplate.clone();
- $newSubTemplate.attr("id", ("grid_row_template_ip")).addClass("even");
- $newSubTemplate.find("#label").text("IP: ");
- $newSubTemplate.find("#value").text(ip);
- $template.append($newSubTemplate.show());
-
- var parameters = array1[1];
- if(parameters != null) {
- var array2 = parameters.split("&");
- for(var i=0; i < array2.length; i++) {
- var array3 = array2[i].split("=");
- if(array3.length >= 2) {
- var $newSubTemplate = $subTemplate.clone();
- $newSubTemplate.attr("id", ("grid_row_template_"+i));
- if(i%2 == 0)
- $newSubTemplate.addClass("odd");
- else
- $newSubTemplate.addClass("even");
- $newSubTemplate.find("#label").text(array3[0] + ": ");
- $newSubTemplate.find("#value").text(array3[1]);
- $template.append($newSubTemplate.show());
- }
- }
- }
- }
-}
-*/
-
-function publicNetworkFirewallJsonToTemplate(jsonObj, $template) {
- $template.data("jsonObj", jsonObj);
- $template.attr("id", "publicNetworkFirewall_" + jsonObj.id);
- $template.find("#id").text(fromdb(jsonObj.id));
- //publicNetworkParseUrl(jsonObj.url, $template);
- $template.find("#ip").text(fromdb(jsonObj.ipaddress));
- $template.find("#username").text(fromdb(jsonObj.username));
- $template.find("#publicinterface").text(fromdb(jsonObj.publicinterface));
- $template.find("#privateinterface").text(fromdb(jsonObj.privateinterface));
- $template.find("#usageinterface").text(fromdb(jsonObj.usageinterface));
- $template.find("#publiczone").text(fromdb(jsonObj.publiczone));
- $template.find("#privatezone").text(fromdb(jsonObj.privatezone));
- $template.find("#numretries").text(fromdb(jsonObj.numretries));
- $template.find("#timeout").text(fromdb(jsonObj.timeout));
-
- var $actionLink = $template.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
-
- buildActionLinkForSubgridItem("label.action.delete.firewall", publicNetworkFirewallActionMap, $actionMenu, $template);
-}
-
-var publicNetworkFirewallActionMap = {
- "label.action.delete.firewall": {
- isAsyncJob: false,
- dialogBeforeActionFn : doDeleteExternalFirewall,
- inProcessText: "label.action.delete.firewall.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- $subgridItem.slideUp("slow", function() {
- $(this).remove();
- });
- networkPopulateMiddleMenu($selectedSubMenu); //refresh middle menu (check if public network should be removed) and top buttons(check if Add IP Range button should be hidden)
- }
- }
-}
-
-function doDeleteExternalFirewall($actionLink, $subgridItem) {
- var jsonObj = $subgridItem.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.external.firewall"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=deleteExternalFirewall&id="+id;
- doActionToSubgridItem(id, $actionLink, apiCommand, $subgridItem);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function publicNetworkJsonToLoadBalancerTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null)
- return;
-
- var $thisTab = $("#right_panel_content #public_network_page #tab_content_loadbalancer");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listExternalLoadBalancers&zoneid="+zoneObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listexternalloadbalancersresponse.externalloadbalancer;
- var $container = $thisTab.find("#tab_container").empty();
- var $template = $("#loadbalancer_template");
- if(items != null && items.length > 0) {
- for(var i=0; izone-wide').append('account-specific ');
- }
- else if($(this).val() == "untagged") {
- $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_vlan_container").hide();
- $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").empty().append('zone-wide ');
- }
-
- // default value of "#add_publicip_vlan_scope" is "zone-wide". Calling change() will hide "#domain_container", "#add_publicip_vlan_account_container".
- $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").change();
-
- return false;
- });
-
- $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").change(function(event) {
- if($(this).val() == "zone-wide") {
- $dialogAddIpRangeToPublicNetwork.find("#domain_container").hide();
- $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_account_container").hide();
- }
- else if($(this).val() == "account-specific") {
- $dialogAddIpRangeToPublicNetwork.find("#domain_container").show();
- $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_account_container").show();
- }
- return false;
- });
- //***** binding Event Handler (end) ******
-
- $("#add_iprange_button").unbind("click").bind("click", function(event) {
- if($("#public_network_page").find("#tab_content_ipallocation").css("display") == "none")
- $("#public_network_page").find("#tab_ipallocation").click();
-
- $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_tagged").change();
- $dialogAddIpRangeToPublicNetwork.find("#add_publicip_vlan_scope").change(); // default value of "#add_publicip_vlan_scope" is "zone-wide". Calling change() will hide "#domain_container", "#add_publicip_vlan_account_container".
-
- if(zoneObj.domainid != null) { //list only domains under zoneObj.domainid
- applyAutoCompleteToDomainChildrenField($dialogAddIpRangeToPublicNetwork.find("#domain"), zoneObj.domainid);
- }
- else { //list all domains
- applyAutoCompleteToDomainField($dialogAddIpRangeToPublicNetwork.find("#domain"));
- }
-
- $dialogAddIpRangeToPublicNetwork
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- var isTagged = $thisDialog.find("#add_publicip_vlan_tagged").val() == "tagged";
-
-
- isValid &= validateString("Account", $thisDialog.find("#add_publicip_vlan_account"), $thisDialog.find("#add_publicip_vlan_account_errormsg"), true); //optional
-
- if (isTagged) {
- isValid &= validateNumber("VLAN", $thisDialog.find("#add_publicip_vlan_vlan"), $thisDialog.find("#add_publicip_vlan_vlan_errormsg"), 1, 4095);
- }
-
- isValid &= validateIp("Gateway", $thisDialog.find("#add_publicip_vlan_gateway"), $thisDialog.find("#add_publicip_vlan_gateway_errormsg"), false); //required
- isValid &= validateNetmask("Netmask", $thisDialog.find("#add_publicip_vlan_netmask"), $thisDialog.find("#add_publicip_vlan_netmask_errormsg"), false); //required
- isValid &= validateIp("Start IP Range", $thisDialog.find("#add_publicip_vlan_startip"), $thisDialog.find("#add_publicip_vlan_startip_errormsg"), false); //required
- isValid &= validateIp("End IP Range", $thisDialog.find("#add_publicip_vlan_endip"), $thisDialog.find("#add_publicip_vlan_endip_errormsg"), true); //optional
-
- if($thisDialog.find("#domain_container").css("display") != "none") {
- isValid &= validateString("Domain", $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), false); //required
- var domainName = $thisDialog.find("#domain").val();
- var domainId;
- if(domainName != null && domainName.length > 0) {
- var items;
- if(zoneObj.domainid != null)
- items = autoCompleteDomains;
- else
- items = autoCompleteDomains;
-
- if(items != null && items.length > 0) {
- for(var i=0; i < items.length; i++) {
- if(fromdb(items[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = items[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- isValid &= false;
- }
- }
- }
-
- if (!isValid)
- return;
-
- var isDirect = false;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var vlan = trim($thisDialog.find("#add_publicip_vlan_vlan").val());
- if (isTagged) {
- vlan = "&vlan="+vlan;
- } else {
- vlan = "&vlan=untagged";
- }
-
- var scopeParams = "";
- if($thisDialog.find("#domain_container").css("display") != "none") {
- scopeParams = "&domainId="+domainId+"&account="+trim($thisDialog.find("#add_publicip_vlan_account").val());
- } else if (isDirect) {
- scopeParams = "&isshared=true";
- }
-
- var array1 = [];
- var gateway = $thisDialog.find("#add_publicip_vlan_gateway").val();
- array1.push("&gateway="+todb(gateway));
-
- var netmask = $thisDialog.find("#add_publicip_vlan_netmask").val();
- array1.push("&netmask="+todb(netmask));
-
- var startip = $thisDialog.find("#add_publicip_vlan_startip").val();
- array1.push("&startip="+todb(startip));
-
- var endip = $thisDialog.find("#add_publicip_vlan_endip").val(); //optional field (might be empty)
- if(endip != null && endip.length > 0)
- array1.push("&endip="+todb(endip));
-
- //zoneObj.networktype == "Advanced", only advanced zone has option to Add IP Range (in network node)
- if(zoneObj.securitygroupsenabled == false)
- array1.push("&forVirtualNetwork=true");
- else
- array1.push("&forVirtualNetwork=false");
-
- // Add IP Range to public network
- $.ajax({
- data: createURL("command=createVlanIpRange&zoneId="+zoneObj.id+vlan+scopeParams+array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.createvlaniprangeresponse.vlan;
- var $newTemplate = $("#public_iprange_template").clone();
- publicNetworkIprangeJsonToTemplate(item, $newTemplate);
- $("#public_network_page").find("#tab_content_ipallocation").find("#tab_container").prepend($newTemplate.show());
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
-
-
-
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function bindAddExternalFirewallButton() {
- var $dialogAddExternalFirewall = $("#dialog_add_external_firewall");
-
- $("#add_external_firewall_button").show().unbind("click").bind("click", function(event) {
- if($("#public_network_page").find("#tab_content_firewall").css("display") == "none")
- $("#public_network_page").find("#tab_firewall").click();
-
- $dialogAddExternalFirewall.find("#info_container").hide();
- $dialogAddExternalFirewall.find("#zone_name").text(fromdb(zoneObj.name));
-
- $dialogAddExternalFirewall
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateString("IP", $thisDialog.find("#ip"), $thisDialog.find("#ip_errormsg"), false); //required
- isValid &= validateString("User Name", $thisDialog.find("#username"), $thisDialog.find("#username_errormsg"), false); //required
- isValid &= validateString("Password", $thisDialog.find("#password"), $thisDialog.find("#password_errormsg"), false); //required
- isValid &= validateString("Public Interface", $thisDialog.find("#public_interface"), $thisDialog.find("#public_interface_errormsg"), true); //optinal
- isValid &= validateString("Private Interface", $thisDialog.find("#private_interface"), $thisDialog.find("#private_interface_errormsg"), true); //optinal
- isValid &= validateString("Usage Interface", $thisDialog.find("#usage_interface"), $thisDialog.find("#usage_interface_errormsg"), true); //optinal
- isValid &= validateString("Public Zone", $thisDialog.find("#public_zone"), $thisDialog.find("#public_zone_errormsg"), true); //optinal
- isValid &= validateString("Private Zone", $thisDialog.find("#private_zone"), $thisDialog.find("#private_zone_errormsg"), true); //optinal
- isValid &= validateInteger("Number of Retries", $thisDialog.find("#numretries"), $thisDialog.find("#numretries_errormsg"), null, null, true); //optinal
- isValid &= validateInteger(" Timeout(seconds)", $thisDialog.find("#timeout"), $thisDialog.find("#timeout_errormsg"), null, null, true); //optinal
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var array1 = [];
-
- array1.push("&zoneid=" + todb(zoneObj.id));
-
- var username = $thisDialog.find("#username").val();
- array1.push("&username=" + todb(username));
-
- var password = $thisDialog.find("#password").val();
- array1.push("&password=" + todb(password));
-
- //*** construct URL (begin) ***
- var url = [];
-
- var ip = $thisDialog.find("#ip").val();
- if(ip.indexOf("http://")==-1)
- url.push("http://"+ip);
- else
- url.push(ip);
-
- var isQuestionMarkAdded = false;
-
- var publicInterface = $thisDialog.find("#public_interface").val();
- if(publicInterface != null && publicInterface.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("publicInterface="+publicInterface);
- }
-
- var privateInterface = $thisDialog.find("#private_interface").val();
- if(privateInterface != null && privateInterface.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("privateInterface="+privateInterface);
- }
-
- var usageInterface = $thisDialog.find("#usage_interface").val();
- if(usageInterface != null && usageInterface.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("usageInterface="+usageInterface);
- }
-
- var publicZone = $thisDialog.find("#public_zone").val();
- if(publicZone != null && publicZone.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("publicZone="+publicZone);
- }
-
- var privateZone = $thisDialog.find("#private_zone").val();
- if(privateZone != null && privateZone.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("privateZone="+privateZone);
- }
-
- var numretries = $thisDialog.find("#numretries").val();
- if(numretries != null && numretries.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("numretries="+numretries);
- }
-
- var timeout = $thisDialog.find("#timeout").val();
- if(timeout != null && timeout.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("timeout="+timeout);
- }
-
- array1.push("&url="+todb(url.join("")));
- //*** construct URL (end) ***
-
- $.ajax({
- data: createURL("command=addExternalFirewall"+array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.addexternalfirewallresponse.externalfirewall;
- var $newTemplate = $("#externalfirewall_template").clone();
- publicNetworkFirewallJsonToTemplate(item, $newTemplate);
- $("#right_panel_content #public_network_page #tab_content_firewall").find("#tab_container").append($newTemplate.show());
-
- networkPopulateMiddleMenu($selectedSubMenu); //refresh middle menu (add public network) and top buttons(show Add IP Range button)
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-var publicNetworkIpRangeActionMap = {
- "label.action.delete.IP.range": {
- api: "deleteVlanIpRange",
- isAsyncJob: false,
- inProcessText: "label.action.delete.IP.range.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- $subgridItem.slideUp("slow", function() {
- $(this).remove();
- });
- }
- }
-}
-
-
-function bindAddLoadBalancerButton() {
- var $dialogAddLoadBalancer = $("#dialog_add_load_balancer");
-
- $("#add_load_balancer_button").show().unbind("click").bind("click", function(event) {
- if($("#public_network_page").find("#tab_content_loadbalancer").css("display") == "none")
- $("#public_network_page").find("#tab_loadbalancer").click();
-
- $dialogAddLoadBalancer.find("#info_container").hide();
- $dialogAddLoadBalancer.find("#zone_name").text(fromdb(zoneObj.name));
-
- $dialogAddLoadBalancer
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateString("IP", $thisDialog.find("#ip"), $thisDialog.find("#ip_errormsg"), false); //required
- isValid &= validateString("User Name", $thisDialog.find("#username"), $thisDialog.find("#username_errormsg"), false); //required
- isValid &= validateString("Password", $thisDialog.find("#password"), $thisDialog.find("#password_errormsg"), false); //required
- isValid &= validateString("Public Interface", $thisDialog.find("#public_interface"), $thisDialog.find("#public_interface_errormsg"), true); //optinal
- isValid &= validateString("Private Interface", $thisDialog.find("#private_interface"), $thisDialog.find("#private_interface_errormsg"), true); //optinal
- isValid &= validateInteger("Number of Retries", $thisDialog.find("#numretries"), $thisDialog.find("#numretries_errormsg"), null, null, true); //optinal
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var array1 = [];
-
- array1.push("&zoneid=" + todb(zoneObj.id));
-
- var username = $thisDialog.find("#username").val();
- array1.push("&username=" + todb(username));
-
- var password = $thisDialog.find("#password").val();
- array1.push("&password=" + todb(password));
-
- //*** construct URL (begin) ***
- var url = [];
-
- var ip = $thisDialog.find("#ip").val();
- if(ip.indexOf("http://")==-1)
- url.push("http://"+ip);
- else
- url.push(ip);
-
- var isQuestionMarkAdded = false;
-
- var publicInterface = $thisDialog.find("#public_interface").val();
- if(publicInterface != null && publicInterface.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("publicInterface="+publicInterface);
- }
-
- var privateInterface = $thisDialog.find("#private_interface").val();
- if(privateInterface != null && privateInterface.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("privateInterface="+privateInterface);
- }
-
- var numretries = $thisDialog.find("#numretries").val();
- if(numretries != null && numretries.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("numretries="+numretries);
- }
-
- var isInline = $thisDialog.find("#mode").val();
- if(isInline != null && isInline.length > 0) {
- if(isQuestionMarkAdded == false) {
- url.push("?");
- isQuestionMarkAdded = true;
- }
- else {
- url.push("&");
- }
- url.push("inline="+isInline);
- }
-
- array1.push("&url="+todb(url.join("")));
- //*** construct URL (end) ***
-
- $.ajax({
- data: createURL("command=addExternalLoadBalancer"+array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.addexternalloadbalancerresponse.externalloadbalancer;
- var $newTemplate = $("#loadbalancer_template").clone();
- publicNetworkLoadBalancerJsonToTemplate(item, $newTemplate);
- $("#right_panel_content #public_network_page #tab_content_loadbalancer").find("#tab_container").append($newTemplate.show());
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-//***** Public Network (end) ******************************************************************************************************
-
-
-//***** Direct Network (begin) ******************************************************************************************************
-function directNetworkGetMidmenuId(jsonObj) {
- return "midmenuItem_directnetework_" + jsonObj.id;
-}
-
-function directNetworkToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", directNetworkGetMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- /*
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_snapshots.png");
- */
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = "VLAN : " + fromdb(jsonObj.vlan);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function directNetworkToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
-
- $("#direct_network_page").show();
- bindAddIpRangeToDirectNetworkButton($midmenuItem1);
- $("#add_external_firewall_button").unbind("click").hide();
- $("#add_load_balancer_button").unbind("click").hide();
-
- $("#public_network_page").hide();
-
- $("#direct_network_page").find("#tab_details").click();
-}
-
-function directNetworkClearRightPanel() {
- directNetworkJsonClearDetailsTab();
- directNetworkJsonClearIpAllocationTab();
-}
-
-function directNetworkJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null)
- return;
-
- var $thisTab = $("#right_panel_content #direct_network_page #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listNetworks&trafficType=Guest&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listnetworksresponse.network;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#name_edit").val(fromdb(jsonObj.name));
- $thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
- $thisTab.find("#displaytext_edit").val(fromdb(jsonObj.displaytext));
- $thisTab.find("#default").text((jsonObj.isdefault) ? "Yes" : "No");
- $thisTab.find("#vlan").text(fromdb(jsonObj.vlan));
- $thisTab.find("#gateway").text(fromdb(jsonObj.gateway));
- $thisTab.find("#netmask").text(fromdb(jsonObj.netmask));
- $thisTab.find("#networkdomain").text(fromdb(jsonObj.networkdomain));
- $thisTab.find("#networkdomain_edit").val(fromdb(jsonObj.networkdomain));
- $thisTab.find("#tags").text(fromdb(jsonObj.tags));
- $thisTab.find("#tags_edit").val(fromdb(jsonObj.tags));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain)); //might be null
- $thisTab.find("#account").text(fromdb(jsonObj.account)); //might be null
-
- //actions ***
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
-
- buildActionLinkForTab("label.action.edit.network", directNetworkActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.delete.network", directNetworkActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- $thisTab.find("#tab_container").show();
- $thisTab.find("#tab_spinning_wheel").hide();
-}
-
-function directNetworkJsonClearDetailsTab() {
- var $thisTab = $("#right_panel_content #direct_network_page #tab_content_details");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#id").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
- $thisTab.find("#displaytext").text("");
- $thisTab.find("#displaytext_edit").val("");
- $thisTab.find("#default").text("");
- $thisTab.find("#vlan").text("");
- $thisTab.find("#gateway").text("");
- $thisTab.find("#netmask").text("");
- $thisTab.find("#networkdomain").text("");
- $thisTab.find("#networkdomain_edit").val("");
- $thisTab.find("#tags").text("");
- $thisTab.find("#tags_edit").val("");
- $thisTab.find("#domain").text("");
- $thisTab.find("#account").text("");
-
- //actions ***
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-function directNetworkJsonToIpAllocationTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null)
- return;
-
- var $thisTab = $("#right_panel_content #direct_network_page #tab_content_ipallocation");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listVlanIpRanges&zoneid="+ jsonObj.zoneid + "&networkid="+jsonObj.id),
- dataType: "json",
- success: function(json) {
- var items = json.listvlaniprangesresponse.vlaniprange;
- var $container = $thisTab.find("#tab_container").empty();
- var $template = $("#direct_iprange_template");
- if(items != null && items.length > 0) {
- for(var i=0; iaccount-specific');
- else
- $dialogAddNetworkForZone.find("#add_publicip_vlan_scope").empty().append('zone-wide ')
- .append('domain-specific ')
- .append('account-specific ');
-
- $dialogAddNetworkForZone.find("#add_publicip_vlan_scope").change(function(event) {
- if($(this).val() == "zone-wide") {
- $dialogAddNetworkForZone.find("#domain_container").hide();
- $dialogAddNetworkForZone.find("#add_publicip_vlan_account_container").hide();
- }
- else if($(this).val() == "domain-specific") {
- $dialogAddNetworkForZone.find("#domain_container").show();
- $dialogAddNetworkForZone.find("#add_publicip_vlan_account_container").hide();
- }
- else if($(this).val() == "account-specific") {
- $dialogAddNetworkForZone.find("#domain_container").show();
- $dialogAddNetworkForZone.find("#add_publicip_vlan_account_container").show();
- }
- return false;
- });
-
- $("#add_network_button").unbind("click").bind("click", function(event) {
- $dialogAddNetworkForZone.find("#info_container").hide();
- $dialogAddNetworkForZone.find("#zone_name").text(fromdb(zoneObj.name));
- $dialogAddNetworkForZone.find("#add_publicip_vlan_vlan, #add_publicip_vlan_gateway, #add_publicip_vlan_netmask, #add_publicip_vlan_startip, #add_publicip_vlan_endip, #domain, #add_publicip_vlan_account").val("");
- $dialogAddNetworkForZone.find("#add_publicip_vlan_scope").change();
-
- if (zoneObj.networktype == 'Basic') {
-
- }
- else {
- if(zoneObj.domainid != null) { //list only domains under zoneObj.domainid
- applyAutoCompleteToDomainChildrenField($dialogAddNetworkForZone.find("#domain"), zoneObj.domainid);
- }
- else { //list all domains
- applyAutoCompleteToDomainField($dialogAddNetworkForZone.find("#domain"));
- }
- }
-
- $dialogAddNetworkForZone
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- var isTagged = true;
- var isDirect = true;
-
- isValid &= validateString("Account", $thisDialog.find("#add_publicip_vlan_account"), $thisDialog.find("#add_publicip_vlan_account_errormsg"), true); //optional
- isValid &= validateInteger("VLAN", $thisDialog.find("#add_publicip_vlan_vlan"), $thisDialog.find("#add_publicip_vlan_vlan_errormsg"), 1, 4095);
- isValid &= validateString("Network Name", $thisDialog.find("#add_publicip_vlan_network_name"), $thisDialog.find("#add_publicip_vlan_network_name_errormsg"));
- isValid &= validateString("Network Description", $thisDialog.find("#add_publicip_vlan_network_desc"), $thisDialog.find("#add_publicip_vlan_network_desc_errormsg"));
- isValid &= validateIp("Gateway", $thisDialog.find("#add_publicip_vlan_gateway"), $thisDialog.find("#add_publicip_vlan_gateway_errormsg"));
- isValid &= validateNetmask("Netmask", $thisDialog.find("#add_publicip_vlan_netmask"), $thisDialog.find("#add_publicip_vlan_netmask_errormsg"));
- isValid &= validateIp("Start IP Range", $thisDialog.find("#add_publicip_vlan_startip"), $thisDialog.find("#add_publicip_vlan_startip_errormsg")); //required
- isValid &= validateIp("End IP Range", $thisDialog.find("#add_publicip_vlan_endip"), $thisDialog.find("#add_publicip_vlan_endip_errormsg"), true); //optional
- isValid &= validateString("Network Domain", $thisDialog.find("#networkdomain"), $thisDialog.find("#networkdomain_errormsg"), true); //optional
- isValid &= validateString("Tags", $thisDialog.find("#tags"), $thisDialog.find("#tags_errormsg"), true); //optional
-
- if($thisDialog.find("#domain_container").css("display") != "none") {
- isValid &= validateString("Domain", $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), false); //required
- var domainName = $thisDialog.find("#domain").val();
- var domainId;
- if(domainName != null && domainName.length > 0) {
- var items;
- if(zoneObj.domainid != null)
- items = autoCompleteDomains;
- else
- items = autoCompleteDomains;
-
- if(items != null && items.length > 0) {
- for(var i=0; i < items.length; i++) {
- if(fromdb(items[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = items[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- isValid &= false;
- }
- }
- }
-
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var array1 = [];
- array1.push("&zoneId="+zoneObj.id);
-
- var name = todb($thisDialog.find("#add_publicip_vlan_network_name").val());
- array1.push("&name="+name);
-
- var desc = todb($thisDialog.find("#add_publicip_vlan_network_desc").val());
- array1.push("&displayText="+desc);
-
- var vlan = trim($thisDialog.find("#add_publicip_vlan_vlan").val());
- if (isTagged) {
- vlan = "&vlan="+vlan;
- } else {
- vlan = "&vlan=untagged";
- }
- array1.push(vlan);
-
- var scopeParams = "";
- if($thisDialog.find("#domain_container").css("display") != "none") {
- if ($thisDialog.find("#add_publicip_vlan_account_container").css("display") != "none") {
- scopeParams = "&domainId="+domainId+"&account="+trim($thisDialog.find("#add_publicip_vlan_account").val());
- } else {
- scopeParams = "&domainId="+domainId+"&isshared=true";
- }
- } else if (isDirect) {
- scopeParams = "&isshared=true";
- }
- array1.push(scopeParams);
-
- var isDefault = $thisDialog.find("#add_publicip_vlan_default").val();
- array1.push("&isDefault="+isDefault);
-
- var gateway = $thisDialog.find("#add_publicip_vlan_gateway").val();
- array1.push("&gateway="+todb(gateway));
-
- var netmask = $thisDialog.find("#add_publicip_vlan_netmask").val();
- array1.push("&netmask="+todb(netmask));
-
- var startip = $thisDialog.find("#add_publicip_vlan_startip").val();
- array1.push("&startip="+todb(startip));
-
- var endip = $thisDialog.find("#add_publicip_vlan_endip").val();
- array1.push("&endip="+todb(endip));
-
- var networkdomain = $thisDialog.find("#networkdomain").val();
- if(networkdomain != null && networkdomain.length > 0)
- array1.push("&networkdomain="+todb(networkdomain));
-
- var tags = $thisDialog.find("#tags").val();
- if(tags != null && tags.length > 0)
- array1.push("&tags="+todb(tags));
-
- // Creating network for the direct networking
- $.ajax({
- //data: createURL("command=listNetworkOfferings&guestiptype=Direct"),
- data: createURL("command=listNetworkOfferings&guestiptype=Shared"),
- dataType: "json",
- async: false,
- success: function(json) {
- var networkOfferings = json.listnetworkofferingsresponse.networkoffering;
- if (networkOfferings != null && networkOfferings.length > 0) {
- for (var i = 0; i < networkOfferings.length; i++) {
- if (networkOfferings[i].isdefault) {
- array1.push("&networkOfferingId="+networkOfferings[i].id);
-
- // Create a network from this.
- $.ajax({
- data: createURL("command=createNetwork"+array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.createnetworkresponse.network;
- var $midmenuItem1 = $("#midmenu_item").clone();
- $midmenuItem1.data("toRightPanelFn", directNetworkToRightPanel);
- directNetworkToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, directNetworkToRightPanel, directNetworkGetMidmenuId);
- $("#midmenu_container").append($midmenuItem1.show());
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- }
- }
- }
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function bindAddIpRangeToDirectNetworkButton($midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#add_iprange_button").unbind("click").bind("click", function(event) {
- if($("#direct_network_page").find("#tab_content_ipallocation").css("display") == "none")
- $("#direct_network_page").find("#tab_ipallocation").click();
-
- var $dialogAddIpRangeToDirectNetwork = $("#dialog_add_iprange_to_directnetwork");
- $dialogAddIpRangeToDirectNetwork.find("#directnetwork_name").text(fromdb(jsonObj.name));
- $dialogAddIpRangeToDirectNetwork.find("#zone_name").text(fromdb(zoneObj.name));
-
- if(zoneObj.securitygroupsenabled)
- $dialogAddIpRangeToDirectNetwork.find("#vlan_id_container, #gateway_container, #netmask_container").show();
- else
- $dialogAddIpRangeToDirectNetwork.find("#vlan_id_container, #gateway_container, #netmask_container").hide();
-
- $dialogAddIpRangeToDirectNetwork
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- if($thisDialog.find("#vlan_id_container").css("display") != "none")
- isValid &= validateNumber("VLAN", $thisDialog.find("#vlan_id"), $thisDialog.find("#vlan_id_errormsg"), 1, 4095);
- if($thisDialog.find("#gateway_container").css("display") != "none")
- isValid &= validateIp("Gateway", $thisDialog.find("#gateway"), $thisDialog.find("#gateway_errormsg"), false); //required
- if($thisDialog.find("#netmask_container").css("display") != "none")
- isValid &= validateNetmask("Netmask", $thisDialog.find("#netmask"), $thisDialog.find("#netmask_errormsg"), false); //required
- isValid &= validateIp("Start IP Range", $thisDialog.find("#add_publicip_vlan_startip"), $thisDialog.find("#add_publicip_vlan_startip_errormsg"), false); //required
- isValid &= validateIp("End IP Range", $thisDialog.find("#add_publicip_vlan_endip"), $thisDialog.find("#add_publicip_vlan_endip_errormsg"), true); //optional
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var array1 = [];
-
- if($thisDialog.find("#vlan_id_container").css("display") != "none") {
- var vlanId = $thisDialog.find("#vlan_id").val();
- array1.push("&vlan="+todb(vlanId));
- }
- //else { //Bug 8950 (don't have to specify "vlan" parameter when Adding Ip Range to Direct Network)
- // array1.push("&vlan=untagged");
- //}
-
-
- if($thisDialog.find("#gateway_container").css("display") != "none") {
- var gateway = $thisDialog.find("#gateway").val();
- array1.push("&gateway="+todb(gateway));
- }
-
- if($thisDialog.find("#netmask_container").css("display") != "none") {
- var netmask = $thisDialog.find("#netmask").val();
- array1.push("&netmask="+todb(netmask));
- }
-
- var startip = $thisDialog.find("#add_publicip_vlan_startip").val();
- array1.push("&startip="+todb(startip));
-
- var endip = $thisDialog.find("#add_publicip_vlan_endip").val();
- if(endip != null && endip.length > 0)
- array1.push("&endip="+todb(endip));
-
- $.ajax({
- data: createURL("command=createVlanIpRange&forVirtualNetwork=false&networkid="+todb(jsonObj.id)+array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.createvlaniprangeresponse.vlan;
- var $newTemplate = $("#direct_iprange_template").clone();
- directNetworkIprangeJsonToTemplate(item, $newTemplate);
- $("#right_panel_content #direct_network_page #tab_content_ipallocation").find("#tab_container").prepend($newTemplate.show());
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-var directNetworkActionMap = {
- "label.action.edit.network": {
- dialogBeforeActionFn : doEditDirectNetwork
- }
- ,
- "label.action.delete.network": {
- isAsyncJob: true,
- asyncJobResponse: "deletenetworkresponse",
- dialogBeforeActionFn : doDeleteDirectNetwork,
- inProcessText: "label.action.delete.network.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#direct_network_page").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- directNetworkClearRightPanel();
- }
- }
- }
-}
-
-function doEditDirectNetwork($actionLink, $detailsTab, $midmenuItem1) {
- var networkObj = $midmenuItem1.data("jsonObj");
-
- $readonlyFields = $("#direct_network_page").find("#tab_content_details").find("#name, #displaytext, #tags");
- $editFields = $("#direct_network_page").find("#tab_content_details").find("#name_edit, #displaytext_edit, #tags_edit");
-
- var serviceObj = ipFindNetworkServiceByName("Dns", networkObj);
- if(serviceObj != null) {
- var capabilityObj = ipFindCapabilityByName("AllowDnsSuffixModification", serviceObj);
- if(capabilityObj != null) {
- if(capabilityObj.value == "true") {
- $readonlyFields = $("#direct_network_page").find("#tab_content_details").find("#name, #displaytext, #tags, #networkdomain");
- $editFields = $("#direct_network_page").find("#tab_content_details").find("#name_edit, #displaytext_edit, #tags_edit, #networkdomain_edit");
- }
- }
- }
-
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditDirectNetwork2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditDirectNetwork2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"), true);
- isValid &= validateString("Display Text", $detailsTab.find("#displaytext_edit"), $detailsTab.find("#displaytext_edit_errormsg"), true);
- if (!isValid)
- return;
-
- var label = "label.action.edit.network";
- var label2;
- if(label in dictionary)
- label2 = dictionary[label];
- else
- label2 = label;
-
- var inProcessText = "label.action.edit.network.processing";
- var inProcessText2;
- if(inProcessText in dictionary)
- inProcessText2 = dictionary[inProcessText];
- else
- inProcessText2 = inProcessText;
-
- var $spinningWheel = $detailsTab.find("#spinning_wheel");
- $spinningWheel.find("#description").text(inProcessText2);
- $spinningWheel.show();
-
- var $afterActionInfoContainer = $("#right_panel_content #after_action_info_container_on_top");
- $afterActionInfoContainer.removeClass("errorbox").hide();
-
- var array1 = [];
- var name = $detailsTab.find("#name_edit").val();
- array1.push("&name="+todb(name));
-
- var displaytext = $detailsTab.find("#displaytext_edit").val();
- array1.push("&displayText="+todb(displaytext));
-
- var networkdomain = $detailsTab.find("#networkdomain_edit").val();
- array1.push("&networkdomain="+todb(networkdomain));
-
- var tags = $detailsTab.find("#tags_edit").val();
- array1.push("&tags="+todb(tags));
-
- $.ajax({
- data: createURL("command=updateNetwork&id="+id+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.updatenetworkresponse.jobid;
- var timerKey = "updatenetworkJob_"+jobId;
- g_nonCompleteAsyncJob[jobId] = label2;
-
- $("body").everyTime(2000, timerKey, function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- delete g_nonCompleteAsyncJob[jobId];
- $spinningWheel.hide();
-
- if (result.jobstatus == 1) {
- // Succeeded
- var jsonObj = result.jobresult.network;
- directNetworkToMidmenu(jsonObj, $midmenuItem1);
- directNetworkToRightPanel($midmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- } else if (result.jobstatus == 2) {
- var errorMsg = label2+ " - " + g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- if($("#middle_menu").css("display") != "none")
- handleMidMenuItemAfterDetailsTabAction($midmenuItem1, false, errorMsg);
- else
- showAfterActionInfoOnTop(false, errorMsg);
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDetailsTab(XMLHttpResponse, $detailsTab, label2, $afterActionInfoContainer, $midmenuItem1);
- });
- }
- });
- }, 0);
- }
- });
-}
-
-function doDeleteDirectNetwork($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.network"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=deleteNetwork&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-//***** Direct Network (end) ******************************************************************************************************
-
diff --git a/ui/old/scripts/cloud.core.networkoffering.js b/ui/old/scripts/cloud.core.networkoffering.js
deleted file mode 100644
index 609b1c15a15..00000000000
--- a/ui/old/scripts/cloud.core.networkoffering.js
+++ /dev/null
@@ -1,203 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function networkOfferingGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var availability = $advancedSearchPopup.find("#adv_search_availability").val();
- if (availability!=null && availability.length > 0)
- moreCriteria.push("&availability="+todb(availability));
-
- var traffictype = $advancedSearchPopup.find("#adv_search_traffictype").val();
- if (traffictype!=null && traffictype.length > 0)
- moreCriteria.push("&traffictype="+todb(traffictype));
-
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadNetworkOfferingJSP() {
- $readonlyFields = $("#tab_content_details").find("#displaytext, #availability");
- $editFields = $("#tab_content_details").find("#displaytext_edit, #availability_edit");
-}
-
-function doEditNetworkOffering($actionLink, $detailsTab, $midmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditNetworkOffering2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditNetworkOffering2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- // validate values
- var isValid = true;
- isValid &= validateString("Display Text", $detailsTab.find("#displaytext_edit"), $detailsTab.find("#displaytext_edit_errormsg"), true);
- if (!isValid)
- return;
-
- var array1 = [];
-
- var displaytext = $detailsTab.find("#displaytext_edit").val();
- array1.push("&displayText="+todb(displaytext));
-
- var availability = $detailsTab.find("#availability_edit").val();
- array1.push("&availability="+todb(availability));
-
- $.ajax({
- data: createURL("command=updateNetworkOffering&id="+id+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jsonObj = json.updatenetworkofferingresponse.networkoffering;
- networkOfferingToMidmenu(jsonObj, $midmenuItem1);
- networkOfferingToRightPanel($midmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
- });
-}
-
-function networkOfferingToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- /*
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_system_networkOffering.png");
- */
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.availability);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function networkOfferingToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- networkOfferingJsonToDetailsTab();
-}
-
-function networkOfferingJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- networkOfferingClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- networkOfferingClearDetailsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var id = jsonObj.id;
-
- var jsonObj;
- $.ajax({
- data: createURL("command=listNetworkOfferings&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listnetworkofferingsresponse.networkoffering;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
-
- $thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
- $thisTab.find("#displaytext_edit").val(fromdb(jsonObj.displaytext));
-
- $thisTab.find("#availability").text(fromdb(jsonObj.availability));
- $thisTab.find("#availability_edit").val(fromdb(jsonObj.availability));
-
- setBooleanReadField(jsonObj.redundantrouter, $thisTab.find("#redundantrouter"));
- setBooleanReadField(jsonObj.isdefault, $thisTab.find("#isdefault"));
- setBooleanReadField(jsonObj.specifyvlan, $thisTab.find("#specifyvlan"));
-
- var networkRate = jsonObj.networkrate;
- if (networkRate == undefined || networkRate == -1) {
- $thisTab.find("#rate").text(dictionary["label.unlimited"]);
- } else {
- $thisTab.find("#rate").text(fromdb(networkRate) + " Mb/s");
- }
- $thisTab.find("#traffictype").text(fromdb(jsonObj.traffictype));
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- buildActionLinkForTab("label.action.edit.network.offering", networkOfferingActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function networkOfferingClearRightPanel() {
- networkOfferingClearDetailsTab();
-}
-
-function networkOfferingClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#displaytext").text("");
- $thisTab.find("#displaytext_edit").val("");
- $thisTab.find("#redundantrouter").text("");
- $thisTab.find("#disksize").text("");
- $thisTab.find("#tags").text("");
- $thisTab.find("#domain").text("");
-
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-var networkOfferingActionMap = {
- "label.action.edit.network.offering": {
- dialogBeforeActionFn: doEditNetworkOffering
- }
-}
diff --git a/ui/old/scripts/cloud.core.pod.js b/ui/old/scripts/cloud.core.pod.js
deleted file mode 100644
index 8b97f9c3cbb..00000000000
--- a/ui/old/scripts/cloud.core.pod.js
+++ /dev/null
@@ -1,1333 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function afterLoadPodJSP($leftmenuItem1) {
- hideMiddleMenu();
-
- var $topButtonContainer = clearButtonsOnTop();
- $("#top_buttons").appendTo($topButtonContainer);
-
- initDialog("dialog_add_external_cluster");
- initDialog("dialog_add_host", 400);
- initDialog("dialog_add_iprange_to_pod");
- initDialog("dialog_add_network_device");
-
- //add pool dialog
- initDialog("dialog_add_pool", 400);
- bindEventHandlerToDialogAddPool($("#dialog_add_pool"));
-
- $.ajax({
- data: createURL("command=listHypervisors"),
- dataType: "json",
- success: function(json) {
- var items = json.listhypervisorsresponse.hypervisor;
- var $hypervisorDropdown = $("#dialog_add_external_cluster").find("#cluster_hypervisor");
- if(items != null && items.length > 0) {
- for(var i=0; i"+fromdb(items[i].name)+"");
- }
- }
- }
- });
-
- //switch between different tabs
- var tabArray = [$("#tab_details"), $("#tab_ipallocation"), $("#tab_networkdevice")];
- var tabContentArray = [$("#tab_content_details"), $("#tab_content_ipallocation"), $("#tab_content_networkdevice")];
- var afterSwitchFnArray = [podJsonToDetailsTab, podJsonToNetworkTab, podJsonToNetworkDeviceTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-
- $readonlyFields = $("#tab_content_details").find("#name, #netmask, #ipRange, #gateway");
- $editFields = $("#tab_content_details").find("#name_edit, #netmask_edit, #startIpRange_edit, #endIpRange_edit, #gateway_edit");
-
- podJsonToRightPanel($leftmenuItem1);
-}
-
-function podJsonToRightPanel($leftmenuItem1) {
- bindAddClusterButton($leftmenuItem1);
- bindAddHostButton($leftmenuItem1);
- bindAddPrimaryStorageButton($leftmenuItem1);
-
- $("#right_panel_content").data("$leftmenuItem1", $leftmenuItem1);
- cancelEditMode($("#tab_content_details"));
- $("#tab_details").click();
-}
-
-function podJsonToDetailsTab() {
- var $leftmenuItem1 = $("#right_panel_content").data("$leftmenuItem1");
- if($leftmenuItem1 == null) {
- podClearDetailsTab();
- return;
- }
-
- var jsonObj = $leftmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- podClearDetailsTab();
- return;
- }
-
- // hide network tab upon zone vlan
- var networkType;
- $.ajax({
- data: createURL("command=listZones&id="+fromdb(jsonObj.zoneid)),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listzonesresponse.zone;
- if (items != null && items.length > 0) {
- networkType = items[0].networktype;
- }
- }
- });
- if(networkType == "Basic") { //basic-mode network (pod-wide VLAN)
- $("#tab_ipallocation, #add_iprange_button, #add_network_device_button").show();
- bindAddIpRangeToPodButton($leftmenuItem1);
- bindAddNetworkDeviceButton($leftmenuItem1);
- }
- else if(networkType == "Advanced") { //advanced-mode network (zone-wide VLAN)
- $("#tab_ipallocation, #add_iprange_button, #add_network_device_button").hide();
- $("#midmenu_add_directIpRange_button").unbind("click").hide();
- }
-
- $.ajax({
- data: createURL("command=listPods&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listpodsresponse.pod;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $leftmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#name_edit").val(fromdb(jsonObj.name));
- $thisTab.find("#netmask").text(fromdb(jsonObj.netmask));
- $thisTab.find("#netmask_edit").val(fromdb(jsonObj.netmask));
- $thisTab.find("#ipRange").text(getIpRange(jsonObj.startip, jsonObj.endip));
- $thisTab.find("#startIpRange_edit").val(fromdb(jsonObj.startip));
- $thisTab.find("#endIpRange_edit").val(fromdb(jsonObj.endip));
- $thisTab.find("#gateway").text(fromdb(jsonObj.gateway));
- $thisTab.find("#gateway_edit").val(fromdb(jsonObj.gateway));
- $thisTab.find("#allocationstate").text(fromdb(jsonObj.allocationstate));
-
- //actions ***
- podBuildActionMenu(jsonObj);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function podBuildActionMenu(jsonObj) {
- var $leftmenuItem1 = $("#right_panel_content").data("$leftmenuItem1");
- var $thisTab = $("#right_panel_content #tab_content_details");
-
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
- buildActionLinkForTab("label.action.edit.pod", podActionMap, $actionMenu, $leftmenuItem1, $thisTab);
-
- if(jsonObj.allocationstate == "Disabled")
- buildActionLinkForTab("label.action.enable.pod", podActionMap, $actionMenu, $leftmenuItem1, $thisTab);
- else if(jsonObj.allocationstate == "Enabled")
- buildActionLinkForTab("label.action.disable.pod", podActionMap, $actionMenu, $leftmenuItem1, $thisTab);
-
- buildActionLinkForTab("label.action.delete.pod", podActionMap, $actionMenu, $leftmenuItem1, $thisTab);
-}
-
-function podJsonToNetworkTab() {
- var $leftmenuItem1 = $("#right_panel_content").data("$leftmenuItem1");
- if($leftmenuItem1 == null) {
- podClearNetworkTab();
- return;
- }
-
- var jsonObj = $leftmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- podClearNetworkTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_ipallocation");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listVlanIpRanges&zoneid="+fromdb(jsonObj.zoneid)+"&podid="+fromdb(jsonObj.id)),
- dataType: "json",
- success: function(json) {
- var items = json.listvlaniprangesresponse.vlaniprange;
- var $container = $thisTab.find("#tab_container").empty();
- var template = $("#network_tab_template");
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- podNetworkJsonToTemplate(items[i], newTemplate);
- $container.append(newTemplate.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-
-function podJsonToNetworkDeviceTab() {
- var $leftmenuItem1 = $("#right_panel_content").data("$leftmenuItem1");
- if($leftmenuItem1 == null) {
- podClearNetworkDeviceTab();
- return;
- }
-
- var jsonObj = $leftmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- podClearNetworkDeviceTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_networkdevice");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var array1 = [];
- array1.push("&networkdeviceparameterlist[0].zoneid=" + fromdb(jsonObj.zoneid));
- array1.push("&networkdeviceparameterlist[0].podid=" + fromdb(jsonObj.id));
- $.ajax({
- data: createURL("command=listNetworkDevice"+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listnetworkdevice.networkdevice;
- var template = $("#network_device_tab_template");
- var $container = $thisTab.find("#tab_container").empty();
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- podNetworkDeviceJsonToTemplate(items[i], newTemplate);
- $container.append(newTemplate.show());
- }
- }
- }
- });
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function listNetworkDeviceByType() {
-
-
-}
-
-function podClearNetworkTab() {
- var $thisTab = $("#right_panel_content #tab_content_ipallocation");
- $thisTab.find("#tab_container").empty();
-}
-
-function podClearNetworkDeviceTab() {
- var $thisTab = $("#right_panel_content #tab_content_network_device");
- $thisTab.find("#tab_container").empty();
-}
-
-function podNetworkJsonToTemplate(jsonObj, template) {
- template.data("jsonObj", jsonObj);
- template.attr("id", "pod_VLAN_"+fromdb(jsonObj.id)).data("podVLANId", fromdb(jsonObj.id));
- template.find("#grid_header_title").text(fromdb(jsonObj.description));
- template.find("#id").text(fromdb(jsonObj.id));
- template.find("#iprange").text(fromdb(getIpRange(jsonObj.startip, jsonObj.endip)));
- template.find("#netmask").text(fromdb(jsonObj.netmask));
- template.find("#gateway").text(fromdb(jsonObj.gateway));
- template.find("#podname").text(fromdb(jsonObj.podname));
-
- var $actionLink = template.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
-
- buildActionLinkForSubgridItem("Delete IP Range", podNetworkActionMap, $actionMenu, template);
-}
-
-function podNetworkDeviceJsonToTemplate(jsonObj, template) {
- template.data("jsonObj", jsonObj);
- template.attr("id", "networkdevice_"+fromdb(jsonObj.id)).data("networkdeviceId", fromdb(jsonObj.id));
- template.find("#grid_header_title").text(fromdb(jsonObj.url));
- template.find("#id").text(fromdb(jsonObj.id));
- template.find("#url").text(fromdb(jsonObj.url));
- template.find("#type").text(fromdb(jsonObj.type));
- if(jsonObj.pingstorageserverip != null) {
- template.find("#pingstorageserverip").text(fromdb(jsonObj.pingstorageserverip));
- template.find("#pingstorageserverip_container").show();
- }
- if(jsonObj.pingdir != null) {
- template.find("#pingdir").text(fromdb(jsonObj.pingdir));
- template.find("#pingdir_container").show();
- }
- if(jsonObj.tftpdir != null) {
- template.find("#tftpdir").text(fromdb(jsonObj.tftpdir));
- template.find("#tftpdir_container").show();
- }
-
- var $actionLink = template.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
-
- //buildActionLinkForSubgridItem("Delete Network Device", podNetworkDeviceActionMap, $actionMenu, template);
-}
-
-
-var podNetworkActionMap = {
- "Delete IP Range": {
- api: "deleteVlanIpRange",
- isAsyncJob: false,
- inProcessText: "Deleting IP Range....",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- $subgridItem.slideUp("slow", function() {
- $(this).remove();
- });
- }
- }
-}
-
-var podNetworkDeviceActionMap = {
- "Delete Network Device": {
- api: "deleteNetworkDevice",
- isAsyncJob: false,
- inProcessText: "Deleting Network Device....",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- $subgridItem.slideUp("slow", function() {
- $(this).remove();
- });
- }
- }
-}
-
-function podClearRightPanel() {
- podClearDetailsTab();
- podClearNetworkTab();
-}
-
-function podClearDetailsTab() {
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#id").text("");
-
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
-
- $thisTab.find("#netmask").text("");
- $thisTab.find("#netmask_edit").val("");
-
- $thisTab.find("#ipRange").text("");
- $thisTab.find("#startIpRange_edit").val("");
- $thisTab.find("#endIpRange_edit").val("");
-
- $thisTab.find("#gateway").text("");
- $thisTab.find("#gateway_edit").val("");
-
- $thisTab.find("#allocationstate").text("");
-}
-
-function getIpRange(startip, endip) {
- var ipRange = "";
- if (startip != null && startip.length > 0) {
- ipRange = startip;
- }
- if (endip != null && endip.length > 0) {
- ipRange = ipRange + " - " + endip;
- }
- return ipRange;
-}
-
-var clustersUnderOnePod = {};
-function refreshClsuterFieldInAddHostDialog(dialogAddHost, podId, clusterId) {
- if(podId == null)
- return;
-
- var arrayParams = [];
- arrayParams.push("&podid=" + podId);
-
- $.ajax({
- data: createURL("command=listClusters"+arrayParams.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listclustersresponse.cluster;
- var $clusterSelect = dialogAddHost.find("#cluster_select").empty();
- if(items != null && items.length > 0) {
- for(var i=0; i" + fromdb(items[i].name) + "");
- else
- $clusterSelect.append("" + fromdb(items[i].name) + " ");
- }
- }
- }
- });
-}
-
-function bindAddClusterButton($leftmenuItem1) {
- var $button = $("#add_cluster_button");
- $button.unbind("click").bind("click", function(event) {
- dialogAddCluster = $("#dialog_add_external_cluster");
- dialogAddCluster.find("#info_container").hide();
-
- var zoneId, podId;
- if(currentRightPanelJSP == "jsp/pod.jsp") {
- var podObj = $leftmenuItem1.data("jsonObj");
- zoneId = podObj.zoneid;
- podId = podObj.id;
- dialogAddCluster.find("#zone_name").text(fromdb(podObj.zonename));
- dialogAddCluster.find("#pod_name").text(fromdb(podObj.name));
- }
-
- dialogAddCluster.find("#cluster_hypervisor").change(function() {
- if($(this).val() == "VMware") {
- $('li[input_group="vmware"]', dialogAddCluster).show();
-
- $('li[input_sub_group="external"]', dialogAddCluster).show();
- $("#cluster_name_label", dialogAddCluster).text("vCenter Cluster:");
-
- // dialogAddCluster.find("#type_dropdown").change();
- } else {
- $('li[input_group="vmware"]', dialogAddCluster).hide();
- $("#cluster_name_label", dialogAddCluster).text("Cluster:");
- }
- }).change();
-
-/*
- dialogAddCluster.find("#type_dropdown").change(function() {
- if($(this).val() == "ExternalManaged") {
- $('li[input_sub_group="external"]', dialogAddCluster).show();
- $("#cluster_name_label", dialogAddCluster).text("vCenter Cluster:");
- } else {
- $('li[input_sub_group="external"]', dialogAddCluster).hide();
- $("#cluster_name_label", dialogAddCluster).text("Cluster:");
- }
- });
-*/
-
- dialogAddCluster.dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- var hypervisor = $thisDialog.find("#cluster_hypervisor").val();
- var clusterType="CloudManaged";
- if(hypervisor == "VMware") {
- // clusterType = $thisDialog.find("#type_dropdown").val();
- clusterType="ExternalManaged";
- }
-
- // validate values
- var isValid = true;
- if(hypervisor == "VMware" && clusterType != "CloudManaged") {
- isValid &= validateString("vCenter Server", $thisDialog.find("#cluster_hostname"), $thisDialog.find("#cluster_hostname_errormsg"));
- isValid &= validateString("vCenter user", $thisDialog.find("#cluster_username"), $thisDialog.find("#cluster_username_errormsg"));
- isValid &= validateString("Password", $thisDialog.find("#cluster_password"), $thisDialog.find("#cluster_password_errormsg"));
- isValid &= validateString("Datacenter", $thisDialog.find("#cluster_datacenter"), $thisDialog.find("#cluster_datacenter_errormsg"));
- }
- isValid &= validateString("Cluster name", $thisDialog.find("#cluster_name"), $thisDialog.find("#cluster_name_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show();
-
- var array1 = [];
- var hypervisor = $thisDialog.find("#cluster_hypervisor").val();
- array1.push("&hypervisor="+hypervisor);
- array1.push("&clustertype=" + clusterType);
- array1.push("&zoneId="+zoneId);
- array1.push("&podId="+podId);
-
- var clusterName = trim($thisDialog.find("#cluster_name").val());
- if(hypervisor == "VMware" && clusterType != "CloudManaged") {
-
- var username = trim($thisDialog.find("#cluster_username").val());
- array1.push("&username="+todb(username));
-
- var password = trim($thisDialog.find("#cluster_password").val());
- array1.push("&password="+todb(password));
-
- var hostname = trim($thisDialog.find("#cluster_hostname").val());
- var dcName = trim($thisDialog.find("#cluster_datacenter").val());
-
- var url;
- if(hostname.indexOf("http://")==-1)
- url = "http://" + todb(hostname);
- else
- url = hostname;
- url += "/" + todb(dcName) + "/" + todb(clusterName);
- array1.push("&url=" + todb(url));
-
- clusterName = hostname + "/" + dcName + "/" + clusterName
- }
-
- array1.push("&clustername=" + todb(clusterName));
-
- $.ajax({
- data: createURL("command=addCluster" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.addclusterresponse.cluster[0];
- var $podNode = $("#pod_" + podId);
- if($podNode.length > 0 && $podNode.css("display") != "none") {
- if($podNode.find("#pod_arrow").hasClass("white_nonexpanded_close")) {
- $podNode.find("#pod_arrow").removeClass("white_nonexpanded_close").addClass("expanded_close");
- }
-
- if($podNode.find("#pod_arrow").hasClass("expanded_close")) { //if pod node is closed
- $podNode.find("#pod_arrow").click(); //expand pod node
- var $clusterNode = $podNode.find("#cluster_"+item.id);
- $clusterNode.find("#cluster_arrow").click(); //expand cluster node to see host node and storage node
- $clusterNode.find("#cluster_name").click(); //click cluster node to show cluster info
- }
- else { //if pod node is expanded
- var $clusterNode = $("#leftmenu_cluster_node_template").clone(true);
- clusterJSONToTreeNode(item, $clusterNode);
- $podNode.find("#clusters_container").append($clusterNode.show());
- $clusterNode.find("#cluster_arrow").click(); //expand cluster node to see host node and storage node
- $clusterNode.find("#cluster_name").click(); //click cluster node to show cluster info
- }
- }
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function bindAddHostButton($leftmenuItem1) {
- var $button = $("#add_host_button");
-
- var $dialogAddHost = $("#dialog_add_host");
- $dialogAddHost.find("#cluster_select").change(function() {
- var clusterId = $(this).val();
- if(clusterId == null)
- return;
- var clusterObj = clustersUnderOnePod[clusterId];
- if(clusterObj.hypervisortype == "VMware") {
- $('li[input_group="vmware"]', $dialogAddHost).show();
- $('li[input_group="general"]', $dialogAddHost).hide();
- $('li[input_group="baremetal"]', $dialogAddHost).hide();
- $('li[input_group="Ovm"]', $dialogAddHost).hide();
- }
- else if (clusterObj.hypervisortype == "BareMetal") {
- $('li[input_group="baremetal"]', $dialogAddHost).show();
- $('li[input_group="general"]', $dialogAddHost).show();
- $('li[input_group="vmware"]', $dialogAddHost).hide();
- $('li[input_group="Ovm"]', $dialogAddHost).hide();
- }
- else if (clusterObj.hypervisortype == "Ovm") {
- $('li[input_group="Ovm"]', $dialogAddHost).show();
- $('li[input_group="general"]', $dialogAddHost).show();
- $('li[input_group="vmware"]', $dialogAddHost).hide();
- $('li[input_group="baremetal"]', $dialogAddHost).hide();
- }
- else {
- $('li[input_group="general"]', $dialogAddHost).show();
- $('li[input_group="vmware"]', $dialogAddHost).hide();
- $('li[input_group="baremetal"]', $dialogAddHost).hide();
- $('li[input_group="Ovm"]', $dialogAddHost).hide();
- }
- });
-
- $button.unbind("click").bind("click", function(event) {
- $dialogAddHost.find("#info_container").hide();
- $dialogAddHost.find("#new_cluster_name").val("");
-
- var zoneId, podId, clusterId;
- if(currentRightPanelJSP == "jsp/pod.jsp") {
- var podObj = $leftmenuItem1.data("jsonObj");
- zoneId = podObj.zoneid;
- podId = podObj.id;
- $dialogAddHost.find("#zone_name").text(fromdb(podObj.zonename));
- $dialogAddHost.find("#pod_name").text(fromdb(podObj.name));
- }
- else if(currentRightPanelJSP == "jsp/cluster.jsp") {
- var clusterObj = $leftmenuItem1.data("jsonObj");
- zoneId = clusterObj.zoneid;
- podId = clusterObj.podid;
- clusterId = clusterObj.id;
- $dialogAddHost.find("#zone_name").text(fromdb(clusterObj.zonename));
- $dialogAddHost.find("#pod_name").text(fromdb(clusterObj.podname));
- }
- else if(currentRightPanelJSP == "jsp/host.jsp") {
- var clusterObj = $leftmenuItem1.data("clusterObj");
- zoneId = clusterObj.zoneid;
- podId = clusterObj.podid;
- clusterId = clusterObj.id;
- $dialogAddHost.find("#zone_name").text(fromdb(clusterObj.zonename));
- $dialogAddHost.find("#pod_name").text(fromdb(clusterObj.podname));
- }
-
- refreshClsuterFieldInAddHostDialog($dialogAddHost, podId, clusterId);
-
- $dialogAddHost.find("#cluster_select").change();
-
- $dialogAddHost
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateDropDownBox("Cluster", $thisDialog.find("#cluster_select"), $thisDialog.find("#cluster_select_errormsg"), false); //required, reset error text
- var clusterId = $thisDialog.find("#cluster_select").val();
- var clusterObj, hypervisor;
- if(clusterId != null) {
- clusterObj = clustersUnderOnePod[clusterId];
- hypervisor = clusterObj.hypervisortype;
- if(hypervisor == "VMware") {
-
- // for VMware, we can only add host to existing cluster, only host address is needed as of now
-/*
- isValid &= validateString("vCenter Address", $thisDialog.find("#host_vcenter_address"), $thisDialog.find("#host_vcenter_address_errormsg"));
- isValid &= validateString("vCenter User", $thisDialog.find("#host_vcenter_username"), $thisDialog.find("#host_vcenter_username_errormsg"));
- isValid &= validateString("vCenter Password", $thisDialog.find("#host_vcenter_password"), $thisDialog.find("#host_vcenter_password_errormsg"));
- isValid &= validateString("vCenter Datacenter", $thisDialog.find("#host_vcenter_dc"), $thisDialog.find("#host_vcenter_dc_errormsg"));
-*/
- isValid &= validateString("vCenter Host", $thisDialog.find("#host_vcenter_host"), $thisDialog.find("#host_vcenter_host_errormsg"));
- }
- else {
- //general
- isValid &= validateString("Host name", $thisDialog.find("#host_hostname"), $thisDialog.find("#host_hostname_errormsg"));
- isValid &= validateString("User name", $thisDialog.find("#host_username"), $thisDialog.find("#host_username_errormsg"));
- isValid &= validateString("Password", $thisDialog.find("#host_password"), $thisDialog.find("#host_password_errormsg"));
-
- if (hypervisor == "BareMetal") {
- isValid &= validateString("CPU Cores", $thisDialog.find("#host_baremetal_cpucores"), $thisDialog.find("#host_baremetal_cpucores_errormsg"));
- isValid &= validateString("CPU", $thisDialog.find("#host_baremetal_cpu"), $thisDialog.find("#host_baremetal_cpu_errormsg"));
- isValid &= validateString("Memory", $thisDialog.find("#host_baremetal_memory"), $thisDialog.find("#host_baremetal_memory_errormsg"));
- isValid &= validateString("MAC", $thisDialog.find("#host_baremetal_mac"), $thisDialog.find("#host_baremetal_mac_errormsg"));
- }
- else if(hypervisor == "Ovm") {
- isValid &= validateString("Agent Username", $thisDialog.find("#agent_username"), $thisDialog.find("#agent_username_errormsg"), true); //optional
- isValid &= validateString("Agent Password", $thisDialog.find("#agent_password"), $thisDialog.find("#agent_password_errormsg"), false); //required
- }
- }
- }
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show();
-
- var array1 = [];
- array1.push("&zoneId="+zoneId);
- array1.push("&podId="+podId);
- array1.push("&clusterid="+clusterId);
- array1.push("&hypervisor=" + hypervisor);
- var clustertype = clusterObj.clustertype;
- array1.push("&clustertype=" + clustertype);
- array1.push("&hosttags=" + todb(trim($thisDialog.find("#host_tags").val())));
-
- if(hypervisor == "VMware") {
-/*
- var username = trim($thisDialog.find("#host_vcenter_username").val());
- array1.push("&username="+todb(username));
-
- var password = trim($thisDialog.find("#host_vcenter_password").val());
- array1.push("&password="+todb(password));
-
- var hostname = trim($thisDialog.find("#host_vcenter_address").val());
- hostname += "/" + todb(trim($thisDialog.find("#host_vcenter_dc").val()));
- hostname += "/" + todb(trim($thisDialog.find("#host_vcenter_host").val()));
-*/
- array1.push("&username=");
- array1.push("&password=");
- var hostname = trim($thisDialog.find("#host_vcenter_host").val());
-
- var url;
- if(hostname.indexOf("http://")==-1)
- url = "http://" + hostname;
- else
- url = hostname;
- array1.push("&url="+todb(url));
- }
- else {
- var username = trim($thisDialog.find("#host_username").val());
- array1.push("&username="+todb(username));
-
- var password = trim($thisDialog.find("#host_password").val());
- array1.push("&password="+todb(password));
-
- var hostname = trim($thisDialog.find("#host_hostname").val());
- var url;
- if(hostname.indexOf("http://")==-1)
- url = "http://" + todb(hostname);
- else
- url = hostname;
- array1.push("&url="+todb(url));
-
- if (hypervisor == "BareMetal") {
- var cpuCores = trim($thisDialog.find("#host_baremetal_cpucores").val());
- array1.push("&cpunumber="+todb(cpuCores));
-
- var cpuSpeed = trim($thisDialog.find("#host_baremetal_cpu").val());
- array1.push("&cpuspeed="+todb(cpuSpeed));
-
- var memory = trim($thisDialog.find("#host_baremetal_memory").val());
- array1.push("&memory="+todb(memory));
-
- var mac = trim($thisDialog.find("#host_baremetal_mac").val());
- array1.push("&hostmac="+todb(mac));
- }
- else if(hypervisor == "Ovm") {
- var agentUsername = $thisDialog.find("#agent_username").val();
- array1.push("&agentusername="+todb(agentUsername));
-
- var agentPassword = $thisDialog.find("#agent_password").val();
- array1.push("&agentpassword="+todb(agentPassword));
- }
- }
-
- $.ajax({
- data: createURL("command=addHost" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.addhostresponse.host;
-
- var $podArrow = $("#pod_"+podId).find("#pod_arrow");
- if($podArrow.hasClass("expanded_close")) {
- $podArrow.click();
- }
-
- var $clusterArrow = $("#cluster_"+clusterId).find("#cluster_arrow");
- if($clusterArrow.hasClass("expanded_close")) {
- $clusterArrow.click();
- }
-
- $("#cluster_"+clusterId+"_host").click();
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- //refreshClsuterFieldInAddHostDialog($thisDialog, podId, clusterId, $dialogAddHost.find("#host_hypervisor").val());
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function bindAddPrimaryStorageButton($leftmenuItem1) {
- var $button = $("#add_primarystorage_button");
- $dialogAddPool = $("#dialog_add_pool");
-
- var zoneId, podId, sourceClusterId;
- if(currentRightPanelJSP == "jsp/pod.jsp") {
- var podObj = $leftmenuItem1.data("jsonObj");
- zoneId = podObj.zoneid;
- podId = podObj.id;
- $dialogAddPool.find("#zone_name").text(fromdb(podObj.zonename));
- $dialogAddPool.find("#pod_name").text(fromdb(podObj.name));
- }
- else if(currentRightPanelJSP == "jsp/cluster.jsp") {
- var clusterObj = $leftmenuItem1.data("jsonObj");
- zoneId = clusterObj.zoneid;
- podId = clusterObj.podid;
- sourceClusterId = clusterObj.id;
- $dialogAddPool.find("#zone_name").text(fromdb(clusterObj.zonename));
- $dialogAddPool.find("#pod_name").text(fromdb(clusterObj.podname));
- }
- else if(currentRightPanelJSP == "jsp/primarystorage.jsp") {
- var clusterObj = $leftmenuItem1.data("clusterObj");
- zoneId = clusterObj.zoneid;
- podId = clusterObj.podid;
- sourceClusterId = clusterObj.id;
- $dialogAddPool.find("#zone_name").text(fromdb(clusterObj.zonename));
- $dialogAddPool.find("#pod_name").text(fromdb(clusterObj.podname));
- }
-
- populateClusterFieldInAddPoolDialog($dialogAddPool, podId, sourceClusterId);
-
- $button.unbind("click").bind("click", function(event) {
- $dialogAddPool.find("#info_container").hide();
- $dialogAddPool.find("#pool_cluster").change();
-
- $("#dialog_add_pool")
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var protocol = $thisDialog.find("#add_pool_protocol").val();
-
- var isValid = true;
- isValid &= validateDropDownBox("Cluster", $thisDialog.find("#pool_cluster"), $thisDialog.find("#pool_cluster_errormsg"), false); //required, reset error text
- isValid &= validateString("Name", $thisDialog.find("#add_pool_name"), $thisDialog.find("#add_pool_name_errormsg"));
- if (protocol == "nfs" || protocol == "PreSetup" || protocol == "SharedMountPoint") {
- isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
- isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
- } else if(protocol == "ocfs2") {
- isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
- } else if(protocol == "iscsi") {
- isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
- isValid &= validateString("Target IQN", $thisDialog.find("#add_pool_iqn"), $thisDialog.find("#add_pool_iqn_errormsg"));
- isValid &= validateString("LUN #", $thisDialog.find("#add_pool_lun"), $thisDialog.find("#add_pool_lun_errormsg"));
- } else if(protocol == "clvm") {
- isValid &= validateString("Volume Group", $thisDialog.find("#add_pool_clvm_vg"), $thisDialog.find("#add_pool_clvm_vg_errormsg"));
- } else if(protocol == "vmfs") {
- isValid &= validateString("vCenter Datacenter", $thisDialog.find("#add_pool_vmfs_dc"), $thisDialog.find("#add_pool_vmfs_dc_errormsg"));
- isValid &= validateString("vCenter Datastore", $thisDialog.find("#add_pool_vmfs_ds"), $thisDialog.find("#add_pool_vmfs_ds_errormsg"));
- }
- isValid &= validateString("Tags", $thisDialog.find("#add_pool_tags"), $thisDialog.find("#add_pool_tags_errormsg"), true); //optional
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var array1 = [];
- array1.push("&zoneId="+zoneId);
- array1.push("&podId="+podId);
-
- var clusterId = $thisDialog.find("#pool_cluster").val();
- array1.push("&clusterid="+clusterId);
-
- var name = trim($thisDialog.find("#add_pool_name").val());
- array1.push("&name="+todb(name));
-
- var server = trim($thisDialog.find("#add_pool_nfs_server").val());
-
- var url = null;
- if (protocol == "nfs") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = nfsURL(server, path);
- }
- else if (protocol == "PreSetup") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = presetupURL(server, path);
- }
- else if (protocol == "ocfs2") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = ocfs2URL(server, path);
- }
- else if (protocol == "SharedMountPoint") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = SharedMountPointURL(server, path);
- }
- else if (protocol == "clvm") {
- var vg = trim($thisDialog.find("#add_pool_clvm_vg").val());
- url = clvmURL(vg);
- }
- else if (protocol == "vmfs") {
- var path = trim($thisDialog.find("#add_pool_vmfs_dc").val());
- if(path.substring(0,1)!="/")
- path = "/" + todb(path);
- path += "/" + todb(trim($thisDialog.find("#add_pool_vmfs_ds").val()));
- url = vmfsURL("dummy", path);
- }
- else {
- var iqn = trim($thisDialog.find("#add_pool_iqn").val());
- if(iqn.substring(0,1)!="/")
- iqn = "/" + iqn;
- var lun = trim($thisDialog.find("#add_pool_lun").val());
- url = iscsiURL(server, iqn, lun);
- }
- array1.push("&url="+todb(url));
-
- var tags = trim($thisDialog.find("#add_pool_tags").val());
- if(tags != null && tags.length > 0)
- array1.push("&tags="+todb(tags));
-
- $.ajax({
- data: createURL("command=createStoragePool" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.createstoragepoolresponse.storagepool;
-
- var $podArrow = $("#pod_"+podId).find("#pod_arrow");
- if($podArrow.hasClass("expanded_close")) {
- $podArrow.click();
- }
-
- var $clusterArrow = $("#cluster_"+clusterId).find("#cluster_arrow");
- if($clusterArrow.hasClass("expanded_close")) {
- $clusterArrow.click();
- }
-
- $("#cluster_"+clusterId+"_primarystorage").click();
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function bindAddIpRangeToPodButton($leftmenuItem1) {
- $("#add_iprange_button").unbind("click").bind("click", function(event) {
- if($("#tab_content_ipallocation").css("display") == "none")
- $("#tab_ipallocation").click();
-
- var podObj = $leftmenuItem1.data("jsonObj");
- var zoneId = podObj.zoneid;
- var podId = podObj.id;
- var podName = podObj.name;
-
- $("#dialog_add_iprange_to_pod").find("#pod_name_label").text(podName);
-
- $("#dialog_add_iprange_to_pod")
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateNetmask("Netmask", $thisDialog.find("#netmask"), $thisDialog.find("#netmask_errormsg"));
- isValid &= validateIp("Gateway", $thisDialog.find("#guestgateway"), $thisDialog.find("#guestgateway_errormsg"));
- isValid &= validateIp("Start IP Range", $thisDialog.find("#startip"), $thisDialog.find("#startip_errormsg")); //required
- isValid &= validateIp("End IP Range", $thisDialog.find("#endip"), $thisDialog.find("#endip_errormsg"), true); //optional
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show();
-
- var netmask = trim($thisDialog.find("#netmask").val());
- var guestgateway = trim($thisDialog.find("#guestgateway").val());
- var startip = trim($thisDialog.find("#startip").val());
- var endip = trim($thisDialog.find("#endip").val());
-
- var array1 = [];
- array1.push("&vlan=untagged");
- array1.push("&zoneid=" + zoneId);
- array1.push("&podId=" + podId);
- array1.push("&forVirtualNetwork=false"); //direct VLAN
- array1.push("&gateway="+todb(guestgateway));
- array1.push("&netmask="+todb(netmask));
- array1.push("&startip="+todb(startip));
- if(endip != null && endip.length > 0)
- array1.push("&endip="+todb(endip));
-
- $.ajax({
- data: createURL("command=createVlanIpRange" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.createvlaniprangeresponse.vlan;
- var $subgridItem = $("#network_tab_template").clone(true);
- podNetworkJsonToTemplate(item, $subgridItem);
- $subgridItem.find("#after_action_info").text(g_dictionary["label.adding.succeeded"]);
- $subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").show();
- $("#tab_content_ipallocation").find("#tab_container").append($subgridItem.fadeIn("slow"));
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- return false;
- });
-}
-
-
-function bindAddNetworkDeviceButton($leftmenuItem1) {
- var $dialog = $("#dialog_add_network_device");
- $dialog.find("#network_device_type").bind("change", function(event){
- if($(this).val() == "ExternalDhcp") {
- $dialog.find('li[input_group="ExternalDhcp"]').show();
- $dialog.find('li[input_group="PxeServer"]').hide();
- }
- else if($(this).val() == "PxeServer"){
- $dialog.find('li[input_group="ExternalDhcp"]').hide();
- $dialog.find('li[input_group="PxeServer"]').show();
- }
- return false;
- });
-
- $("#add_network_device_button").unbind("click").bind("click", function(event) {
- $dialog.find("#network_device_type").change();
-
- if($("#tab_content_networkdevice").css("display") == "none")
- $("#tab_networkdevice").click();
-
- var podObj = $leftmenuItem1.data("jsonObj");
- var zoneId = podObj.zoneid;
- var podId = podObj.id;
-
- $("#dialog_add_network_device")
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateString("URL", $thisDialog.find("#url"), $thisDialog.find("#url_errormsg"));
- isValid &= validateString("Username", $thisDialog.find("#username"), $thisDialog.find("#username_errormsg"));
- isValid &= validateString("Password", $thisDialog.find("#password"), $thisDialog.find("#password_errormsg"));
- if($("#PING_storage_IP_container").css("display") != "none")
- isValid &= validateString("PING storage IP", $thisDialog.find("#PING_storage_IP"), $thisDialog.find("#PING_storage_IP_errormsg"));
- if($("#PING_dir_container").css("display") != "none")
- isValid &= validateString("PING directory", $thisDialog.find("#PING_dir"), $thisDialog.find("#PING_dir_errormsg"));
- if($("#TFTP_dir_container").css("display") != "none")
- isValid &= validateString("TFT directory", $thisDialog.find("#TFTP_dir"), $thisDialog.find("#TFTP_dir_errormsg"));
- if($("#PING_CIFS_username_container").css("display") != "none")
- isValid &= validateString("PING CIFS username", $thisDialog.find("#PING_CIFS_username"), $thisDialog.find("#PING_CIFS_username_errormsg"), true);
- if($("#PING_CIFS_password_container").css("display") != "none")
- isValid &= validateString("PING CIFS password", $thisDialog.find("#PING_CIFS_password"), $thisDialog.find("#PING_CIFS_password_errormsg"), true);
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show();
-
- var array1 = [];
- array1.push("&networkdevicetype=" + todb($thisDialog.find("#network_device_type").val()));
- array1.push("&networkdeviceparameterlist[0].zoneid=" + todb(zoneId));
- array1.push("&networkdeviceparameterlist[0].podid=" + todb(podId));
- array1.push("&networkdeviceparameterlist[0].url=" + todb($thisDialog.find("#url").val()));
- array1.push("&networkdeviceparameterlist[0].username=" + todb($thisDialog.find("#username").val()));
- array1.push("&networkdeviceparameterlist[0].password=" + todb($thisDialog.find("#password").val()));
- if($("#DHCP_server_type_container").css("display") != "none")
- array1.push("&networkdeviceparameterlist[0].dhcpservertype=" + todb($thisDialog.find("#DHCP_server_type").val()));
- if($("#Pxe_server_type_container").css("display") != "none")
- array1.push("&networkdeviceparameterlist[0].pxeservertype=" + todb($thisDialog.find("#Pxe_server_type").val()));
- if($("#PING_storage_IP_container").css("display") != "none")
- array1.push("&networkdeviceparameterlist[0].pingstorageserverip=" + todb($thisDialog.find("#PING_storage_IP").val()));
- if($("#PING_dir_container").css("display") != "none")
- array1.push("&networkdeviceparameterlist[0].pingdir=" + todb($thisDialog.find("#PING_dir").val()));
- if($("#TFTP_dir_container").css("display") != "none")
- array1.push("&networkdeviceparameterlist[0].tftpdir=" + todb($thisDialog.find("#TFTP_dir").val()));
- if($("#PING_CIFS_username_container").css("display") != "none")
- array1.push("&networkdeviceparameterlist[0].pingcifsusername=" + todb($thisDialog.find("#PING_CIFS_username").val()));
- if($("#PING_CIFS_password_container").css("display") != "none")
- array1.push("&networkdeviceparameterlist[0].pingcifspassword=" + todb($thisDialog.find("#PING_CIFS_password").val()));
-
- $.ajax({
- data: createURL("command=addNetworkDevice" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
- var item = json.addnetworkdeviceresponse.networkdevice;
- var $subgridItem = $("#network_device_tab_template").clone(true);
- podNetworkDeviceJsonToTemplate(item, $subgridItem);
- $subgridItem.find("#after_action_info").text(g_dictionary["label.adding.succeeded"]);
- $subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").show();
- $("#tab_content_networkdevice").find("#tab_container").append($subgridItem.fadeIn("slow"));
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- return false;
- });
-}
-
-function nfsURL(server, path) {
- var url;
- if(server.indexOf("://")==-1)
- url = "nfs://" + server + path;
- else
- url = server + path;
- return url;
-}
-
-function presetupURL(server, path) {
- var url;
- if(server.indexOf("://")==-1)
- url = "presetup://" + server + path;
- else
- url = server + path;
- return url;
-}
-
-function ocfs2URL(server, path) {
- var url;
- if(server.indexOf("://")==-1)
- url = "ocfs2://" + server + path;
- else
- url = server + path;
- return url;
-}
-
-function SharedMountPointURL(server, path) {
- var url;
- if(server.indexOf("://")==-1)
- url = "SharedMountPoint://" + server + path;
- else
- url = server + path;
- return url;
-}
-
-function clvmURL(vgname) {
- var url;
- if(vgname.indexOf("://")==-1)
- url = "clvm://localhost/" + vgname;
- else
- url = vgname;
- return url;
-}
-
-function vmfsURL(server, path) {
- var url;
- if(server.indexOf("://")==-1)
- url = "vmfs://" + server + path;
- else
- url = server + path;
- return url;
-}
-
-function iscsiURL(server, iqn, lun) {
- var url;
- if(server.indexOf("://")==-1)
- url = "iscsi://" + server + iqn + "/" + lun;
- else
- url = server + iqn + "/" + lun;
- return url;
-}
-
-var podActionMap = {
- "label.action.edit.pod": {
- dialogBeforeActionFn: doEditPod
- },
- "label.action.enable.pod": {
- isAsyncJob: false,
- dialogBeforeActionFn : doEnablePod,
- inProcessText: "label.action.enable.pod.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.updatepodresponse.pod;
- $("#right_panel_content").find("#tab_content_details").find("#allocationstate").text(fromdb(jsonObj.allocationstate));
- podBuildActionMenu(jsonObj);
- }
- }
- ,
- "label.action.disable.pod": {
- isAsyncJob: false,
- dialogBeforeActionFn : doDisablePod,
- inProcessText: "label.action.disable.pod.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.updatepodresponse.pod;
- $("#right_panel_content").find("#tab_content_details").find("#allocationstate").text(fromdb(jsonObj.allocationstate));
- podBuildActionMenu(jsonObj);
- }
- }
- ,
- "label.action.delete.pod": {
- isAsyncJob: false,
- dialogBeforeActionFn : doDeletePod,
- inProcessText: "label.action.delete.pod.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- podClearRightPanel();
- }
- }
- }
-}
-
-function doEditPod($actionLink, $detailsTab, $midmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditPod2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditPod2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var zoneid = jsonObj.zoneid;
- var oldName = jsonObj.name;
- var oldNetmask = jsonObj.netmask;
- var oldStartip = jsonObj.startip;
- var oldEndip = jsonObj.endip;
- var oldGateway = jsonObj.gateway;
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"));
- isValid &= validateNetmask("Netmask", $detailsTab.find("#netmask_edit"), $detailsTab.find("#netmask_edit_errormsg"));
- isValid &= validateIp("Start IP Range", $detailsTab.find("#startIpRange_edit"), $detailsTab.find("#startIpRange_edit_errormsg")); //required
- isValid &= validateIp("End IP Range", $detailsTab.find("#endIpRange_edit"), $detailsTab.find("#endIpRange_edit_errormsg"), true); //optional
- isValid &= validateIp("Gateway", $detailsTab.find("#gateway_edit"), $detailsTab.find("#gateway_edit_errormsg"), true); //optional when editing
- if (!isValid)
- return;
-
- var newName = trim($detailsTab.find("#name_edit").val());
- var newNetmask = trim($detailsTab.find("#netmask_edit").val());
- var newStartip = trim($detailsTab.find("#startIpRange_edit").val());
- var newEndip = trim($detailsTab.find("#endIpRange_edit").val());
- var newIpRange = getIpRange(newStartip, newEndip);
- var newGateway = trim($detailsTab.find("#gateway_edit").val());
-
- var array1 = [];
- if(newName != oldName)
- array1.push("&name="+todb(newName));
- if(newNetmask != oldNetmask)
- array1.push("&netmask="+todb(newNetmask));
- if(newStartip != oldStartip)
- array1.push("&startIp="+todb(newStartip));
- if(newEndip != oldEndip && newEndip != null && newEndip.length > 0) {
- if(newStartip == oldStartip) {
- array1.push("&startIp="+todb(newStartip)); //startIp needs to be passed to updatePod API when endIp is passed to updatePod API.
- }
- array1.push("&endIp="+todb(newEndip));
- }
- if(newGateway != oldGateway && newGateway != null && newGateway.length > 0)
- array1.push("&gateway="+todb(newGateway));
-
- if(array1.length > 0) {
- $.ajax({
- data: createURL("command=updatePod&id="+id+array1.join("")),
- dataType: "json",
- success: function(json) {
- var item = json.updatepodresponse.pod;
- $midmenuItem1.data("jsonObj", item);
- $midmenuItem1.find("#pod_name").text(item.name);
- podJsonToRightPanel($midmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
- });
- }
- else {
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
-}
-
-function doEnablePod($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.enable.pod"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=updatePod&id="+id+"&allocationstate=Enabled";
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDisablePod($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.disable.pod"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=updatePod&id="+id+"&allocationstate=Disabled";
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDeletePod($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.pod"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=deletePod&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
diff --git a/ui/old/scripts/cloud.core.primarystorage.js b/ui/old/scripts/cloud.core.primarystorage.js
deleted file mode 100644
index c817106fd60..00000000000
--- a/ui/old/scripts/cloud.core.primarystorage.js
+++ /dev/null
@@ -1,388 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function primarystorageGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneId="+zone);
-
- if ($advancedSearchPopup.find("#adv_search_pod_li").css("display") != "none") {
- var pod = $advancedSearchPopup.find("#adv_search_pod").val();
- if (pod!=null && pod.length > 0)
- moreCriteria.push("&podId="+pod);
- }
- }
-
- return moreCriteria.join("");
-}
-
-function primarystorageToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_primarystorage.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.ipaddress);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-
- updateHostStateInMidMenu(jsonObj, $midmenuItem1);
-}
-
-function primarystorageToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- primarystorageJsonToDetailsTab();
-}
-
-function afterLoadPrimaryStorageJSP() {
- //add pool dialog
- initDialog("dialog_add_pool", 400);
- bindEventHandlerToDialogAddPool($("#dialog_add_pool"));
-
- primaryStorageRefreshDataBinding();
-}
-
-function primaryStorageRefreshDataBinding() {
- var $primarystorageNode = $selectedSubMenu.parent();
- bindAddPrimaryStorageButton($primarystorageNode);
-}
-
-function primarystorageJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- primarystorageClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- primarystorageClearDetailsTab();
- return;
- }
-
- $.ajax({
- data: createURL("command=listStoragePools&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.liststoragepoolsresponse.storagepool;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- updateHostStateInMidMenu(jsonObj, $midmenuItem1);
- }
- }
- });
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
-
- setHostStateInRightPanel(fromdb(jsonObj.state), $thisTab.find("#state"));
-
-
- //refresh status every 2 seconds until status is not changable any more
- var timerKey = "refreshPrimarystorageStatus";
- $("body").stopTime(timerKey); //stop timer used by another middle menu item (i.e. stop timer when clicking on a different middle menu item)
- if($midmenuItem1.find("#spinning_wheel").css("display") == "none") {
- if(jsonObj.state in primarystorageChangableStatus) {
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=listStoragePools&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.liststoragepoolsresponse.storagepool;
- if(items != null && items.length > 0) {
- jsonObj = items[0]; //override jsonObj declared above
- $midmenuItem1.data("jsonObj", jsonObj);
- if(!(jsonObj.state in primarystorageChangableStatus)) {
- $("body").stopTime(timerKey);
- updateHostStateInMidMenu(jsonObj, $midmenuItem1);
- if(jsonObj.id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- setHostStateInRightPanel(jsonObj.state, $thisTab.find("#state"));
- primarystorageBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
- }
- }
- }
- }
- });
- }
- );
- }
- }
-
-
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#podname").text(fromdb(jsonObj.podname));
- $thisTab.find("#clustername").text(fromdb(jsonObj.clustername));
-
- $thisTab.find("#type").text(fromdb(jsonObj.type));
-
- $thisTab.find("#ipaddress").text(fromdb(jsonObj.ipaddress));
- $thisTab.find("#path").text(fromdb(jsonObj.path));
- $thisTab.find("#disksizetotal").text(convertBytes(jsonObj.disksizetotal));
- $thisTab.find("#disksizeallocated").text(convertBytes(jsonObj.disksizeallocated));
-
- $thisTab.find("#tags").text(fromdb(jsonObj.tags));
- $thisTab.find("#tags_edit").val(fromdb(jsonObj.tags));
-
- // actions
- primarystorageBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-var primarystorageChangableStatus = {
- "PrepareForMaintenance": 1,
- "CancelMaintenance": 1
-}
-
-function primarystorageBuildActionMenu(jsonObj, $thisTab, $midmenuItem1) {
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- //buildActionLinkForTab("label.action.edit.primary.storage", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab); //because updateStoragePool API is commented out.
-
- if (jsonObj.state == 'Up' || jsonObj.state == "Connecting") {
- buildActionLinkForTab("label.action.enable.maintenance.mode", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if(jsonObj.state == 'Down') {
- buildActionLinkForTab("label.action.enable.maintenance.mode", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.delete.primary.storage", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
-
- }
- else if(jsonObj.state == "Alert") {
- buildActionLinkForTab("label.action.delete.primary.storage", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if (jsonObj.state == "ErrorInMaintenance") {
- buildActionLinkForTab("label.action.enable.maintenance.mode", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.cancel.maintenance.mode", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if (jsonObj.state == "PrepareForMaintenance") {
- buildActionLinkForTab("label.action.cancel.maintenance.mode", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if (jsonObj.state == "Maintenance") {
- buildActionLinkForTab("label.action.cancel.maintenance.mode", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.delete.primary.storage", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if (jsonObj.state == "Disconnected"){
- buildActionLinkForTab("label.action.delete.primary.storage", primarystorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else {
- //alert("Unsupported Host State: " + jsonObj.state);
- }
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-}
-
-function primarystorageClearRightPanel() {
- primarystorageClearDetailsTab();
-}
-
-function primarystorageClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#state").text("");
- $thisTab.find("#zonename").text("");
- $thisTab.find("#podname").text("");
- $thisTab.find("#clustername").text("");
- $thisTab.find("#type").text("");
- $thisTab.find("#ipaddress").text("");
- $thisTab.find("#path").text("");
- $thisTab.find("#disksizetotal").text("");
- $thisTab.find("#disksizeallocated").text("");
- $thisTab.find("#tags").text("");
-}
-
-var primarystorageActionMap = {
- "label.action.edit.primary.storage": {
- dialogBeforeActionFn: doEditPrimaryStorage
- },
- "label.action.enable.maintenance.mode": {
- isAsyncJob: true,
- asyncJobResponse: "prepareprimarystorageformaintenanceresponse",
- dialogBeforeActionFn: doEnableMaintenanceModeForPrimaryStorage,
- inProcessText: "label.action.enable.maintenance.mode.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.storagepool;
- primarystorageToMidmenu(item, $midmenuItem1);
- }
- },
- "label.action.cancel.maintenance.mode": {
- isAsyncJob: true,
- asyncJobResponse: "cancelprimarystoragemaintenanceresponse",
- dialogBeforeActionFn: doCancelMaintenanceModeForPrimaryStorage,
- inProcessText: "label.action.cancel.maintenance.mode.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.storagepool;
- primarystorageToMidmenu(item, $midmenuItem1);
- }
- },
- "label.action.delete.primary.storage": {
- isAsyncJob: false,
- dialogBeforeActionFn: doDeletePrimaryStorage,
- inProcessText: "label.action.delete.primary.storage.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- primarystorageClearRightPanel();
- }
- }
- }
-}
-
-function doEditPrimaryStorage($actionLink, $detailsTab, $midmenuItem1) {
- var $readonlyFields = $detailsTab.find("#tags");
- var $editFields = $detailsTab.find("#tags_edit");
-
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditPrimaryStorage2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditPrimaryStorage2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- // validate values
- var isValid = true;
- isValid &= validateString("Tags", $detailsTab.find("#tags_edit"), $detailsTab.find("#tags_edit_errormsg"), true); //optional
- if (!isValid)
- return;
-
- var array1 = [];
-
- var tags = $detailsTab.find("#tags_edit").val();
- array1.push("&tags="+todb(tags));
-
- if(array1.length == 0)
- return;
-
- $.ajax({
- data: createURL("command=updateStoragePool&id="+id+array1.join("")),
- dataType: "json",
- success: function(json) {
- primarystorageToMidmenu(jsonObj, $midmenuItem1);
- primarystorageToRightPanel($midmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
- });
-}
-
-function doEnableMaintenanceModeForPrimaryStorage($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.primarystorage.enable.maintenance.mode"])
- .dialog("option", "buttons", {
- "OK": function() {
- $(this).dialog("close");
- var id = jsonObj.id;
- var apiCommand = "command=enableStorageMaintenance&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doCancelMaintenanceModeForPrimaryStorage($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.cancel.maintenance.mode"])
- .dialog("option", "buttons", {
- "OK": function() {
- $(this).dialog("close");
- var id = jsonObj.id;
- var apiCommand = "command=cancelStorageMaintenance&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDeletePrimaryStorage($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.primary.storage"])
- .dialog("option", "buttons", {
- "OK": function() {
- $(this).dialog("close");
- var id = jsonObj.id;
- var apiCommand = "command=deleteStoragePool&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
diff --git a/ui/old/scripts/cloud.core.resource.js b/ui/old/scripts/cloud.core.resource.js
deleted file mode 100644
index 8105eae0dd7..00000000000
--- a/ui/old/scripts/cloud.core.resource.js
+++ /dev/null
@@ -1,2062 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function buildZoneTree() {
- var forceLogout = true; // We force a logout only if the user has first added a POD for the very first time
- var $loadingContainer = $("#leftmenu_physical_resource").find("#loading_container").show();
- var $arrowIcon = $("#leftmenu_physical_resource").find("#physical_resource_arrow").hide();
-
- var $zoneTree = $("#leftmenu_zone_tree").find("#tree_container").hide();
-
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- success: function(json) {
- var items = json.listzonesresponse.zone;
- var container = $zoneTree.empty();
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var $zoneNode = $("#leftmenu_zone_node_template").clone(true);
- zoneJSONToTreeNode(items[i],$zoneNode);
- container.append($zoneNode.show());
- }
- }
- $zoneTree.show();
-
- $loadingContainer.hide();
- $arrowIcon.show();
- }
- });
-
- $("#leftmenu_zone_node_template").unbind("click").bind("click", function(event) {
- var $zoneNode = $(this);
- var target = $(event.target);
- var action = target.attr("id");
- var id = $zoneNode.data("id");
- var name = $zoneNode.data("name");
-
- switch (action) {
- case "zone_arrow" :
- var $loadingContainer = $zoneNode.find("#zone_loading_container").show();
- var $zoneArrow = $zoneNode.find("#zone_arrow").hide();
-
- var zoneObj = $zoneNode.data("jsonObj");
- var $zoneContent = $zoneNode.find("#zone_content");
- if(target.hasClass("expanded_close")) {
- $.ajax({
- data: createURL("command=listPods&zoneid="+zoneObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listpodsresponse.pod;
- var $container = $zoneContent.find("#pods_container");
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- var $podNode = $("#leftmenu_pod_node_template").clone(true);
- podJSONToTreeNode(items[i], $podNode);
- $container.append($podNode.show());
- }
- }
- }
- });
- target.removeClass("expanded_close").addClass("expanded_open");
- $zoneContent.show();
- }
- else if(target.hasClass("expanded_open")) {
- $zoneContent.find("#pods_container").empty();
- target.removeClass("expanded_open").addClass("expanded_close");
- $zoneContent.hide();
- }
-
- $loadingContainer.hide();
- $zoneArrow.show();
-
- break;
-
- default:
- selectRowInZoneTree($(this).find("#zone_header"));
-
- if(currentRightPanelJSP != "jsp/zone.jsp") {
- removeDialogs();
-
- var $thisNode = $(this);
- $("#right_panel").load("jsp/zone.jsp", function(){
- currentRightPanelJSP = "jsp/zone.jsp";
-
- $(this).data("onRefreshFn", function() {
- zoneJsonToDetailsTab();
- });
-
- afterLoadZoneJSP($thisNode);
- });
- }
- else {
- zoneRefreshDataBinding();
- }
-
- break;
- }
- return false;
- });
-
- $("#secondarystorage_header").unbind("click").bind("click", function(event) {
- selectRowInZoneTree($(this));
-
- secondaryStorageClearRightPanel();
- var zoneObj = $(this).data("zoneObj");
- listMidMenuItems(("listHosts&type=SecondaryStorage&zoneid="+zoneObj.id), secondaryStorageGetSearchParams, "listhostsresponse", "host", "jsp/secondarystorage.jsp", afterLoadSecondaryStorageJSP, secondaryStorageToMidmenu, secondaryStorageToRightPanel, getMidmenuId, false, ("zone_"+zoneObj.id+"_secondarystorage"), secondaryStorageRefreshDataBinding);
-
- /*
- if(currentRightPanelJSP != "jsp/secondarystorage.jsp") {
- removeDialogs();
-
- var $thisNode = $(this);
- $("#right_panel").load("jsp/secondarystorage.jsp", function(){
- currentRightPanelJSP = "jsp/secondarystorage.jsp";
-
- $(this).data("onRefreshFn", function() {
- secondaryStorageToDetailsTab();
- });
-
- afterLoadSecondaryStorageJSP($thisNode);
- });
- }
- else {
- secondaryStorageRefreshDataBinding();
- }
- */
-
- return false;
- });
-
- $("#network_header").unbind("click").bind("click", function(event) {
- selectRowInZoneTree($(this));
-
- clearMiddleMenu();
- showMiddleMenu();
-
- if(currentRightPanelJSP != "jsp/network.jsp") {
- removeDialogs();
-
- var $thisNode = $(this);
- $("#right_panel").load("jsp/network.jsp", function(){
- currentRightPanelJSP = "jsp/network.jsp";
-
- $(this).data("onRefreshFn", function() {
- $selectedSubMenu.click();
- });
- afterLoadNetworkJSP($thisNode);
- });
- }
- else {
- networkPopulateMiddleMenu($(this));
- }
-
- return false;
- });
-
- $("#leftmenu_pod_node_template").unbind("click").bind("click", function(event) {
- var $podNode = $(this);
- var target = $(event.target);
- var action = target.attr("id");
- var id = $podNode.data("id");
- var name = $podNode.data("name");
-
- switch (action) {
- case "pod_arrow" :
- var $loadingContainer = $podNode.find("#pod_loading_container").show();
- var $podArrow = $podNode.find("#pod_arrow").hide();
-
- var podObj = $podNode.data("jsonObj");
- var $podContent = $podNode.find("#pod_content");
- if(target.hasClass("expanded_close")) {
- target.removeClass("expanded_close").addClass("expanded_open");
- $podContent.show();
- $.ajax({
- data: createURL("command=listClusters&podid="+podObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listclustersresponse.cluster;
- var container = $podContent.find("#clusters_container").empty();
- if (items != null && items.length > 0) {
- for (var i = 0; i < items.length; i++) {
- $clusterNode = $("#leftmenu_cluster_node_template").clone(true);
- var item = items[i];
- clusterJSONToTreeNode(item, $clusterNode);
- container.append($clusterNode.show());
- }
- }
- }
- });
- }
- else if(target.hasClass("expanded_open")) {
- target.removeClass("expanded_open").addClass("expanded_close");
- $podContent.hide();
- $podContent.find("#clusters_container").empty();
- }
-
- $loadingContainer.hide();
- $podArrow.show();
-
- break;
-
- default:
- selectRowInZoneTree($(this).find("#pod_header"));
-
- if(currentRightPanelJSP != "jsp/pod.jsp") {
- removeDialogs();
-
- var $thisNode = $(this);
- $("#right_panel").load("jsp/pod.jsp", function(){
- currentRightPanelJSP = "jsp/pod.jsp";
-
- $(this).data("onRefreshFn", function() {
- podJsonToDetailsTab();
- });
- afterLoadPodJSP($thisNode);
- });
- }
- else {
- podJsonToRightPanel($(this));
- }
-
- break;
- }
- return false;
- });
-
- $("#leftmenu_host_node_template").unbind("click").bind("click", function(event) {
- selectRowInZoneTree($(this).find("#host_header"));
-
- hostClearRightPanel();
- var clusterObj = $(this).data("clusterObj");
- listMidMenuItems(("listHosts&type=Routing&clusterid="+clusterObj.id), hostGetSearchParams, "listhostsresponse", "host", "jsp/host.jsp", afterLoadHostJSP, hostToMidmenu, hostToRightPanel, getMidmenuId, false, ("cluster_"+clusterObj.id+"_host"), hostRefreshDataBinding);
-
- return false;
- });
-
- $("#leftmenu_primarystorage_node_template").unbind("click").bind("click", function(event) {
- selectRowInZoneTree($(this).find("#primarystorage_header"));
-
- primarystorageClearRightPanel();
- var clusterObj = $(this).data("clusterObj");
- listMidMenuItems(("listStoragePools&clusterid="+clusterObj.id), primarystorageGetSearchParams, "liststoragepoolsresponse", "storagepool", "jsp/primarystorage.jsp", afterLoadPrimaryStorageJSP, primarystorageToMidmenu, primarystorageToRightPanel, getMidmenuId, false, ("cluster_"+clusterObj.id+"_primarystorage"), primaryStorageRefreshDataBinding);
-
- return false;
- });
-
- $("#leftmenu_cluster_node_template").unbind("click").bind("click", function(event) {
- var $thisNode = $(this);
- var $target = $(event.target);
- var targetId = $target.attr("id");
-
- switch (targetId) {
- case "cluster_arrow" :
- var $loadingContainer = $thisNode.find("#cluster_loading_container").show();
- var $clusterArrow = $thisNode.find("#cluster_arrow").hide();
- var clusterObj = $thisNode.data("jsonObj");
- var $clusterContent = $thisNode.find("#cluster_content");
- if($target.hasClass("expanded_close")) {
- $target.removeClass("expanded_close").addClass("expanded_open");
- $clusterContent.show();
- }
- else if($target.hasClass("expanded_open")) {
- $clusterContent.find("#pods_container").empty();
- $target.removeClass("expanded_open").addClass("expanded_close");
- $clusterContent.hide();
- }
-
- $loadingContainer.hide();
- $clusterArrow.show();
-
- break;
-
- default:
- selectRowInZoneTree($thisNode.find("#cluster_header"));
-
- if(currentRightPanelJSP != "jsp/cluster.jsp") {
- removeDialogs();
-
- $("#right_panel").load("jsp/cluster.jsp", function(){
- currentRightPanelJSP = "jsp/cluster.jsp";
-
- var $topButtonContainer = clearButtonsOnTop();
- $("#top_buttons").appendTo($topButtonContainer);
-
- $(this).data("onRefreshFn", function() {
- clusterJsonToDetailsTab();
- });
-
- afterLoadClusterJSP($thisNode);
- clusterToRightPanel($thisNode);
- });
- }
- else {
- clusterToRightPanel($thisNode);
- }
-
- break;
- }
- return false;
- });
-}
-
-function selectRowInZoneTree($rowToSelect) {
- if($selectedSubMenu != null)
- $selectedSubMenu.removeClass("selected");
- $rowToSelect.addClass("selected");
- $selectedSubMenu = $rowToSelect;
-}
-
-function selectTreeNodeInLeftMenu($menuToSelect, expandable) {
- if($selectedLeftMenu != null)
- $selectedLeftMenu.removeClass("selected");
- $menuToSelect.addClass("selected");
- $selectedLeftMenu = $menuToSelect;
-}
-
-function zoneJSONToTreeNode(jsonObj, $zoneNode) {
- var zoneid = jsonObj.id;
- $zoneNode.attr("id", "zone_" + zoneid);
- $zoneNode.data("jsonObj", jsonObj);
- $zoneNode.find("#secondarystorage_header").data("zoneObj", jsonObj).attr("id",("zone_"+jsonObj.id+"_secondarystorage"));
-
- $zoneNode.find("#network_header").data("jsonObj", jsonObj);
- /*
- if(jsonObj.networktype == "Advanced") { //Advanced Zone
- $zoneNode.find("#network_header").show().data("jsonObj", jsonObj);
- }
- else { //Basic Zone
- $zoneNode.find("#network_header").hide();
- }
- */
-
- $zoneNode.data("id", zoneid).data("name", fromdb(jsonObj.name));
- var zoneName = $zoneNode.find("#zone_name").text(fromdb(jsonObj.name));
- zoneName.data("jsonObj", jsonObj);
-}
-
-function podJSONToTreeNode(json, $podNode) {
- var podid = json.id;
- $podNode.attr("id", "pod_" + podid);
- $podNode.data("jsonObj", json);
- $podNode.data("podId", podid).data("name", fromdb(json.name));
-
- var podName = $podNode.find("#pod_name").text(fromdb(json.name));
- podName.data("jsonObj", json);
-
- $.ajax({
- data: createURL("command=listClusters&podid="+podid),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listclustersresponse.cluster;
- if (items != null && items.length > 0) {
- $podNode.find("#pod_arrow").removeClass("white_nonexpanded_close").addClass("expanded_close");
- }
- }
- });
-}
-
-function clusterJSONToTreeNode(json, $clusterNode) {
- $clusterNode.attr("id", "cluster_"+json.id);
- $clusterNode.data("jsonObj", json);
- $clusterNode.find("#leftmenu_host_node_template").data("clusterObj", json).attr("id",("cluster_"+json.id+"_host"));
- $clusterNode.find("#leftmenu_primarystorage_node_template").data("clusterObj", json).attr("id",("cluster_"+json.id+"_primarystorage"));
- $clusterNode.data("id", json.id).data("name", fromdb(json.name));
- var clusterName = $clusterNode.find("#cluster_name").text(fromdb(json.name));
- clusterName.data("jsonObj", json);
-}
-
-function hostJSONToTreeNode(json, $node) {
- $node.attr("id", "host_"+json.id);
- $node.data("jsonObj", json);
- var hostName = $node.find("#host_name").text(fromdb(json.name));
-}
-
-function primarystorageJSONToTreeNode(json, $node) {
- $node.attr("id", "primarystorage_"+json.id);
- $node.data("jsonObj", json);
- var primarystorageName = $node.find("#primarystorage_name").text(fromdb(json.name));
-}
-
-function afterLoadResourceJSP() {
- hideMiddleMenu();
-
- var $topButtonContainer = clearButtonsOnTop();
- $("#top_buttons").appendTo($topButtonContainer);
-
- initAddZoneWizard();
- initAddZoneLinks();
-
- initUpdateConsoleCertButton($("#Update_SSL_Certificate_button"));
-
- initDialog("dialog_update_cert", 450);
- initDialog("dialog_add_pod_in_resource_page", 370);
- initDialog("dialog_add_external_cluster_in_resource_page", 320);
- initDialog("dialog_add_host_in_resource_page", 400);
- initDialog("dialog_add_pool_in_resource_page", 400);
-
- listZonesUpdate();
-
- initAddPodShortcut();
- initAddClusterShortcut();
- initAddHostShortcut();
- initAddPrimaryStorageShortcut();
-
- resourceCountTotal();
-}
-
-function listZonesUpdate() {
- var $dialogs = $("#dialog_add_pod_in_resource_page,#dialog_add_external_cluster_in_resource_page,#dialog_add_host_in_resource_page,#dialog_add_pool_in_resource_page");
-
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- async: false,
- success: function(json) {
- $("#zone_total").text(json.listzonesresponse.count.toString());
- var items = json.listzonesresponse.zone;
- if (items != null && items.length > 0) {
- for(var i=0; i" + fromdb(items[i].name) + "");
- }
- }
- }
- });
-}
-
-function initAddPodShortcut() {
- var $dialogAddPod = $("#dialog_add_pod_in_resource_page");
-
- var $zoneDropdown = $dialogAddPod.find("#zone_dropdown");
-
- $zoneDropdown.bind("change", function(event) {
- var zoneId = $(this).val();
- if(zoneId == null)
- return;
- $.ajax({
- data: createURL("command=listZones&id="+zoneId),
- dataType: "json",
- success: function(json) {
- var zoneObj = json.listzonesresponse.zone[0];
- if(zoneObj.networktype == "Basic") { //basic-mode network (pod-wide VLAN)
- $dialogAddPod.find("#guestip_container, #guestnetmask_container, #guestgateway_container").show();
- }
- else if(zoneObj.networktype == "Advanced") { //advanced-mode network (zone-wide VLAN)
- $dialogAddPod.find("#guestip_container, #guestnetmask_container, #guestgateway_container").hide();
- }
- }
- });
- });
- $zoneDropdown.change();
-
- $("#add_pod_shortcut").unbind("click").bind("click", function(event) {
- $dialogAddPod.find("#info_container").hide();
-
- $dialogAddPod
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateDropDownBox("Zone", $thisDialog.find("#zone_dropdown"), $thisDialog.find("#zone_dropdown_errormsg"));
- isValid &= validateString("Name", $thisDialog.find("#add_pod_name"), $thisDialog.find("#add_pod_name_errormsg"));
- isValid &= validateNetmask("Netmask", $thisDialog.find("#add_pod_netmask"), $thisDialog.find("#add_pod_netmask_errormsg"));
- isValid &= validateIp("Start IP Range", $thisDialog.find("#add_pod_startip"), $thisDialog.find("#add_pod_startip_errormsg")); //required
- isValid &= validateIp("End IP Range", $thisDialog.find("#add_pod_endip"), $thisDialog.find("#add_pod_endip_errormsg"), true); //optional
- isValid &= validateIp("Gateway", $thisDialog.find("#add_pod_gateway"), $thisDialog.find("#add_pod_gateway_errormsg")); //required when creating
-
- if($thisDialog.find("#guestip_container").css("display") != "none") {
- isValid &= validateIp("Guest IP Range", $thisDialog.find("#startguestip"), $thisDialog.find("#startguestip_errormsg")); //required
- isValid &= validateIp("Guest IP Range", $thisDialog.find("#endguestip"), $thisDialog.find("#endguestip_errormsg"), true); //optional
- isValid &= validateNetmask("Guest Netmask", $thisDialog.find("#guestnetmask"), $thisDialog.find("#guestnetmask_errormsg")); //required when creating
- isValid &= validateIp("Guest Gateway", $thisDialog.find("#guestgateway"), $thisDialog.find("#guestgateway_errormsg"));
- }
-
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var zoneId = $thisDialog.find("#zone_dropdown").val();
- var name = trim($thisDialog.find("#add_pod_name").val());
- var netmask = trim($thisDialog.find("#add_pod_netmask").val());
- var startip = trim($thisDialog.find("#add_pod_startip").val());
- var endip = trim($thisDialog.find("#add_pod_endip").val()); //optional
- var gateway = trim($thisDialog.find("#add_pod_gateway").val());
-
- var array1 = [];
- array1.push("&zoneId="+zoneId);
- array1.push("&name="+todb(name));
- array1.push("&netmask="+todb(netmask));
- array1.push("&startIp="+todb(startip));
- if (endip != null && endip.length > 0)
- array1.push("&endIp="+todb(endip));
- array1.push("&gateway="+todb(gateway));
-
- $.ajax({
- data: createURL("command=createPod"+array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.createpodresponse.pod;
- var $zoneNode = $("#leftmenu_zone_tree").find("#tree_container").find("#zone_" + zoneId);
- if($zoneNode.find("#zone_arrow").hasClass("expanded_open")) {
- var template = $("#leftmenu_pod_node_template").clone(true);
- podJSONToTreeNode(item, template);
- $zoneNode.find("#pods_container").prepend(template.fadeIn("slow"));
- }
- else {
- $zoneNode.find("#zone_arrow").click(); //expand zone node to show the newly added pod
- }
-
- var podTotal = parseInt($("#pod_total").text());
- podTotal++;
- $("#pod_total").text(podTotal.toString());
-
- /*
- forceLogout = false; // We don't force a logout if pod(s) exit.
- if (forceLogout) {
- $("#dialog_confirmation")
- .html("You have successfully added your first Zone and Pod. After clicking 'OK', this UI will automatically refresh to give you access to the rest of cloud features.
")
- .dialog('option', 'buttons', {
- "OK": function() {
- $(this).dialog("close");
- window.location.reload();
- }
- }).dialog("open");
- }
- */
-
- //Create IP Range
- if($thisDialog.find("#guestip_container").css("display") != "none") {
- var netmask = $thisDialog.find("#guestnetmask").val();
- var startip = $thisDialog.find("#startguestip").val();
- var endip = $thisDialog.find("#endguestip").val();
- var guestgateway = $thisDialog.find("#guestgateway").val();
-
- var array1 = [];
- array1.push("&vlan=untagged");
- array1.push("&zoneid=" + zoneId);
- array1.push("&podId=" + item.id);
- array1.push("&forVirtualNetwork=false"); //direct VLAN
- array1.push("&gateway="+todb(guestgateway));
- array1.push("&netmask="+todb(netmask));
- array1.push("&startip="+todb(startip));
- if(endip != null && endip.length > 0)
- array1.push("&endip="+todb(endip));
-
- $.ajax({
- data: createURL("command=createVlanIpRange" + array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- //var item = json.createvlaniprangeresponse.vlan;
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- }
-
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function initAddClusterShortcut() {
- var $dialogAddCluster = $("#dialog_add_external_cluster_in_resource_page");
-
- $.ajax({
- data: createURL("command=listHypervisors"),
- dataType: "json",
- success: function(json) {
- var items = json.listhypervisorsresponse.hypervisor;
- var $hypervisorDropdown = $dialogAddCluster.find("#cluster_hypervisor").empty();
- if(items != null && items.length > 0) {
- for(var i=0; i"+fromdb(items[i].name)+"");
- }
- }
- }
- });
-
- var $zoneDropdown = $dialogAddCluster.find("#zone_dropdown");
- var $podDropdown = $dialogAddCluster.find("#pod_dropdown");
-
- /*
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listzonesresponse.zone;
- if (items != null && items.length > 0) {
- for(var i=0; i" + fromdb(items[i].name) + "");
- }
- }
- });
- */
-
- $zoneDropdown.bind("change", function(event) {
- var zoneId = $(this).val();
- if(zoneId == null)
- return;
- $.ajax({
- data: createURL("command=listZones&id="+zoneId),
- dataType: "json",
- success: function(json) {
- var zoneObj = json.listzonesresponse.zone[0];
- if(zoneObj.networktype == "Basic") { //basic-mode network (pod-wide VLAN)
- $dialogAddCluster.find("#guestip_container, #guestnetmask_container, #guestgateway_container").show();
- }
- else if(zoneObj.networktype == "Advanced") { //advanced-mode network (zone-wide VLAN)
- $dialogAddCluster.find("#guestip_container, #guestnetmask_container, #guestgateway_container").hide();
- }
- }
- });
- $.ajax({
- data: createURL("command=listPods&zoneid="+zoneId),
- dataType: "json",
- async: false,
- success: function(json) {
- var pods = json.listpodsresponse.pod;
- $podDropdown.empty();
- if(pods != null && pods.length > 0) {
- for(var i=0; i" + fromdb(pods[i].name) + "");
- }
- }
- });
- });
-
- var $hypervisorDropdown = $dialogAddCluster.find("#cluster_hypervisor");
- $hypervisorDropdown.change(function() {
- if($(this).val() == "VMware") {
- $('li[input_group="vmware"]', $dialogAddCluster).show();
- // $dialogAddCluster.find("#type_dropdown").change();
- $('li[input_sub_group="external"]', $dialogAddCluster).show();
- $("#cluster_name_label", $dialogAddCluster).text("vCenter Cluster:");
- } else {
- $('li[input_group="vmware"]', $dialogAddCluster).hide();
- $("#cluster_name_label", $dialogAddCluster).text("Cluster:");
- }
- });
-
-/*
- $dialogAddCluster.find("#type_dropdown").change(function() {
- if($(this).val() == "ExternalManaged") {
- $('li[input_sub_group="external"]', $dialogAddCluster).show();
- $("#cluster_name_label", $dialogAddCluster).text("vCenter Cluster:");
- } else {
- $('li[input_sub_group="external"]', $dialogAddCluster).hide();
- $("#cluster_name_label", $dialogAddCluster).text("Cluster:");
- }
- });
-*/
-
- $("#add_cluster_shortcut").unbind("click").bind("click", function(event) {
- $dialogAddCluster.find("#info_container").hide();
-
- $zoneDropdown.change();
- $hypervisorDropdown.change();
-
- $dialogAddCluster.dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var hypervisor = $thisDialog.find("#cluster_hypervisor").val();
- var clusterType="CloudManaged";
- if(hypervisor == "VMware") {
- // clusterType = $thisDialog.find("#type_dropdown").val();
- clusterType = "ExternalManaged";
- }
-
- var isValid = true;
- isValid &= validateDropDownBox("Zone", $thisDialog.find("#zone_dropdown"), $thisDialog.find("#zone_dropdown_errormsg"));
- isValid &= validateDropDownBox("Pod", $thisDialog.find("#pod_dropdown"), $thisDialog.find("#pod_dropdown_errormsg"));
- if(hypervisor == "VMware" && clusterType != "CloudManaged") {
- isValid &= validateString("vCenter Server", $thisDialog.find("#cluster_hostname"), $thisDialog.find("#cluster_hostname_errormsg"));
- isValid &= validateString("vCenter user", $thisDialog.find("#cluster_username"), $thisDialog.find("#cluster_username_errormsg"));
- isValid &= validateString("Password", $thisDialog.find("#cluster_password"), $thisDialog.find("#cluster_password_errormsg"));
- isValid &= validateString("Datacenter", $thisDialog.find("#cluster_datacenter"), $thisDialog.find("#cluster_datacenter_errormsg"));
- }
- isValid &= validateString("Cluster name", $thisDialog.find("#cluster_name"), $thisDialog.find("#cluster_name_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show();
-
- var array1 = [];
- array1.push("&hypervisor="+hypervisor);
- array1.push("&clustertype=" + clusterType);
-
- var zoneId = $thisDialog.find("#zone_dropdown").val();;
- array1.push("&zoneId="+zoneId);
-
- //expand zone in left menu tree (to show pod, cluster under the zone)
- var $zoneNode = $("#leftmenu_zone_tree").find("#tree_container").find("#zone_" + zoneId);
- if($zoneNode.find("#zone_arrow").hasClass("expanded_close"))
- $zoneNode.find("#zone_arrow").click();
-
- var podId = $thisDialog.find("#pod_dropdown").val();
- array1.push("&podId="+podId);
-
- var clusterName = trim($thisDialog.find("#cluster_name").val());
- if(hypervisor == "VMware" && clusterType != "CloudManaged") {
- var username = trim($thisDialog.find("#cluster_username").val());
- array1.push("&username="+todb(username));
-
- var password = trim($thisDialog.find("#cluster_password").val());
- array1.push("&password="+todb(password));
-
- var hostname = trim($thisDialog.find("#cluster_hostname").val());
- var dcName = trim($thisDialog.find("#cluster_datacenter").val());
- var url;
- if(hostname.indexOf("http://")==-1)
- url = "http://" + todb(hostname);
- else
- url = hostname;
- url += "/" + todb(dcName) + "/" + todb(clusterName);
- array1.push("&url=" + todb(url));
-
- clusterName = hostname + "/" + dcName + "/" + clusterName
- }
-
- array1.push("&clustername=" + todb(clusterName));
-
- $.ajax({
- data: createURL("command=addCluster" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.addclusterresponse.cluster[0];
- var $podNode = $("#pod_" + podId);
- if($podNode.length > 0 && $podNode.css("display") != "none") {
- if($podNode.find("#pod_arrow").hasClass("white_nonexpanded_close")) {
- $podNode.find("#pod_arrow").removeClass("white_nonexpanded_close").addClass("expanded_close");
- }
-
- if($podNode.find("#pod_arrow").hasClass("expanded_close")) { //if pod node is closed
- $podNode.find("#pod_arrow").click(); //expand pod node
- var $clusterNode = $podNode.find("#cluster_"+item.id);
- $clusterNode.find("#cluster_arrow").click(); //expand cluster node to see host node and storage node
- $clusterNode.find("#cluster_name").click(); //click cluster node to show cluster info
- }
- else { //if pod node is expanded
- var $clusterNode = $("#leftmenu_cluster_node_template").clone(true);
- clusterJSONToTreeNode(item, $clusterNode);
- $podNode.find("#clusters_container").append($clusterNode.show());
- $clusterNode.find("#cluster_arrow").click(); //expand cluster node to see host node and storage node
- $clusterNode.find("#cluster_name").click(); //click cluster node to show cluster info
- }
- }
-
- var clusterTotal = parseInt($("#cluster_total").text());
- clusterTotal++;
- $("#cluster_total").text(clusterTotal.toString());
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function initAddHostShortcut() {
- var $dialogAddHost = $("#dialog_add_host_in_resource_page");
- var $podSelect = $dialogAddHost.find("#pod_dropdown");
-
- $dialogAddHost.find("#zone_dropdown").bind("change", function(event) {
- var zoneId = $(this).val();
- if(zoneId == null)
- return;
- $.ajax({
- data: createURL("command=listPods&zoneId="+zoneId),
- dataType: "json",
- async: false,
- success: function(json) {
- var pods = json.listpodsresponse.pod;
- var podSelect = $dialogAddHost.find("#pod_dropdown").empty();
- if (pods != null && pods.length > 0) {
- for (var i = 0; i < pods.length; i++) {
- podSelect.append("" + fromdb(pods[i].name) + " ");
- }
- }
- $dialogAddHost.find("#pod_dropdown").change();
- }
- });
- });
-
- $dialogAddHost.find("#pod_dropdown").unbind("change").bind("change", function(event) {
- refreshClsuterFieldInAddHostDialog($dialogAddHost, $dialogAddHost.find("#pod_dropdown").val(), null);
- $dialogAddHost.find("#cluster_select").change();
- });
-
- $dialogAddHost.find("#cluster_select").unbind("change").bind("change", function(event) {
- var clusterId = $(this).val();
- if(clusterId == null)
- return;
- var clusterObj = clustersUnderOnePod[clusterId];
-
- if(clusterObj.hypervisortype == "VMware") {
- $('li[input_group="vmware"]', $dialogAddHost).show();
- $('li[input_group="general"]', $dialogAddHost).hide();
- $('li[input_group="baremetal"]', $dialogAddHost).hide();
- $('li[input_group="Ovm"]', $dialogAddHost).hide();
- }
- else if (clusterObj.hypervisortype == "BareMetal") {
- $('li[input_group="baremetal"]', $dialogAddHost).show();
- $('li[input_group="general"]', $dialogAddHost).show();
- $('li[input_group="vmware"]', $dialogAddHost).hide();
- $('li[input_group="Ovm"]', $dialogAddHost).hide();
- }
- else if (clusterObj.hypervisortype == "Ovm") {
- $('li[input_group="Ovm"]', $dialogAddHost).show();
- $('li[input_group="general"]', $dialogAddHost).show();
- $('li[input_group="vmware"]', $dialogAddHost).hide();
- $('li[input_group="baremetal"]', $dialogAddHost).hide();
- }
- else {
- $('li[input_group="general"]', $dialogAddHost).show();
- $('li[input_group="vmware"]', $dialogAddHost).hide();
- $('li[input_group="baremetal"]', $dialogAddHost).hide();
- $('li[input_group="Ovm"]', $dialogAddHost).hide();
- }
- });
-
- $("#add_host_shortcut").unbind("click").bind("click", function(event) {
- $dialogAddHost.find("#info_container").hide();
- $dialogAddHost.find("#zone_dropdown").change();
-
- $dialogAddHost
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateDropDownBox("Zone", $thisDialog.find("#zone_dropdown"), $thisDialog.find("#zone_dropdown_errormsg"));
- isValid &= validateDropDownBox("Pod", $thisDialog.find("#pod_dropdown"), $thisDialog.find("#pod_dropdown_errormsg"));
- isValid &= validateDropDownBox("Cluster", $thisDialog.find("#cluster_select"), $thisDialog.find("#cluster_select_errormsg"), false); //required, reset error text
-
- var clusterId = $thisDialog.find("#cluster_select").val();
- var clusterObj, hypervisor;
- if(clusterId != null) {
- clusterObj = clustersUnderOnePod[clusterId];
- hypervisor = clusterObj.hypervisortype;
- if(hypervisor == "VMware") {
-/*
- isValid &= validateString("vCenter Address", $thisDialog.find("#host_vcenter_address"), $thisDialog.find("#host_vcenter_address_errormsg"));
- isValid &= validateString("vCenter User", $thisDialog.find("#host_vcenter_username"), $thisDialog.find("#host_vcenter_username_errormsg"));
- isValid &= validateString("vCenter Password", $thisDialog.find("#host_vcenter_password"), $thisDialog.find("#host_vcenter_password_errormsg"));
- isValid &= validateString("vCenter Datacenter", $thisDialog.find("#host_vcenter_dc"), $thisDialog.find("#host_vcenter_dc_errormsg"));
-*/
- isValid &= validateString("vCenter Host", $thisDialog.find("#host_vcenter_host"), $thisDialog.find("#host_vcenter_host_errormsg"));
- }
- else {
- isValid &= validateString("Host name", $thisDialog.find("#host_hostname"), $thisDialog.find("#host_hostname_errormsg"));
- isValid &= validateString("User name", $thisDialog.find("#host_username"), $thisDialog.find("#host_username_errormsg"));
- isValid &= validateString("Password", $thisDialog.find("#host_password"), $thisDialog.find("#host_password_errormsg"));
-
- if (hypervisor == "BareMetal") {
- isValid &= validateString("CPU Cores", $thisDialog.find("#host_baremetal_cpucores"), $thisDialog.find("#host_baremetal_cpucores_errormsg"));
- isValid &= validateString("CPU", $thisDialog.find("#host_baremetal_cpu"), $thisDialog.find("#host_baremetal_cpu_errormsg"));
- isValid &= validateString("Memory", $thisDialog.find("#host_baremetal_memory"), $thisDialog.find("#host_baremetal_memory_errormsg"));
- isValid &= validateString("MAC", $thisDialog.find("#host_baremetal_mac"), $thisDialog.find("#host_baremetal_mac_errormsg"));
- }
- else if(hypervisor == "Ovm") {
- isValid &= validateString("Agent Username", $thisDialog.find("#agent_username"), $thisDialog.find("#agent_username_errormsg"), true); //optional
- isValid &= validateString("Agent Password", $thisDialog.find("#agent_password"), $thisDialog.find("#agent_password_errormsg"), false); //required
- }
- }
- }
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var array1 = [];
-
- var zoneId = $thisDialog.find("#zone_dropdown").val();
- array1.push("&zoneid="+zoneId);
-
- //expand zone in left menu tree (to show pod, cluster under the zone)
- var $zoneNode = $("#leftmenu_zone_tree").find("#tree_container").find("#zone_" + zoneId);
- if($zoneNode.find("#zone_arrow").hasClass("expanded_close"))
- $zoneNode.find("#zone_arrow").click();
-
- var podId = $thisDialog.find("#pod_dropdown").val();
- array1.push("&podid="+podId);
-
- var clusterId = $thisDialog.find("#cluster_select").val();
- array1.push("&clusterid="+clusterId);
-
- array1.push("&hypervisor="+hypervisor);
- var clustertype = clusterObj.clustertype;
- array1.push("&clustertype=" + clustertype);
- array1.push("&hosttags=" + todb(trim($thisDialog.find("#host_tags").val())));
-
- if(hypervisor == "VMware") {
-/*
- var username = trim($thisDialog.find("#host_vcenter_username").val());
- array1.push("&username="+todb(username));
-
- var password = trim($thisDialog.find("#host_vcenter_password").val());
- array1.push("&password="+todb(password));
-
- var hostname = trim($thisDialog.find("#host_vcenter_address").val());
- hostname += "/" + trim($thisDialog.find("#host_vcenter_dc").val());
- hostname += "/" + trim($thisDialog.find("#host_vcenter_host").val());
-*/
- array1.push("&username=");
- array1.push("&password=");
- var hostname = trim($thisDialog.find("#host_vcenter_host").val());
-
- var url;
- if(hostname.indexOf("http://")==-1)
- url = "http://" + todb(hostname);
- else
- url = hostname;
- array1.push("&url="+todb(url));
-
- }
- else {
- var username = trim($thisDialog.find("#host_username").val());
- array1.push("&username="+todb(username));
-
- var password = trim($thisDialog.find("#host_password").val());
- array1.push("&password="+todb(password));
-
- var hostname = trim($thisDialog.find("#host_hostname").val());
- var url;
- if(hostname.indexOf("http://")==-1)
- url = "http://" + todb(hostname);
- else
- url = hostname;
- array1.push("&url="+todb(url));
-
- if (hypervisor == "BareMetal") {
- var cpuCores = trim($thisDialog.find("#host_baremetal_cpucores").val());
- array1.push("&cpunumber="+todb(cpuCores));
-
- var cpuSpeed = trim($thisDialog.find("#host_baremetal_cpu").val());
- array1.push("&cpuspeed="+todb(cpuSpeed));
-
- var memory = trim($thisDialog.find("#host_baremetal_memory").val());
- array1.push("&memory="+todb(memory));
-
- var mac = trim($thisDialog.find("#host_baremetal_mac").val());
- array1.push("&hostmac="+todb(mac));
- }
- else if(hypervisor == "Ovm") {
- var agentUsername = $thisDialog.find("#agent_username").val();
- array1.push("&agentusername="+todb(agentUsername));
-
- var agentPassword = $thisDialog.find("#agent_password").val();
- array1.push("&agentpassword="+todb(agentPassword));
- }
- }
-
- $.ajax({
- data: createURL("command=addHost" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var items = json.addhostresponse.host;
- var hostTotal = parseInt($("#host_total").text());
- hostTotal = hostTotal + items.length;
- $("#host_total").text(hostTotal.toString());
-
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- refreshClsuterFieldInAddHostDialog($thisDialog, podId, null);
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function initAddZoneLinks() {
- $("#add_zone_shortcut,#add_zone_button").unbind("click").bind("click", function(event) {
- var $arrowIcon = $("#leftmenu_physical_resource").find("#physical_resource_arrow");
- if($arrowIcon.hasClass("expanded_close") == true)
- $arrowIcon.click(); //if Physical Resource arrow shows closed (i.e. zonetree is hidden), expand and show zonetree.
-
- openAddZoneWizard();
- return false;
- });
-}
-
-function resourceCountTotal() {
- /*
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- success: function(json) {
- var items = json.listzonesresponse.zone;
- if (items != null) {
- $("#zone_total").text(json.listzonesresponse.count.toString());
- }
- }
- });
- */
-
- $.ajax({
- data: createURL("command=listPods&available=true"),
- dataType: "json",
- success: function(json) {
- var items = json.listpodsresponse.pod;
- if (items != null) {
- $("#pod_total").text(json.listpodsresponse.count.toString());
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listClusters"),
- dataType: "json",
- success: function(json) {
- var items = json.listclustersresponse.cluster;
- if (items != null) {
- $("#cluster_total").text(json.listclustersresponse.count.toString());
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listHosts&type=Routing"),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listhostsresponse.host;
- if (items != null) {
- $("#host_total").text(json.listhostsresponse.count.toString());
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listStoragePools"),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.liststoragepoolsresponse.storagepool;
- if (items != null) {
- $("#primarystorage_total").text(json.liststoragepoolsresponse.count.toString());
- }
- }
- });
-}
-
-function refreshAddZoneWizard() {
- var $addZoneWizard = $("#add_zone_wizard");
- $addZoneWizard.find("#step2, #step3, #step4, #after_submit_screen").hide();
- $addZoneWizard.find("#step1").show();
-
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_tagged").change();
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_scope").change(); // default value of "#add_publicip_vlan_scope" is "zone-wide". Calling change() will hide "#vlan_domain_container", "#add_publicip_vlan_account_container".
-
- $addZoneWizard.find("#after_submit_screen").find("#spinning_wheel").show();
-
- $addZoneWizard.find("#basic_mode").click();
-}
-
-function openAddZoneWizard() {
- refreshAddZoneWizard();
- $("#add_zone_wizard").show();
- $("#wizard_overlay").show();
-}
-
-function closeAddZoneWizard() {
- $("#add_zone_wizard").hide();
- $("#wizard_overlay").hide();
-}
-
-function initAddZoneWizard() {
- var $addZoneWizard = $("#add_zone_wizard");
- //$addZoneWizard.draggable();
-
- $addZoneWizard.find("#add_zone_public").unbind("change").bind("change", function(event) {
- if($(this).val() == "true") { //public zone
- $addZoneWizard.find("#step2").find("#domain_container").hide();
- }
- else { //private zone
- $addZoneWizard.find("#step2").find("#domain_container").show();
- }
- return false;
- });
-
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_tagged").unbind("change").bind("change", function(event) {
- if ($(this).val() == "tagged") {
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_vlan_container").show();
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_pod_container").hide();
-
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_scope").empty().append('zone-wide ').append('account-specific ');
- }
- else if($(this).val() == "untagged") {
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_vlan_container").hide();
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_pod_container").hide();
-
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_scope").empty().append('zone-wide ');
- }
-
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_scope").change();
- return false;
- });
-
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_scope").change(function(event) {
- if($(this).val() == "zone-wide") {
- $addZoneWizard.find("#step4").find("#vlan_domain_container").hide();
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_account_container").hide();
- }
- else if($(this).val() == "account-specific") {
- $addZoneWizard.find("#step4").find("#vlan_domain_container").show();
- $addZoneWizard.find("#step4").find("#add_publicip_vlan_account_container").show();
- }
- return false;
- });
-
- applyAutoCompleteToDomainField($addZoneWizard.find("#domain"));
-
- $addZoneWizard.unbind("click").bind("click", function(event) {
- var $thisWizard = $(this);
- var $target = $(event.target);
-
- switch($target.attr("id")) {
- case "close_button":
- closeAddZoneWizard();
- break;
-
- case "Basic": //create VLAN in pod-level
- $thisWizard.find("#step1").find("input[name=isolation_mode]").removeAttr("checked"); //uncheck all radio buttons under Isolation Mode
-
- $thisWizard.find("#step2").find("#add_zone_vlan_container, #add_zone_guestcidraddress_container").hide();
-
- //direct VLAN: createVlanIpRange&forVirtualNetwork=false //BasicZone's SecurityGroupsEnabled is true
- $thisWizard.find("#step4").find("#create_direct_vlan").show();
- $thisWizard.find("#step4").find("#create_direct_vlan").find("#vlan_id_container").hide();
-
- $thisWizard.find("#step4").find("#create_virtual_vlan").hide();
- return true;
- break;
-
- case "Advanced": //create VLAN in zone-level
- if($thisWizard.find("#step1").find("input[name=isolation_mode]:checked").length == 0)
- $thisWizard.find("#step1").find("input[name=isolation_mode]:eq(0)").click(); //check the 1st radio button under Isolation Mode
- return true;
- break;
-
- case "advanced_virtual":
- $thisWizard.find("#step2").find("#add_zone_vlan_container, #add_zone_guestcidraddress_container").show();
-
- //virtual VLAN: createVlanIpRange&forVirtualNetwork=true //Advanced Zone - when securitygroup is NOT enabled
- $thisWizard.find("#step4").find("#create_virtual_vlan").show();
- $addZoneWizard.find("#step4").find("#create_virtual_vlan").find("#add_publicip_vlan_scope").change();
- $thisWizard.find("#step4").find("#create_direct_vlan").hide();
-
- if($thisWizard.find("#step1").find("input[name=basic_advanced]:checked").val() != "Advanced")
- $thisWizard.find("#step1").find("input[name=basic_advanced]:eq(1)").attr("checked", true); //set to "Advanced" radio button
-
- return true;
- break;
-
- case "advanced_securitygroup":
- $thisWizard.find("#step2").find("#add_zone_vlan_container, #add_zone_guestcidraddress_container").hide();
-
- //direct VLAN: createVlanIpRange&forVirtualNetwork=false //Advanced Zone - when securitygroup is enabled
- $thisWizard.find("#step4").find("#create_direct_vlan").show();
- $thisWizard.find("#step4").find("#create_direct_vlan").find("#vlan_id_container").show();
-
- $thisWizard.find("#step4").find("#create_virtual_vlan").hide();
-
- if($thisWizard.find("#step1").find("input[name=basic_advanced]:checked").val() != "Advanced")
- $thisWizard.find("#step1").find("input[name=basic_advanced]:eq(1)").attr("checked", true); //set to "Advanced" radio button
-
- return true;
- break;
-
- case "go_to_step_2": //step 1 => step 2
- $thisWizard.find("#step1").hide();
- $thisWizard.find("#step2").show();
- break;
-
- case "go_to_step_3": //step 2 => step 3
- var isValid = addZoneWizardValidateZond($thisWizard);
- if (!isValid)
- return;
- $thisWizard.find("#step2").hide();
- $thisWizard.find("#step3").show();
- break;
-
- case "go_to_step_4": //step 3 => step 4
- var isValid = addZoneWizardValidatePod($thisWizard);
- if (!isValid)
- return;
-
- var $vlanDomain = $thisWizard.find("#step4").find("#vlan_domain");
- if($thisWizard.find("#step2").find("#domain_container").css("display") != "none") { //list only domains under zoneDomain
- applyAutoCompleteToDomainChildrenField($vlanDomain, $thisWizard.find("#step2").find("#domain").data("domainId"));
- }
- else { //list all domains
- applyAutoCompleteToDomainField($vlanDomain);
- }
-
- $thisWizard.find("#step3").hide();
- $thisWizard.find("#step4").show();
- break;
-
- case "back_to_step_3": //step 4 => step 3
- $thisWizard.find("#step4").hide();
- $thisWizard.find("#step3").show();
- break;
-
- case "back_to_step_2": //step 3 => step 2
- $thisWizard.find("#step3").hide();
- $thisWizard.find("#step2").show();
- break;
-
- case "back_to_step_1": //step 2 => step 1
- $thisWizard.find("#step2").hide();
- $thisWizard.find("#step1").show();
- break;
-
- case "submit": //step 4 => make API call
- var isValid = true;
- if($thisWizard.find("#step4").find("#create_direct_vlan").css("display") != "none")
- isValid = addZoneWizardValidateDirectVLAN($thisWizard);
- if($thisWizard.find("#step4").find("#create_virtual_vlan").css("display") != "none")
- isValid &= addZoneWizardValidateVirtualVLAN($thisWizard);
- if (!isValid)
- return;
-
- $thisWizard.find("#step4").hide();
- $thisWizard.find("#after_submit_screen").show();
- addZoneWizardSubmit($thisWizard);
- break;
- }
- return false;
- });
-
- $addZoneWizard.find("#step1").find("#Basic").click();
-}
-
-function addZoneWizardValidateZond($thisWizard) {
- var $thisStep = $thisWizard.find("#step2");
-
- var isValid = true;
- isValid &= validateString("Name", $thisStep.find("#add_zone_name"), $thisStep.find("#add_zone_name_errormsg"));
- isValid &= validateIp("DNS 1", $thisStep.find("#add_zone_dns1"), $thisStep.find("#add_zone_dns1_errormsg"), false); //required
- isValid &= validateIp("DNS 2", $thisStep.find("#add_zone_dns2"), $thisStep.find("#add_zone_dns2_errormsg"), true); //optional
- isValid &= validateIp("Internal DNS 1", $thisStep.find("#add_zone_internaldns1"), $thisStep.find("#add_zone_internaldns1_errormsg"), false); //required
- isValid &= validateIp("Internal DNS 2", $thisStep.find("#add_zone_internaldns2"), $thisStep.find("#add_zone_internaldns2_errormsg"), true); //optional
- if($thisStep.find("#add_zone_vlan_container").css("display") != "none") {
- isValid &= validateString("VLAN Range", $thisStep.find("#add_zone_startvlan"), $thisStep.find("#add_zone_startvlan_errormsg"), true); //optional
- isValid &= validateString("VLAN Range", $thisStep.find("#add_zone_endvlan"), $thisStep.find("#add_zone_endvlan_errormsg"), true); //optional
- }
- if($thisStep.find("#add_zone_guestcidraddress_container").css("display") != "none") {
- isValid &= validateCIDR("Guest CIDR", $thisStep.find("#add_zone_guestcidraddress"), $thisStep.find("#add_zone_guestcidraddress_errormsg"), false); //required
- }
- if($thisStep.find("#domain_container").css("display") != "none") {
- isValid &= validateString("Domain", $thisStep.find("#domain"), $thisStep.find("#domain_errormsg"), false); //required
- var domainName = $thisStep.find("#domain").val();
- var domainId;
- if(domainName != null && domainName.length > 0) {
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- $thisStep.find("#domain").data("domainId", domainId);
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $thisStep.find("#domain"), $thisStep.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- isValid &= false;
- }
- }
- }
- return isValid;
-}
-
-function addZoneWizardValidatePod($thisWizard) {
- var isValid = true;
- isValid &= validateString("Name", $thisWizard.find("#add_pod_name"), $thisWizard.find("#add_pod_name_errormsg"));
- isValid &= validateIp("Gateway", $thisWizard.find("#add_pod_gateway"), $thisWizard.find("#add_pod_gateway_errormsg"));
- isValid &= validateNetmask("Netmask", $thisWizard.find("#add_pod_netmask"), $thisWizard.find("#add_pod_netmask_errormsg"));
- isValid &= validateIp("Reserved System IP", $thisWizard.find("#add_pod_startip"), $thisWizard.find("#add_pod_startip_errormsg")); //required
- isValid &= validateIp("Reserved System IP", $thisWizard.find("#add_pod_endip"), $thisWizard.find("#add_pod_endip_errormsg"), true); //optional
- return isValid;
-}
-
-function addZoneWizardValidateDirectVLAN($thisWizard) {
- var isValid = true;
-
- var $createDirectVLAN = $thisWizard.find("#step4").find("#create_direct_vlan");
- if($createDirectVLAN.find("#vlan_id_container").css("display") != "none")
- isValid &= validateNumber("VLAN ID", $createDirectVLAN.find("#vlan_id"), $createDirectVLAN.find("#vlan_id_errormsg")); //required
- isValid &= validateIp("Guest IP Range", $createDirectVLAN.find("#startguestip"), $createDirectVLAN.find("#startguestip_errormsg")); //required
- isValid &= validateIp("Guest IP Range", $createDirectVLAN.find("#endguestip"), $createDirectVLAN.find("#endguestip_errormsg"), true); //optional
- isValid &= validateNetmask("Guest Netmask", $createDirectVLAN.find("#guestnetmask"), $createDirectVLAN.find("#guestnetmask_errormsg")); //required when creating
- isValid &= validateIp("Guest Gateway", $createDirectVLAN.find("#guestgateway"), $createDirectVLAN.find("#guestgateway_errormsg"));
-
- return isValid;
-}
-
-function addZoneWizardValidateVirtualVLAN($thisWizard) {
- var $createVirtualVlan = $thisWizard.find("#step4").find("#create_virtual_vlan");
-
- var isValid = true;
- var isTagged = ($createVirtualVlan.find("#add_publicip_vlan_tagged").val()=="tagged");
-
- isValid &= validateString("Account", $createVirtualVlan.find("#add_publicip_vlan_account"), $createVirtualVlan.find("#add_publicip_vlan_account_errormsg"), true); //optional
-
- if (isTagged) {
- isValid &= validateInteger("VLAN", $createVirtualVlan.find("#add_publicip_vlan_vlan"), $createVirtualVlan.find("#add_publicip_vlan_vlan_errormsg"), 1, 4095);
- }
-
- isValid &= validateIp("Gateway", $createVirtualVlan.find("#add_publicip_vlan_gateway"), $createVirtualVlan.find("#add_publicip_vlan_gateway_errormsg"), false); //required
- isValid &= validateNetmask("Netmask", $createVirtualVlan.find("#add_publicip_vlan_netmask"), $createVirtualVlan.find("#add_publicip_vlan_netmask_errormsg"), false); //required
- isValid &= validateIp("Start IP Range", $createVirtualVlan.find("#add_publicip_vlan_startip"), $createVirtualVlan.find("#add_publicip_vlan_startip_errormsg"), false); //required
- isValid &= validateIp("End IP Range", $createVirtualVlan.find("#add_publicip_vlan_endip"), $createVirtualVlan.find("#add_publicip_vlan_endip_errormsg"), true); //optional
-
- if($createVirtualVlan.find("#vlan_domain_container").css("display") != "none") {
- isValid &= validateString("Domain", $createVirtualVlan.find("#vlan_domain"), $createVirtualVlan.find("#vlan_domain_errormsg"), false); //required
- var domainName = $createVirtualVlan.find("#vlan_domain").val();
- var domainId;
- if(domainName != null && domainName.length > 0) {
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- $createVirtualVlan.find("#vlan_domain").data("domainId", domainId);
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $createVirtualVlan.find("#vlan_domain"), $createVirtualVlan.find("#vlan_domain_errormsg"), g_dictionary["label.not.found"]);
- isValid &= false;
- }
- }
- }
-
- return isValid;
-}
-
-function addZoneWizardSubmit($thisWizard) {
- var array1 = [];
-
- var networktype = $thisWizard.find("#step1").find("input:radio[name=basic_advanced]:checked").val(); //"Basic", "Advanced"
- array1.push("&networktype="+todb(networktype));
-
- if(networktype == "Advanced")
- array1.push("&securitygroupenabled="+$thisWizard.find("#step1").find("input[name=isolation_mode]:checked").val());
-
- var name = trim($thisWizard.find("#add_zone_name").val());
- array1.push("&name="+todb(name));
-
- var dns1 = trim($thisWizard.find("#add_zone_dns1").val());
- array1.push("&dns1="+todb(dns1));
-
- var dns2 = trim($thisWizard.find("#add_zone_dns2").val());
- if (dns2 != null && dns2.length > 0)
- array1.push("&dns2="+todb(dns2));
-
- var internaldns1 = trim($thisWizard.find("#add_zone_internaldns1").val());
- array1.push("&internaldns1="+todb(internaldns1));
-
- var internaldns2 = trim($thisWizard.find("#add_zone_internaldns2").val());
- if (internaldns2 != null && internaldns2.length > 0)
- array1.push("&internaldns2="+todb(internaldns2));
-
- if($thisWizard.find("#step2").find("#add_zone_vlan_container").css("display") != "none") {
- var vlanStart = $thisWizard.find("#add_zone_startvlan").val();
- if(vlanStart != null && vlanStart.length > 0) {
- var vlanEnd = $thisWizard.find("#add_zone_endvlan").val();
- if (vlanEnd != null && vlanEnd.length > 0)
- array1.push("&vlan=" + todb(vlanStart + "-" + vlanEnd));
- else
- array1.push("&vlan=" + todb(vlanStart));
- }
- }
-
- if($thisWizard.find("#add_zone_guestcidraddress_container").css("display") != "none") {
- var guestcidraddress = trim($thisWizard.find("#add_zone_guestcidraddress").val());
- array1.push("&guestcidraddress="+todb(guestcidraddress));
- }
-
- if($thisWizard.find("#step2").find("#domain_container").css("display") != "none") {
- array1.push("&domainid="+$thisWizard.find("#step2").find("#domain").data("domainId"));
- }
-
- var zoneId, podId, vlanId, $zoneNode, $podNode, gateway;
- var afterActionMsg = "";
- $.ajax({
- data: createURL("command=createZone"+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- $thisWizard.find("#after_submit_screen").find("#add_zone_tick_cross").removeClass().addClass("zonepopup_reviewtick");
- $thisWizard.find("#after_submit_screen").find("#add_zone_message").removeClass().text("Zone was created successfully");
-
- $zoneNode = $("#leftmenu_zone_node_template").clone(true);
- var $zoneTree = $("#leftmenu_zone_tree").find("#tree_container");
- $zoneTree.prepend($zoneNode);
- $zoneNode.fadeIn("slow");
-
- var item = json.createzoneresponse.zone;
- zoneJSONToTreeNode(item, $zoneNode);
-
- zoneId = item.id;
-
- listZonesUpdate();
- g_directAttachSecurityGroupsEnabled = true;
- $("#leftmenu_security_group_container").show();
-
- $.ajax({
- data: createURL("command=listCapabilities"),
- dataType: "json",
- async: false,
- success: function(json) {
- /* g_supportELB: guest — ips are allocated on guest network (so use 'forvirtualnetwork' = false)
- * g_supportELB: public - ips are allocated on public network (so use 'forvirtualnetwork' = true)
- * g_supportELB: false – no ELB support
- */
- g_supportELB = json.listcapabilitiesresponse.capability.supportELB;
- $.cookie('supportELB', g_supportELB, { expires: 1});
-
- if(g_supportELB == "guest") //ips are allocated on guest network
- bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=false&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
- else if(g_supportELB == "public") //ips are allocated on public network
- bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses&forvirtualnetwork=true&forloadbalancing=true", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false);
- else
- bindAndListMidMenuItems($("#leftmenu_ip"), "listPublicIpAddresses", ipGetSearchParams, "listpublicipaddressesresponse", "publicipaddress", "jsp/ipaddress.jsp", afterLoadIpJSP, ipToMidmenu, ipToRightPanel, ipGetMidmenuId, false); //remove "&forvirtualnetwork=true" for advanced zone whose security group is enabled
- }
- });
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $thisWizard.find("#after_submit_screen").find("#add_zone_tick_cross").removeClass().addClass("zonepopup_reviewcross");
- $thisWizard.find("#after_submit_screen").find("#add_zone_message").removeClass().addClass("error").text(("Failed to create zone: " + parseXMLHttpResponse(XMLHttpResponse)));
- });
- }
- });
-
- if(zoneId != null) {
- // create pod (begin)
- var name = trim($thisWizard.find("#add_pod_name").val());
- var netmask = trim($thisWizard.find("#add_pod_netmask").val());
- var startip = trim($thisWizard.find("#add_pod_startip").val());
- var endip = trim($thisWizard.find("#add_pod_endip").val()); //optional
- gateway = trim($thisWizard.find("#add_pod_gateway").val());
-
- var array1 = [];
- array1.push("&zoneId="+zoneId);
- array1.push("&name="+todb(name));
- array1.push("&netmask="+todb(netmask));
- array1.push("&startIp="+todb(startip));
- if (endip != null && endip.length > 0)
- array1.push("&endIp="+todb(endip));
- array1.push("&gateway="+todb(gateway));
-
- $.ajax({
- data: createURL("command=createPod"+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- $thisWizard.find("#after_submit_screen").find("#add_pod_tick_cross").removeClass().addClass("zonepopup_reviewtick");
- $thisWizard.find("#after_submit_screen").find("#add_pod_message").removeClass().text("Pod was created successfully");
-
- var item = json.createpodresponse.pod;
- podId = item.id;
- $podNode = $("#leftmenu_pod_node_template").clone(true);
- podJSONToTreeNode(item, $podNode);
- $zoneNode.find("#zone_content").show();
- $zoneNode.find("#pods_container").prepend($podNode.show());
- $zoneNode.find("#zone_arrow").removeClass("white_nonexpanded_close").addClass("expanded_open");
- $podNode.fadeIn("slow");
-
- var podTotal = parseInt($("#pod_total").text());
- podTotal++;
- $("#pod_total").text(podTotal.toString());
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $thisWizard.find("#after_submit_screen").find("#add_pod_tick_cross").removeClass().addClass("zonepopup_reviewcross");
- $thisWizard.find("#after_submit_screen").find("#add_pod_message").removeClass().addClass("error").text(("Failed to create pod: " + parseXMLHttpResponse(XMLHttpResponse)));
- });
- }
- });
- // create pod (end)
-
- // create direct VLAN (basic zone, advanced zone + security group)
- var $createDirectVlan = $thisWizard.find("#step4").find("#create_direct_vlan");
- if ($createDirectVlan.css("display") != "none") {
- var netmask = $createDirectVlan.find("#guestnetmask").val();
- var startip = $createDirectVlan.find("#startguestip").val();
- var endip = $createDirectVlan.find("#endguestip").val();
- var guestgateway = $createDirectVlan.find("#guestgateway").val();
-
- var array1 = [];
- array1.push("&forVirtualNetwork=false"); //direct VLAN
- array1.push("&zoneid=" + zoneId);
-
- var isValid = true;
- if($createDirectVlan.find("#vlan_id_container").css("display") != "none") { //advanced zone + security group (default VLAN is at zone-level)
- array1.push("&vlan="+$createDirectVlan.find("#vlan_id").val());
- }
- else { //basic zone (default VLAN is at pod-level)
- array1.push("&vlan=untagged");
- array1.push("&podId=" + podId);
- if(podId == null)
- isValid = false;
- }
-
- array1.push("&gateway="+todb(guestgateway));
- array1.push("&netmask="+todb(netmask));
- array1.push("&startip="+todb(startip));
- if(endip != null && endip.length > 0)
- array1.push("&endip="+todb(endip));
-
- if(isValid) {
- $.ajax({
- data: createURL("command=createVlanIpRange" + array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- $thisWizard.find("#after_submit_screen").find("#add_iprange_tick_cross").removeClass().addClass("zonepopup_reviewtick");
- $thisWizard.find("#after_submit_screen").find("#add_iprange_message").removeClass().text("Guest IP range was created successfully");
-
- var item = json.createvlaniprangeresponse.vlan;
- vlanId = item.id;
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $thisWizard.find("#after_submit_screen").find("#add_iprange_tick_cross").removeClass().addClass("zonepopup_reviewcross");
- $thisWizard.find("#after_submit_screen").find("#add_iprange_message").removeClass().addClass("error").text(("Failed to create Guest IP range: " + parseXMLHttpResponse(XMLHttpResponse)));
- });
- }
- });
- }
- }
-
-
- // create virtual VLAN (advanced zone + virtual)
- var $createVirtualVlan = $thisWizard.find("#step4").find("#create_virtual_vlan");
- if ($createVirtualVlan.css("display") != "none") {
- var array1 = [];
-
- if ($createVirtualVlan.find("#add_publicip_vlan_tagged").val() == "tagged")
- array1.push("&vlan="+$createVirtualVlan.find("#add_publicip_vlan_vlan").val());
- else
- array1.push("&vlan=untagged");
-
- if($createVirtualVlan.find("#vlan_domain_container").css("display") != "none") {
- array1.push("&domainId="+$createVirtualVlan.find("#vlan_domain").data("domainId"));
- array1.push("&account="+$createVirtualVlan.find("#add_publicip_vlan_account").val());
- }
-
- var gateway = $createVirtualVlan.find("#add_publicip_vlan_gateway").val();
- array1.push("&gateway="+todb(gateway));
-
- var netmask = $createVirtualVlan.find("#add_publicip_vlan_netmask").val();
- array1.push("&netmask="+todb(netmask));
-
- var startip = $createVirtualVlan.find("#add_publicip_vlan_startip").val();
- array1.push("&startip="+todb(startip));
-
- var endip = $createVirtualVlan.find("#add_publicip_vlan_endip").val(); //optional field (might be empty)
- if(endip != null && endip.length > 0)
- array1.push("&endip="+todb(endip));
-
- $.ajax({
- data: createURL("command=createVlanIpRange&forVirtualNetwork=true&zoneId="+zoneId+array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisWizard.find("#after_submit_screen").find("#add_iprange_tick_cross").removeClass().addClass("zonepopup_reviewtick");
- $thisWizard.find("#after_submit_screen").find("#add_iprange_message").removeClass().text("Public IP range was created successfully");
-
- var item = json.createvlaniprangeresponse.vlan;
- vlanId = item.id;
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $thisWizard.find("#after_submit_screen").find("#add_iprange_tick_cross").removeClass().addClass("zonepopup_reviewcross");
- $thisWizard.find("#after_submit_screen").find("#add_iprange_message").removeClass().addClass("error").text(("Failed to create public IP range: " + parseXMLHttpResponse(XMLHttpResponse)));
- });
- }
- });
- }
- // add public IP range to basic zone (end)
- }
-
- $thisWizard.find("#after_submit_screen").find("#spinning_wheel").hide();
-}
-
-function initUpdateConsoleCertButton($midMenuAddLink2) {
- $midMenuAddLink2.find("#label").text("Update SSL Certificate");
- $midMenuAddLink2.show();
- $midMenuAddLink2.unbind("click").bind("click", function(event) {
- var $certDialog = $("#dialog_update_cert");
- $certDialog.find("#info_container").hide();
- $certDialog
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- var isValid = true;
- isValid &= validateString("SSL Certificate", $thisDialog.find("#update_cert"), $thisDialog.find("#update_cert_errormsg"), false, 4096);
- isValid &= validateString("Private Key for Certificate", $thisDialog.find("#update_privatekey"), $thisDialog.find("#update_key_errormsg"), false, 4096);
- isValid &= validateString("DNS domain suffix that certificate has been signed for", $thisDialog.find("#update_domainsuffix"), $thisDialog.find("#update_domainsuffix_errormsg"), false, 4096);
- if (!isValid) return;
-
- $spinningWheel = $thisDialog.find("#spinning_wheel").show();
-
- var cert = trim($thisDialog.find("#update_cert").val());
- var privateKey = trim($thisDialog.find("#update_privatekey").val());
- var domainSuffix = trim($thisDialog.find("#update_domainsuffix").val());
-
- $.ajax({
- data: createURL("command=uploadCustomCertificate&certificate="+todb(cert)+"&privatekey="+todb(privateKey)+"&domainsuffix="+todb(domainSuffix)),
- dataType: "json",
- success: function(json) {
- var jobId = json.uploadcustomcertificateresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
-
- if (result.jobstatus == 1) { // Succeeded
- $thisDialog.dialog("close");
- // TODO: Add a confirmation message
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = result.jobresult.errortext;
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- $thisDialog.find("#info_container").text(errorMsg).show();
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- var $thisDialog = $(this);
- $thisDialog.dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-var clustersUnderPod = {};
-
-function populateClusterFieldInAddPoolDialog($dialog, podId, clusterId) {
- if(podId == null) {
- var $clusterSelect = $dialog.find("#pool_cluster").empty();
- $clusterSelect.change();
- return;
- }
-
- $.ajax({
- data: createURL("command=listClusters&podid=" + podId),
- dataType: "json",
- async: false,
- success: function(json) {
- clustersUnderPod = {};
- var items = json.listclustersresponse.cluster;
- var $clusterSelect = $dialog.find("#pool_cluster").empty();
- if(items != null && items.length > 0) {
- for(var i=0; i" + fromdb(items[i].name) + "");
- else
- $clusterSelect.append("" + fromdb(items[i].name) + " ");
- }
- }
- $clusterSelect.change();
- }
- });
-}
-
-function initAddPrimaryStorageShortcut($midmenuAddLink2, currentPageInRightPanel) {
- var $dialogAddPool = $("#dialog_add_pool_in_resource_page");
- bindEventHandlerToDialogAddPool($dialogAddPool);
-
- $dialogAddPool.find("#zone_dropdown").bind("change", function(event) {
- var zoneId = $(this).val();
- if(zoneId == null)
- return;
- $.ajax({
- data: createURL("command=listPods&zoneId="+zoneId),
- dataType: "json",
- async: false,
- success: function(json) {
- var pods = json.listpodsresponse.pod;
- var podSelect = $dialogAddPool.find("#pod_dropdown").empty();
- if (pods != null && pods.length > 0) {
- for (var i = 0; i < pods.length; i++) {
- podSelect.append("" + fromdb(pods[i].name) + " ");
- }
- }
- $dialogAddPool.find("#pod_dropdown").change();
- }
- });
- });
-
- $dialogAddPool.find("#pod_dropdown").bind("change", function(event) {
- var podId = $(this).val();
- populateClusterFieldInAddPoolDialog($dialogAddPool, podId, null);
- });
-
- $("#add_primarystorage_shortcut").unbind("click").bind("click", function(event) {
- $dialogAddPool.find("#zone_dropdown").change(); //refresh cluster dropdown (do it here to avoid race condition)
- $dialogAddPool.find("#info_container").hide();
-
- $("#dialog_add_pool_in_resource_page")
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var protocol = $thisDialog.find("#add_pool_protocol").val();
-
- var isValid = true;
- isValid &= validateDropDownBox("Zone", $thisDialog.find("#zone_dropdown"), $thisDialog.find("#zone_dropdown_errormsg"));
- isValid &= validateDropDownBox("Pod", $thisDialog.find("#pod_dropdown"), $thisDialog.find("#pod_dropdown_errormsg"));
- isValid &= validateDropDownBox("Cluster", $thisDialog.find("#pool_cluster"), $thisDialog.find("#pool_cluster_errormsg"), false); //required, reset error text
- isValid &= validateString("Name", $thisDialog.find("#add_pool_name"), $thisDialog.find("#add_pool_name_errormsg"));
- if (protocol == "nfs" || protocol == "PreSetup" || protocol == "SharedMountPoint") {
- isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
- isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
- } else if(protocol == "ocfs2") {
- isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
- } else if(protocol == "iscsi") {
- isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
- isValid &= validateString("Target IQN", $thisDialog.find("#add_pool_iqn"), $thisDialog.find("#add_pool_iqn_errormsg"));
- isValid &= validateString("LUN #", $thisDialog.find("#add_pool_lun"), $thisDialog.find("#add_pool_lun_errormsg"));
- } else if(protocol == "clvm") {
- isValid &= validateString("Volume Group", $thisDialog.find("#add_pool_clvm_vg"), $thisDialog.find("#add_pool_clvm_vg_errormsg"));
- } else if(protocol == "vmfs") {
- isValid &= validateString("vCenter Datacenter", $thisDialog.find("#add_pool_vmfs_dc"), $thisDialog.find("#add_pool_vmfs_dc_errormsg"));
- isValid &= validateString("vCenter Datastore", $thisDialog.find("#add_pool_vmfs_ds"), $thisDialog.find("#add_pool_vmfs_ds_errormsg"));
- }
- isValid &= validateString("Tags", $thisDialog.find("#add_pool_tags"), $thisDialog.find("#add_pool_tags_errormsg"), true); //optional
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var array1 = [];
-
- var zoneId = $thisDialog.find("#zone_dropdown").val();
- array1.push("&zoneid="+zoneId);
-
- //expand zone in left menu tree (to show pod, cluster under the zone)
- var $zoneNode = $("#leftmenu_zone_tree").find("#tree_container").find("#zone_" + zoneId);
- if($zoneNode.find("#zone_arrow").hasClass("expanded_close"))
- $zoneNode.find("#zone_arrow").click();
-
- var podId = $thisDialog.find("#pod_dropdown").val();
- array1.push("&podId="+podId);
-
- var clusterId = $thisDialog.find("#pool_cluster").val();
- array1.push("&clusterid="+clusterId);
-
- var name = trim($thisDialog.find("#add_pool_name").val());
- array1.push("&name="+todb(name));
-
- var server = trim($thisDialog.find("#add_pool_nfs_server").val());
-
- var url = null;
- if (protocol == "nfs") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = nfsURL(server, path);
- }
- else if (protocol == "PreSetup") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = presetupURL(server, path);
- }
- else if (protocol == "ocfs2") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = ocfs2URL(server, path);
- }
- else if (protocol == "SharedMountPoint") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = SharedMountPointURL(server, path);
- }
- else if (protocol == "clvm") {
- var vg = trim($thisDialog.find("#add_pool_clvm_vg").val());
- url = clvmURL(vg);
- }
- else if(protocol == "vmfs") {
- var path = trim($thisDialog.find("#add_pool_vmfs_dc").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- path += "/" + trim($thisDialog.find("#add_pool_vmfs_ds").val())
- url = vmfsURL("dummy", path);
- }
- else {
- var iqn = trim($thisDialog.find("#add_pool_iqn").val());
- if(iqn.substring(0,1)!="/")
- iqn = "/" + iqn;
- var lun = trim($thisDialog.find("#add_pool_lun").val());
- url = iscsiURL(server, iqn, lun);
- }
- array1.push("&url="+todb(url));
-
- var tags = trim($thisDialog.find("#add_pool_tags").val());
- if(tags != null && tags.length > 0)
- array1.push("&tags="+todb(tags));
-
- $.ajax({
- data: createURL("command=createStoragePool" + array1.join("")),
- dataType: "json",
- success: function(json) {
- var primarystorageTotal = parseInt($("#primarystorage_total").text());
- primarystorageTotal++;
- $("#primarystorage_total").text(primarystorageTotal.toString());
-
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-
-function bindEventHandlerToDialogAddPool($dialogAddPool) {
- $dialogAddPool.find("#pool_cluster").unbind("change").bind("change", function(event) {
- event.stopPropagation();;
-
- var $protocolSelector = $dialogAddPool.find("#add_pool_protocol");
-
- var clusterId = $(this).val();
- if(clusterId == null) {
- $protocolSelector.empty();
- $protocolSelector.change();
- return false;
- }
-
- var clusterObj = clustersUnderPod['cluster_'+clusterId];
- if(clusterObj == null) {
- $protocolSelector.empty();
- $protocolSelector.change();
- return false;
- }
-
- if(clusterObj.hypervisortype == "KVM") {
- $protocolSelector.empty();
- $protocolSelector.append('' + g_dictionary["label.nfs"] + ' ');
- $protocolSelector.append('' + g_dictionary["label.SharedMountPoint"] + ' ');
- $protocolSelector.append('' + g_dictionary["label.clvm"] + ' ');
- }
- else if(clusterObj.hypervisortype == "XenServer") {
- $protocolSelector.empty();
- $protocolSelector.append('' + g_dictionary["label.nfs"] + ' ');
- $protocolSelector.append('' + g_dictionary["label.PreSetup"] + ' ');
- $protocolSelector.append('' + g_dictionary["label.iscsi"] + ' ');
- }
- else if(clusterObj.hypervisortype == "VMware") {
- $protocolSelector.empty();
- $protocolSelector.append('' + g_dictionary["label.nfs"] + ' ');
- $protocolSelector.append('' + g_dictionary["label.VMFS.datastore"] + ' ');
- }
- else if(clusterObj.hypervisortype == "Ovm") {
- $protocolSelector.empty();
- $protocolSelector.append('' + g_dictionary["label.nfs"] + ' ');
- $protocolSelector.append('' + g_dictionary["label.ocfs2"] + ' ');
- }
- else {
- $protocolSelector.empty();
- }
-
- $protocolSelector.change();
- });
-
- $dialogAddPool.find("#add_pool_protocol").unbind("change").bind("change", function(event) {
- if($(this).val() == "nfs") {
- $("#add_pool_server_container", $dialogAddPool).show();
- $('li[input_group="nfs"]', $dialogAddPool).show();
- $('li[input_group="iscsi"]', $dialogAddPool).hide();
- $('li[input_group="clvm"]', $dialogAddPool).hide();
- $('li[input_group="vmfs"]', $dialogAddPool).hide();
- $dialogAddPool.find("#add_pool_path_container").find("label").text(g_dictionary["label.path"]+":");
-
- $dialogAddPool.find("#add_pool_nfs_server").val("");
- $dialogAddPool.find("#add_pool_server_container").show();
- }
- else if($(this).val() == "ocfs2") {//ocfs2 is the same as nfs, except no server field.
- $('li[input_group="nfs"]', $dialogAddPool).show();
- $('li[input_group="iscsi"]', $dialogAddPool).hide();
- $('li[input_group="vmfs"]', $dialogAddPool).hide();
- $dialogAddPool.find("#add_pool_path_container").find("label").text(g_dictionary["label.path"]+":");
-
- $dialogAddPool.find("#add_pool_nfs_server").val("");
- $dialogAddPool.find("#add_pool_server_container").hide();
- }
- else if($(this).val() == "PreSetup") {
- $("#add_pool_server_container", $dialogAddPool).show();
- $('li[input_group="nfs"]', $dialogAddPool).show();
- $('li[input_group="iscsi"]', $dialogAddPool).hide();
- $('li[input_group="clvm"]', $dialogAddPool).hide();
- $('li[input_group="vmfs"]', $dialogAddPool).hide();
- $dialogAddPool.find("#add_pool_path_container").find("label").text(g_dictionary["label.SR.name"]+":");
-
- $dialogAddPool.find("#add_pool_nfs_server").val("localhost");
- $dialogAddPool.find("#add_pool_server_container").hide();
- }
- else if($(this).val() == "iscsi") {
- $("#add_pool_server_container", $dialogAddPool).show();
- $('li[input_group="nfs"]', $dialogAddPool).hide();
- $('li[input_group="iscsi"]', $dialogAddPool).show();
- $('li[input_group="clvm"]', $dialogAddPool).hide();
- $('li[input_group="vmfs"]', $dialogAddPool).hide();
-
- $dialogAddPool.find("#add_pool_nfs_server").val("");
- $dialogAddPool.find("#add_pool_server_container").show();
- }
- else if($(this).val() == "clvm") {
- $("#add_pool_server_container", $dialogAddPool).hide();
- $('li[input_group="nfs"]', $dialogAddPool).hide();
- $('li[input_group="iscsi"]', $dialogAddPool).hide();
- $('li[input_group="clvm"]', $dialogAddPool).show();
- $('li[input_group="vmfs"]', $dialogAddPool).hide();
-
- $dialogAddPool.find("#add_pool_nfs_server").val("localhost");
- $dialogAddPool.find("#add_pool_server_container").hide()
- }
- else if($(this).val() == "vmfs") {
- $("#add_pool_server_container", $dialogAddPool).hide();
- $('li[input_group="nfs"]', $dialogAddPool).hide();
- $('li[input_group="iscsi"]', $dialogAddPool).hide();
- $('li[input_group="clvm"]', $dialogAddPool).hide();
- $('li[input_group="vmfs"]', $dialogAddPool).show();
-
- $dialogAddPool.find("#add_pool_nfs_server").val("");
- $dialogAddPool.find("#add_pool_server_container").show();
- }
- else if($(this).val() == "SharedMountPoint") { //"SharedMountPoint" show the same fields as "nfs" does.
- $("#add_pool_server_container", $dialogAddPool).show();
- $('li[input_group="nfs"]', $dialogAddPool).show();
- $('li[input_group="iscsi"]', $dialogAddPool).hide();
- $('li[input_group="clvm"]', $dialogAddPool).hide();
- $('li[input_group="vmfs"]', $dialogAddPool).hide();
-
- $dialogAddPool.find("#add_pool_nfs_server").val("localhost");
- $dialogAddPool.find("#add_pool_server_container").hide();
- }
- else {
- //$("#add_pool_server_container", $dialogAddPool).hide();
- //$('li[input_group="nfs"]', $dialogAddPool).hide();
- $('li[input_group="iscsi"]', $dialogAddPool).hide();
- $('li[input_group="clvm"]', $dialogAddPool).hide();
- $('li[input_group="vmfs"]', $dialogAddPool).hide();
-
- $dialogAddPool.find("#add_pool_nfs_server").val("");
- $dialogAddPool.find("#add_pool_server_container").show();
- }
- });
-}
diff --git a/ui/old/scripts/cloud.core.router.js b/ui/old/scripts/cloud.core.router.js
deleted file mode 100644
index c3bc7d4f250..00000000000
--- a/ui/old/scripts/cloud.core.router.js
+++ /dev/null
@@ -1,480 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function routerGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var state = $advancedSearchPopup.find("#adv_search_state").val();
- if (state!=null && state.length > 0)
- moreCriteria.push("&state="+todb(state));
-
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneId="+zone);
-
- if ($advancedSearchPopup.find("#adv_search_pod_li").css("display") != "none") {
- var pod = $advancedSearchPopup.find("#adv_search_pod").val();
- if (pod!=null && pod.length > 0)
- moreCriteria.push("&podId="+pod);
- }
-
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- if ($advancedSearchPopup.find("#adv_search_account_li").css("display") != "none"
- && $advancedSearchPopup.find("#adv_search_account").hasClass("textwatermark") == false) {
- var account = $advancedSearchPopup.find("#adv_search_account").val();
- if (account!=null && account.length > 0)
- moreCriteria.push("&account="+account);
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadRouterJSP() {
- // dialogs
- initDialog("dialog_change_system_service_offering", 600);
- initDialog("dialog_migrate_router", 600);
-}
-
-function routerToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.publicip);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-
- updateVmStateInMidMenu(jsonObj, $midmenuItem1);
-}
-
-function routerToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- routerJsonToDetailsTab();
-}
-
-function routerJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- routerClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- routerClearDetailsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listRouters&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listroutersresponse.router;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- updateVmStateInMidMenu(jsonObj, $midmenuItem1);
- }
- }
- });
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- setVmStateInRightPanel(fromdb(jsonObj.state), $thisTab.find("#state"));
-
-
- //refresh status every 2 seconds until status is not Starting/Stopping any more
- var timerKey = "refreshRouterStatus";
- $("body").stopTime(timerKey); //stop timer used by another middle menu item (i.e. stop timer when clicking on a different middle menu item)
- if($midmenuItem1.find("#spinning_wheel").css("display") == "none") {
- if(jsonObj.state in vmChangableStatus) {
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=listRouters&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listroutersresponse.router;
- if(items != null && items.length > 0) {
- jsonObj = items[0]; //override jsonObj declared above
- $midmenuItem1.data("jsonObj", jsonObj);
- if(!(jsonObj.state in vmChangableStatus)) {
- $("body").stopTime(timerKey);
- updateVmStateInMidMenu(jsonObj, $midmenuItem1);
- if(jsonObj.id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- setVmStateInRightPanel(jsonObj.state, $thisTab.find("#state"));
- routerBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
- }
- }
- }
- }
- });
- }
- );
- }
- }
-
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#ipAddress").text(fromdb(jsonObj.publicip));
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#publicip").text(fromdb(jsonObj.publicip));
- $thisTab.find("#privateip").text(fromdb(jsonObj.linklocalip));
- $thisTab.find("#guestipaddress").text(fromdb(jsonObj.guestipaddress));
- $thisTab.find("#hostname").text(fromdb(jsonObj.hostname));
- $thisTab.find("#serviceOfferingName").text(fromdb(jsonObj.serviceofferingname));
- $thisTab.find("#networkdomain").text(fromdb(jsonObj.networkdomain));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- $thisTab.find("#account").text(fromdb(jsonObj.account));
- setDateField(jsonObj.created, $thisTab.find("#created"));
-
- setBooleanReadField(jsonObj.isredundantrouter, $thisTab.find("#isredundantrouter"));
- if(jsonObj.isredundantrouter == true) {
- var t = $thisTab.find("#isredundantrouter").text()+ " (" + fromdb(jsonObj.redundantstate) + ")";
- $thisTab.find("#isredundantrouter").text(t);
- }
-
- resetViewConsoleAction(jsonObj, $thisTab);
-
- // actions
- routerBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function routerBuildActionMenu(jsonObj, $thisTab, $midmenuItem1) {
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- if (jsonObj.state == 'Running') {
- buildActionLinkForTab("label.action.stop.router", routerActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.reboot.router", routerActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.change.service", routerActionMap, $actionMenu, $midmenuItem1, $thisTab);
- if (isAdmin())
- {
- buildActionLinkForTab("label.action.migrate.router", routerActionMap, $actionMenu, $midmenuItem1, $thisTab);
- }
- noAvailableActions = false;
- }
- else if (jsonObj.state == 'Stopped') {
- buildActionLinkForTab("label.action.start.router", routerActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.change.service", routerActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-}
-
-function routerClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#grid_header_title").text("");
- setVmStateInRightPanel(null, $thisTab.find("#state"));
- $thisTab.find("#ipAddress").text("");
- $thisTab.find("#zonename").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#publicip").text("");
- $thisTab.find("#privateip").text("");
- $thisTab.find("#guestipaddress").text("");
- $thisTab.find("#hostname").text("");
- $thisTab.find("#serviceOfferingName").text("");
- $thisTab.find("#networkdomain").text("");
- $thisTab.find("#domain").text("");
- $thisTab.find("#account").text("");
- $thisTab.find("#created").text("");
- $thisTab.find("#isredundantrouter").text("");
-
- resetViewConsoleAction(null, $thisTab);
-
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-function doStartRouter($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.start.router"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=startRouter&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doStopRouter($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.stop.router"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=stopRouter&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doRebootRouter($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.reboot.router"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=rebootRouter&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doChangeSystemServiceOffering($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- if (jsonObj.state != 'Stopped') {
- $("#dialog_info")
- .text(dictionary['message.action.change.service.warning.for.router'])
- .dialog('option', 'buttons', {
- "OK": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return;
- }
-
- $.ajax({
- data: createURL("command=listServiceOfferings&issystem=true&systemvmtype=domainrouter"),
- dataType: "json",
- async: false,
- success: function(json) {
- var offerings = json.listserviceofferingsresponse.serviceoffering;
- var offeringSelect = $("#dialog_change_system_service_offering #change_service_offerings").empty();
-
- if (offerings != null && offerings.length > 0) {
- for (var i = 0; i < offerings.length; i++) {
- if(offerings[i].id != jsonObj.serviceofferingid) {
- var option = $("" + fromdb(offerings[i].name) + " ").data("name", fromdb(offerings[i].name));
- offeringSelect.append(option);
- }
- }
- }
- }
- });
-
- $("#dialog_change_system_service_offering")
- .dialog('option', 'buttons', {
- "OK": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateDropDownBox("Service Offering", $thisDialog.find("#change_service_offerings"), $thisDialog.find("#change_service_offerings_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
- var serviceOfferingId = $thisDialog.find("#change_service_offerings").val();
-
- if(jsonObj.state != "Stopped") {
- $midmenuItem1.find("#info_icon").addClass("error").show();
- $midmenuItem1.data("afterActionInfo", ($actionLink.data("label") + " action failed. Reason: virtual instance needs to be stopped before you can change its service."));
- }
- var apiCommand = "command=changeServiceForRouter&id="+id+"&serviceofferingid="+serviceOfferingId;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doMigrateRouter($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- $.ajax({
- data: createURL("command=listHosts&VirtualMachineId="+id),
- //data: createURL("command=listHosts"), //for testing, comment it out before checking in.
- dataType: "json",
- async: false,
- success: function(json) {
- var hosts = json.listhostsresponse.host;
- var hostSelect = $("#dialog_migrate_router #host_select").empty();
-
- if (hosts != null && hosts.length > 0) {
- for (var i = 0; i < hosts.length; i++) {
- var option = $("" + fromdb(hosts[i].name) + ": " +((hosts[i].hasEnoughCapacity) ? dictionary["label.available"] : dictionary["label.full"]) + " ").data("name", fromdb(hosts[i].name));
- hostSelect.append(option);
- }
- }
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $("#dialog_migrate_router #host_select").empty();
- });
- }
- });
-
- $("#dialog_migrate_router")
- .dialog('option', 'buttons', {
- "OK": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateDropDownBox("Host", $thisDialog.find("#host_select"), $thisDialog.find("#host_select_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
- var hostId = $thisDialog.find("#host_select").val();
- /*
- if(jsonObj.state != "Stopped") {
- $midmenuItem1.find("#info_icon").addClass("error").show();
- $midmenuItem1.data("afterActionInfo", ($actionLink.data("label") + " action failed. Reason: virtual instance needs to be stopped before you can change its service."));
- }
- */
- var apiCommand = "command=migrateSystemVm&hostid="+hostId+"&virtualmachineid="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-var routerActionMap = {
- "label.action.start.router": {
- isAsyncJob: true,
- asyncJobResponse: "startrouterresponse",
- inProcessText: "label.action.start.router.processing",
- dialogBeforeActionFn : doStartRouter,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.domainrouter;
- routerToMidmenu(item, $midmenuItem1);
- }
- },
- "label.action.stop.router": {
- isAsyncJob: true,
- asyncJobResponse: "stoprouterresponse",
- inProcessText: "label.action.stop.router.processing",
- dialogBeforeActionFn : doStopRouter,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.domainrouter;
- routerToMidmenu(item, $midmenuItem1);
- }
- },
- "label.action.reboot.router": {
- isAsyncJob: true,
- asyncJobResponse: "rebootrouterresponse",
- inProcessText: "label.action.reboot.router.processing",
- dialogBeforeActionFn : doRebootRouter,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var item = json.queryasyncjobresultresponse.jobresult.domainrouter;
- routerToMidmenu(item, $midmenuItem1);
- }
- },
- "label.action.change.service": {
- isAsyncJob: false,
- inProcessText: "label.action.change.service",
- dialogBeforeActionFn : doChangeSystemServiceOffering,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.changeserviceforrouterresponse.domainrouter;
- vmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.migrate.router": {
- isAsyncJob: true,
- asyncJobResponse: "migratesystemvmresponse",
- inProcessText: "label.action.migrate.router.processing",
- dialogBeforeActionFn : doMigrateRouter,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- //var jsonObj = json.queryasyncjobresultresponse.jobresult.systemvminstance; //not all properties returned in systemvminstance
- $.ajax({
- data: createURL("command=listRouters&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listroutersresponse.router;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- routerToMidmenu(jsonObj, $midmenuItem1);
- }
- }
- });
- }
- }
-}
diff --git a/ui/old/scripts/cloud.core.secondarystorage.js b/ui/old/scripts/cloud.core.secondarystorage.js
deleted file mode 100644
index b26c8f4dff2..00000000000
--- a/ui/old/scripts/cloud.core.secondarystorage.js
+++ /dev/null
@@ -1,240 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function secondaryStorageGetSearchParams() {
- var moreCriteria = [];
-
- /*
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
-
- var state = $advancedSearchPopup.find("#adv_search_state").val();
- if (state!=null && state.length > 0)
- moreCriteria.push("&state="+todb(state));
-
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneId="+zone);
-
- if ($advancedSearchPopup.find("#adv_search_pod_li").css("display") != "none") {
- var pod = $advancedSearchPopup.find("#adv_search_pod").val();
- if (pod!=null && pod.length > 0)
- moreCriteria.push("&podId="+pod);
- }
- }
- */
-
- return moreCriteria.join("");
-}
-
-function afterLoadSecondaryStorageJSP($midmenuItem1) {
- initDialog("dialog_add_secondarystorage");
- secondaryStorageRefreshDataBinding();
-}
-
-function secondaryStorageRefreshDataBinding() {
- var $secondaryStorageNode = $selectedSubMenu;
- bindAddSecondaryStorageButton($secondaryStorageNode.data("zoneObj"));
-}
-
-function secondaryStorageToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_host.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.id).toString();
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function secondaryStorageToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- secondaryStorageToDetailsTab();
-}
-
-function secondaryStorageToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- secondaryStorageClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- secondaryStorageClearDetailsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listHosts&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listhostsresponse.host;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- if(jsonObj == null) {
- secondaryStorageClearRightPanel();
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- return;
- }
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
-
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#type").text(jsonObj.type);
- $thisTab.find("#ipaddress").text(jsonObj.ipaddress);
-
- //setHostStateInRightPanel(fromdb(jsonObj.state), $thisTab.find("#state"))
-
- setDateField(jsonObj.disconnected, $thisTab.find("#disconnected"));
-
- //actions ***
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
- buildActionLinkForTab("label.action.delete.secondary.storage", secondaryStorageActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function secondaryStorageClearRightPanel() {
- secondaryStorageClearDetailsTab();
-}
-
-function secondaryStorageClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#zonename").text("");
- $thisTab.find("#type").text("");
- $thisTab.find("#ipaddress").text("");
- $thisTab.find("#state").text("");
- $thisTab.find("#version").text("");
- $thisTab.find("#disconnected").text("");
-
- //actions ***
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-var secondaryStorageActionMap = {
- "label.action.delete.secondary.storage": {
- isAsyncJob: false,
- dialogBeforeActionFn: doDeleteSecondaryStorage,
- inProcessText: "label.action.delete.secondary.storage.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- secondaryStorageClearRightPanel();
- }
- }
- }
-}
-
-function doDeleteSecondaryStorage($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.secondary.storage"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- var $thisDialog = $(this);
- $thisDialog.dialog("close");
-
- var id = jsonObj.id;
- var apiCommand = "command=deleteHost&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function bindAddSecondaryStorageButton(zoneObj) {
- $("#add_secondarystorage_button").unbind("click").bind("click", function(event) {
- $("#dialog_add_secondarystorage").find("#zone_name").text(fromdb(zoneObj.name));
- $("#dialog_add_secondarystorage").find("#info_container").hide();
-
- $("#dialog_add_secondarystorage")
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateString("NFS Server", $thisDialog.find("#nfs_server"), $thisDialog.find("#nfs_server_errormsg"));
- isValid &= validatePath("Path", $thisDialog.find("#path"), $thisDialog.find("#path_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show();
-
- var zoneId = zoneObj.id;
- var nfs_server = trim($thisDialog.find("#nfs_server").val());
- var path = trim($thisDialog.find("#path").val());
- var url = nfsURL(nfs_server, path);
-
- $.ajax({
- data: createURL("command=addSecondaryStorage&zoneId="+zoneId+"&url="+todb(url)),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
- $("#zone_"+zoneId+"_secondarystorage").click();
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
diff --git a/ui/old/scripts/cloud.core.securitygroup.js b/ui/old/scripts/cloud.core.securitygroup.js
deleted file mode 100644
index 4941c57f3b0..00000000000
--- a/ui/old/scripts/cloud.core.securitygroup.js
+++ /dev/null
@@ -1,592 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function securityGroupGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadSecurityGroupJSP() {
- initAddSecurityGroupDialog();
- initAddIngressRuleDialog();
-
- // switch between different tabs
- var tabArray = [$("#tab_details"), $("#tab_ingressrule")];
- var tabContentArray = [$("#tab_content_details"), $("#tab_content_ingressrule")];
- var afterSwitchFnArray = [securityGroupJsonToDetailsTab, securityGroupJsonToIngressRuleTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-}
-
-function initAddSecurityGroupDialog() {
- initDialog("dialog_add_security_group");
-
- var $dialogAddSecurityGroup = $("#dialog_add_security_group");
- var $detailsTab = $("#right_panel_content").find("#tab_content_details");
-
- //add button ***
- $("#add_securitygroup_button").unbind("click").bind("click", function(event) {
- $dialogAddSecurityGroup
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#name"), $thisDialog.find("#name_errormsg"), false); //required
- isValid &= validateString("Description", $thisDialog.find("#description"), $thisDialog.find("#description_errormsg"), true); //optional
- if (!isValid)
- return;
-
- var $midmenuItem1 = beforeAddingMidMenuItem();
-
- var name = trim($thisDialog.find("#name").val());
- var desc = trim($thisDialog.find("#description").val());
-
- $thisDialog.dialog("close");
-
- $.ajax({
- data: createURL("command=createSecurityGroup&name="+todb(name)+"&description="+todb(desc)),
- dataType: "json",
- success: function(json) {
- var item = json.createsecuritygroupresponse.securitygroup;
- securityGroupToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, securityGroupToRightPanel, getMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function initAddIngressRuleDialog() {
- initDialog("dialog_add_ingress_rule", 400);
-
- var $dialogAddIngressRule = $("#dialog_add_ingress_rule");
-
- $dialogAddIngressRule.find("#add_more_cidr").unbind("click").bind("click", function(event){
- $dialogAddIngressRule.find("#cidr_container").append($("#cidr_template").clone().show());
- return false;
- });
-
- $dialogAddIngressRule.find("#add_more_account_securitygroup").unbind("click").bind("click", function(event){
- $dialogAddIngressRule.find("#account_securitygroup_container").append($("#account_securitygroup_template").clone().show());
- return false;
- });
-
- $dialogAddIngressRule.find("input[name='ingress_rule_type']").unbind("change").bind("change", function(){
- if($dialogAddIngressRule.find("input[name='ingress_rule_type']:checked").val() == "cidr") {
- //enable CIDR
- $dialogAddIngressRule.find(".cidr_template, #add_more_cidr").removeAttr("disabled");
-
- //disable Account/Network Group, clear up error fields
- $dialogAddIngressRule.find(".account_securitygroup_template, #add_more_account_securitygroup").attr("disabled", "disabled");
- cleanErrMsg($dialogAddIngressRule.find(".account_securitygroup_template").find("#account"), $dialogAddIngressRule.find(".account_securitygroup_template").find("#account_securitygroup_template_errormsg"));
- cleanErrMsg($dialogAddIngressRule.find(".account_securitygroup_template").find("#securitygroup"), $dialogAddIngressRule.find(".account_securitygroup_template").find("#account_securitygroup_template_errormsg"));
- }
- else if($dialogAddIngressRule.find("input[name='ingress_rule_type']:checked").val() == "account_securitygroup") {
- //enable Account/Network Group
- $dialogAddIngressRule.find(".account_securitygroup_template, #add_more_account_securitygroup").removeAttr("disabled");
-
- //disable CIDR, clear up error fields
- $dialogAddIngressRule.find(".cidr_template, #add_more_cidr").attr("disabled", "disabled");
- cleanErrMsg($dialogAddIngressRule.find(".cidr_template").find("#cidr"), $dialogAddIngressRule.find(".cidr_template").find("#cidr_errormsg"));
- }
- });
-
- $dialogAddIngressRule.find("#protocol").unbind("change").bind("change", function(event){
- var thisDropDown = $(this);
- if(thisDropDown.val() == "ICMP") {
- $dialogAddIngressRule.find("#icmp_type_container, #icmp_code_container").show();
- $dialogAddIngressRule.find("#icmp_type, #icmp_code").val("-1");
-
- $dialogAddIngressRule.find("#start_port_container, #end_port_container").hide();
- $dialogAddIngressRule.find("#start_port, #end_port").val("");
- cleanErrMsg($dialogAddIngressRule.find("#start_port"), $dialogAddIngressRule.find("#start_port_errormsg"));
- cleanErrMsg($dialogAddIngressRule.find("#end_port"), $dialogAddIngressRule.find("#end_port_errormsg"));
- }
- else { //TCP, UDP
- $dialogAddIngressRule.find("#start_port_container, #end_port_container").show();
-
- $dialogAddIngressRule.find("#icmp_type_container, #icmp_code_container").hide();
- $dialogAddIngressRule.find("#icmp_type, #icmp_code").val("");
- cleanErrMsg($dialogAddIngressRule.find("#icmp_type"),$dialogAddIngressRule.find("#icmp_type_errormsg"));
- cleanErrMsg($dialogAddIngressRule.find("#icmp_code"),$dialogAddIngressRule.find("#icmp_code_errormsg"));
- }
- return false;
- });
-
- //add button ***
- $("#add_ingressrule_button").unbind("click").bind("click", function(event) {
- if($("#tab_ingressrule").hasClass("off"))
- $("#tab_ingressrule").click();
-
- $dialogAddIngressRule.find("#spinning_wheel").hide();
- $dialogAddIngressRule.find("#info_container").hide();
-
- $dialogAddIngressRule.find("#protocol").val("TCP");
- $dialogAddIngressRule.find("#protocol").change();
-
- $dialogAddIngressRule.find("#start_port").val("");
- cleanErrMsg($dialogAddIngressRule.find("#start_port"), $dialogAddIngressRule.find("#start_port_errormsg"));
-
- $dialogAddIngressRule.find("#end_port").val("");
- cleanErrMsg($dialogAddIngressRule.find("#end_port"), $dialogAddIngressRule.find("#end_port_errormsg"));
-
- $dialogAddIngressRule.find("input[name='ingress_rule_type']").change();
-
- $dialogAddIngressRule.find("#cidr_container").empty();
- $dialogAddIngressRule.find("#add_more_cidr").click();
-
- $dialogAddIngressRule.find("#account_securitygroup_container").empty();
- $dialogAddIngressRule.find("#add_more_account_securitygroup").click();
-
-
- $("#dialog_add_ingress_rule")
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
- var protocol = $thisDialog.find("#protocol").val();
-
- // validate values
- var isValid = true;
-
- if(protocol == "ICMP") {
- isValid &= validateInteger("Type", $thisDialog.find("#icmp_type"), $thisDialog.find("#icmp_type_errormsg"), -1, 40, false); //required
- isValid &= validateInteger("Code", $thisDialog.find("#icmp_code"), $thisDialog.find("#icmp_code_errormsg"), -1 , 15, false); //required
- }
- else { //TCP, UDP
- isValid &= validateInteger("Start Port", $thisDialog.find("#start_port"), $thisDialog.find("#start_port_errormsg"), 1, 65535, false); //required
- isValid &= validateInteger("End Port", $thisDialog.find("#end_port"), $thisDialog.find("#end_port_errormsg"), 1, 65535, false); //required
- }
-
- if($thisDialog.find("input[name='ingress_rule_type']:checked").val() == "cidr") {
- isValid &= validateCIDR("CIDR", $thisDialog.find(".cidr_template").eq(0).find("#cidr"), $thisDialog.find(".cidr_template").eq(0).find("#cidr_errormsg"), false); //required
- for(var i=1; i<$thisDialog.find(".cidr_template").length; i++)
- isValid &= validateCIDR("CIDR", $thisDialog.find(".cidr_template").eq(i).find("#cidr"), $thisDialog.find(".cidr_template").eq(0).find("#cidr_errormsg"), true); //optional
- }
- else if($thisDialog.find("input[name='ingress_rule_type']:checked").val() == "account_securitygroup") {
- isValid &= validateString("Account", $thisDialog.find(".account_securitygroup_template").eq(0).find("#account"), $thisDialog.find(".account_securitygroup_template").eq(0).find("#account_securitygroup_template_errormsg"), false); //required
- isValid &= validateString("Network Group", $thisDialog.find(".account_securitygroup_template").eq(0).find("#securitygroup"), $thisDialog.find(".account_securitygroup_template").eq(0).find("#account_securitygroup_template_errormsg"), false); //required
- for(var i=1; i<$thisDialog.find(".account_securitygroup_template").length; i++) {
- isValid &= validateString("Account", $thisDialog.find(".account_securitygroup_template").eq(i).find("#account"), $thisDialog.find(".account_securitygroup_template").eq(0).find("#account_securitygroup_template_errormsg"), true); //optional
- isValid &= validateString("Network Group", $thisDialog.find(".account_securitygroup_template").eq(i).find("#securitygroup"), $thisDialog.find(".account_securitygroup_template").eq(0).find("#account_securitygroup_template_errormsg"), true); //optional
- }
- }
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show();
-
- var securityGroupObj = $currentMidmenuItem.data("jsonObj");
- var securityGroupId = securityGroupObj.id;
- var domainId = securityGroupObj.domainid;
- var account = securityGroupObj.account;
- var securityGroupName = securityGroupObj.name;
-
- var moreCriteria = [];
- moreCriteria.push("&domainid=" + domainId);
- moreCriteria.push("&account=" + account);
- //moreCriteria.push("&securitygroupname=" + securityGroupName);
- moreCriteria.push("&securitygroupid=" + securityGroupId);
-
- if (protocol!=null && protocol.length > 0)
- moreCriteria.push("&protocol="+encodeURIComponent(protocol));
-
- if(protocol == "ICMP") {
- var icmpType = $thisDialog.find("#icmp_type").val();
- if (icmpType!=null && icmpType.length > 0)
- moreCriteria.push("&icmptype="+encodeURIComponent(icmpType));
- var icmpCode = $thisDialog.find("#icmp_code").val();
- if (icmpCode!=null && icmpCode.length > 0)
- moreCriteria.push("&icmpcode="+encodeURIComponent(icmpCode));
- }
- else { //TCP, UDP
- var startPort = $thisDialog.find("#start_port").val();
- if (startPort!=null && startPort.length > 0)
- moreCriteria.push("&startport="+encodeURIComponent(startPort));
- var endPort = $thisDialog.find("#end_port").val();
- if (endPort!=null && endPort.length > 0)
- moreCriteria.push("&endport="+encodeURIComponent(endPort));
- }
-
- if($dialogAddIngressRule.find("input[name='ingress_rule_type']:checked").val() == "cidr") {
- var array1 = [];
- var cidrElementArray = $dialogAddIngressRule.find(".cidr_template").find("#cidr");
- for(var i=0; i 0)
- array1.push(cidrElementArray[i].value);
- }
- if(array1.length > 0)
- moreCriteria.push("&cidrlist="+encodeURIComponent(array1.join(",")));
- }
- else if($dialogAddIngressRule.find("input[name='ingress_rule_type']:checked").val() == "account_securitygroup") {
- var accountElementArray = $dialogAddIngressRule.find(".account_securitygroup_template").find("#account");
- var securitygroupElementArray = $dialogAddIngressRule.find(".account_securitygroup_template").find("#securitygroup");
- for(var i=0; i 0 && accountElementArray[i].value.length > 0)
- moreCriteria.push("&usersecuritygrouplist["+i+"].account="+accountElementArray[i].value+"&usersecuritygrouplist["+i+"].group="+securitygroupElementArray[i].value);
- }
- }
-
- $.ajax({
- data: createURL("command=authorizeSecurityGroupIngress"+moreCriteria.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.authorizesecuritygroupingressresponse.jobid;
- var timerKey = "ingressRuleJob_"+jobId;
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- if (result.jobstatus == 1) { // Succeeded
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
- var items = result.jobresult.securitygroup.ingressrule;
-
- var $subgridItem = $("#ingressrule_tab_template").clone(true);
- securityGroupIngressRuleJSONToTemplate(items[0], $subgridItem).data("parentObj", securityGroupObj);
- $subgridItem.find("#after_action_info").text(g_dictionary["label.adding.succeeded"]);
- $subgridItem.find("#after_action_info_container").removeClass("error").addClass("success").show();
- $("#right_panel_content").find("#tab_content_ingressrule").find("#tab_container").prepend($subgridItem.show());
-
- if(items.length > 1) {
- for(var i=1; i 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#displaytext").text(fromdb(jsonObj.description));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- $thisTab.find("#account").text(fromdb(jsonObj.account));
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- buildActionLinkForTab("label.action.delete.security.group", securityGroupActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function securityGroupJsonToIngressRuleTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- securityGroupClearIngressRuleTab();
- return;
- }
-
- var securityGroupObj = $midmenuItem1.data("jsonObj");
- if(securityGroupObj == null) {
- securityGroupClearIngressRuleTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_ingressrule");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- cache: false,
- data: createURL("command=listSecurityGroups&id="+securityGroupObj.id),
- dataType: "json",
- success: function(json) {
- var securityGroupObj = json.listsecuritygroupsresponse.securitygroup[0];
- var items = securityGroupObj.ingressrule;
- var $container = $thisTab.find("#tab_container").empty();
- if (items != null && items.length > 0) {
- var template = $("#ingressrule_tab_template");
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- securityGroupIngressRuleJSONToTemplate(items[i], newTemplate).data("parentObj", securityGroupObj);
- $container.append(newTemplate.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function securityGroupClearIngressRuleTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_ingressrule");
- $thisTab.find("#tab_container").empty();
-}
-
-function securityGroupIngressRuleJSONToTemplate(jsonObj, $template) {
- $template.data("jsonObj", jsonObj);
- $template.attr("id", "securitygroup_ingressRule_"+fromdb(jsonObj.id));
-
- $template.find("#grid_header_title").text(fromdb(jsonObj.ruleid));
- $template.find("#id").text(fromdb(jsonObj.ruleid));
- $template.find("#protocol").text(jsonObj.protocol);
-
- var endpoint;
- if(jsonObj.protocol == "icmp")
- endpoint = "ICMP Type=" + ((jsonObj.icmptype!=null)?jsonObj.icmptype:"") + ", code=" + ((jsonObj.icmpcode!=null)?jsonObj.icmpcode:"");
- else //tcp, udp
- endpoint = "Port Range " + ((jsonObj.startport!=null)?jsonObj.startport:"") + "-" + ((jsonObj.endport!=null)?jsonObj.endport:"");
- $template.find("#endpoint").text(endpoint);
-
- var cidrOrGroup;
- if(jsonObj.cidr != null && jsonObj.cidr.length > 0)
- cidrOrGroup = jsonObj.cidr;
- else if (jsonObj.account != null && jsonObj.account.length > 0 && jsonObj.securitygroupname != null && jsonObj.securitygroupname.length > 0)
- cidrOrGroup = jsonObj.account + "/" + jsonObj.securitygroupname;
- $template.find("#cidr").text(cidrOrGroup);
-
- // actions
- var $actionLink = $template.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
-
- buildActionLinkForSubgridItem("label.action.delete.ingress.rule", securityGroupIngressRuleActionMap, $actionMenu, $template);
-
- return $template;
-}
-
-var securityGroupIngressRuleActionMap = {
- "label.action.delete.ingress.rule": {
- isAsyncJob: true,
- asyncJobResponse: "revokesecuritygroupingress",
- dialogBeforeActionFn : doDeleteIngressRule,
- inProcessText: "label.action.delete.ingress.rule.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- $subgridItem.slideUp("slow", function() {
- $(this).remove();
- });
- }
- }
-}
-
-function doDeleteIngressRule($actionLink, $subgridItem) {
- $("#dialog_info")
- .text(dictionary["message.action.delete.ingress.rule"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var securityGroupObj = $subgridItem.data("parentObj");
- var ingressRuleObj = $subgridItem.data("jsonObj");
- var id = ingressRuleObj.ruleid;
-
- var moreCriteria = [];
- moreCriteria.push("&domainid="+securityGroupObj.domainid);
- moreCriteria.push("&account="+securityGroupObj.account);
- moreCriteria.push("&id="+id);
-
- var apiCommand = "command=revokeSecurityGroupIngress"+moreCriteria.join("");
- doActionToSubgridItem(id, $actionLink, apiCommand, $subgridItem);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function securityGroupClearRightPanel() {
- securityGroupClearDetailsTab();
-}
-
-function securityGroupClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
- $thisTab.find("#displaytext").text("");
- $thisTab.find("#displaytext_edit").val("");
- $thisTab.find("#disksize").text("");
- $thisTab.find("#tags").text("");
- $thisTab.find("#domain").text("");
- $thisTab.find("#account").text("");
-
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-var securityGroupActionMap = {
- "label.action.delete.security.group": {
- isAsyncJob: false,
- dialogBeforeActionFn : doDeleteSecurityGroup,
- inProcessText: "Deleting Security Group....",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- securityGroupClearRightPanel();
- }
- }
- }
-}
diff --git a/ui/old/scripts/cloud.core.serviceoffering.js b/ui/old/scripts/cloud.core.serviceoffering.js
deleted file mode 100644
index ab9825b732b..00000000000
--- a/ui/old/scripts/cloud.core.serviceoffering.js
+++ /dev/null
@@ -1,402 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function serviceOfferingGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadServiceOfferingJSP() {
- initAddServiceOfferingDialog();
-
- $readonlyFields = $("#tab_content_details").find("#name, #displaytext");
- $editFields = $("#tab_content_details").find("#name_edit, #displaytext_edit");
-}
-
-function initAddServiceOfferingDialog() {
- initDialog("dialog_add_service");
-
- var $dialogAddService = $("#dialog_add_service");
- $dialogAddService.find("#public_dropdown").unbind("change").bind("change", function(event) {
- if($(this).val() == "true") { //public zone
- $dialogAddService.find("#domain_container").hide();
- }
- else { //private zone
- $dialogAddService.find("#domain_container").show();
- }
- return false;
- });
-
- applyAutoCompleteToDomainField($dialogAddService.find("#domain"));
-
- $("#add_serviceoffering_button").unbind("click").bind("click", function(event) {
- $dialogAddService.find("#add_service_name").val("");
- $dialogAddService.find("#add_service_display").val("");
- $dialogAddService.find("#add_service_cpucore").val("");
- $dialogAddService.find("#add_service_cpu").val("");
- $dialogAddService.find("#add_service_memory").val("");
- $dialogAddService.find("#network_rate").val("");
- $dialogAddService.find("#add_service_offerha").val("false");
-
- $dialogAddService
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#add_service_name"), $thisDialog.find("#add_service_name_errormsg"));
- isValid &= validateString("Display Text", $thisDialog.find("#add_service_display"), $thisDialog.find("#add_service_display_errormsg"));
- isValid &= validateInteger("# of CPU Core", $thisDialog.find("#add_service_cpucore"), $thisDialog.find("#add_service_cpucore_errormsg"), 1, 1000);
- isValid &= validateInteger("CPU", $thisDialog.find("#add_service_cpu"), $thisDialog.find("#add_service_cpu_errormsg"), 100, 100000);
- isValid &= validateInteger("Memory", $thisDialog.find("#add_service_memory"), $thisDialog.find("#add_service_memory_errormsg"), 64, 1000000);
- isValid &= validateInteger("Network Rate", $thisDialog.find("#network_rate"), $thisDialog.find("#network_rate_errormsg"), null, null, true); //optional
- isValid &= validateString("Tags", $thisDialog.find("#add_service_tags"), $thisDialog.find("#add_service_tags_errormsg"), true); //optional
-
- if($thisDialog.find("#domain_container").css("display") != "none") {
- isValid &= validateString("Domain", $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), false); //required
- var domainName = $thisDialog.find("#domain").val();
- var domainId;
- if(domainName != null && domainName.length > 0) {
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- isValid &= false;
- }
- }
- }
-
- if (!isValid)
- return;
- $thisDialog.dialog("close");
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
-
- var array1 = [];
- var name = $thisDialog.find("#add_service_name").val();
- array1.push("&name="+todb(name));
-
- var display = $thisDialog.find("#add_service_display").val();
- array1.push("&displayText="+todb(display));
-
- var storagetype = $thisDialog.find("#add_service_storagetype").val();
- array1.push("&storageType="+storagetype);
-
- var core = $thisDialog.find("#add_service_cpucore").val();
- array1.push("&cpuNumber="+core);
-
- var cpu = $thisDialog.find("#add_service_cpu").val();
- array1.push("&cpuSpeed="+cpu);
-
- var memory = $thisDialog.find("#add_service_memory").val();
- array1.push("&memory="+memory);
-
- var networkRate = $thisDialog.find("#network_rate").val();
- if(networkRate != null && networkRate.length > 0)
- array1.push("&networkrate="+networkRate);
-
- var offerha = $thisDialog.find("#add_service_offerha").val();
- array1.push("&offerha="+offerha);
-
- var tags = $thisDialog.find("#add_service_tags").val();
- if(tags != null && tags.length > 0)
- array1.push("&tags="+todb(tags));
-
- var hosttags = $thisDialog.find("#add_service_hosttags").val();
- if(hosttags != null && hosttags.length > 0)
- array1.push("&hosttags="+todb(hosttags));
-
- if($thisDialog.find("#cpu_cap_dropdown_container").css("display") != "none") {
- array1.push("&limitcpuuse="+$thisDialog.find("#cpu_cap_dropdown").val());
- }
-
- if($thisDialog.find("#domain_container").css("display") != "none") {
- array1.push("&domainid="+domainId);
- }
-
- $.ajax({
- data: createURL("command=createServiceOffering&issystem=false"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var item = json.createserviceofferingresponse.serviceoffering;
- serviceOfferingToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, serviceOfferingToRightPanel, getMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
-
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function doEditServiceOffering($actionLink, $detailsTab, $midmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditServiceOffering2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditServiceOffering2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"), true);
- isValid &= validateString("Display Text", $detailsTab.find("#displaytext_edit"), $detailsTab.find("#displaytext_edit_errormsg"), true);
- if (!isValid)
- return;
-
- var array1 = [];
- var name = $detailsTab.find("#name_edit").val();
- array1.push("&name="+todb(name));
- var displaytext = $detailsTab.find("#displaytext_edit").val();
- array1.push("&displayText="+todb(displaytext));
- var offerha = $detailsTab.find("#offerha_edit").val();
- array1.push("&offerha="+offerha);
-
- var tags = $detailsTab.find("#tags_edit").val();
- array1.push("&tags="+todb(tags));
-
- var domainid = $detailsTab.find("#domain_edit").val();
- array1.push("&domainid="+todb(domainid));
-
- $.ajax({
- data: createURL("command=updateServiceOffering&id="+id+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jsonObj = json.updateserviceofferingresponse.serviceoffering;
- serviceOfferingToMidmenu(jsonObj, $midmenuItem1);
- serviceOfferingToRightPanel($midmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
- });
-}
-
-function doDeleteServiceOffering($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.service.offering"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=deleteServiceOffering&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function serviceOfferingToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_system_serviceoffering.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = jsonObj.cpunumber + " x " + convertHz(jsonObj.cpuspeed);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function serviceOfferingToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- serviceOfferingJsonToDetailsTab();
-}
-
-function serviceOfferingJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- serviceOfferingClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- serviceOfferingClearDetailsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var id = jsonObj.id;
-
- $.ajax({
- data: createURL("command=listServiceOfferings&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listserviceofferingsresponse.serviceoffering;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#name_edit").val(fromdb(jsonObj.name));
-
- $thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
- $thisTab.find("#displaytext_edit").val(fromdb(jsonObj.displaytext));
-
- $thisTab.find("#storagetype").text(fromdb(jsonObj.storagetype));
- $thisTab.find("#cpu").text(jsonObj.cpunumber + " x " + convertHz(jsonObj.cpuspeed));
- $thisTab.find("#memory").text(convertBytes(parseInt(jsonObj.memory)*1024*1024));
- $thisTab.find("#network_rate").text(fromdb(jsonObj.networkrate));
-
- setBooleanReadField(jsonObj.offerha, $thisTab.find("#offerha"));
- setBooleanEditField(jsonObj.offerha, $thisTab.find("#offerha_edit"));
-
- setBooleanReadField(jsonObj.limitcpuuse, $thisTab.find("#limitcpuuse"));
-
- $thisTab.find("#tags").text(fromdb(jsonObj.tags));
- $thisTab.find("#tags_edit").val(fromdb(jsonObj.tags));
-
- $thisTab.find("#hosttags").text(fromdb(jsonObj.hosttags));
-
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- $thisTab.find("#domain_edit").val(fromdb(jsonObj.domainid));
-
- setDateField(jsonObj.created, $thisTab.find("#created"));
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- buildActionLinkForTab("label.action.edit.service.offering", serviceOfferingActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.delete.service.offering", serviceOfferingActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function serviceOfferingClearRightPanel() {
- serviceOfferingClearDetailsTab();
-}
-
-function serviceOfferingClearDetailsTab() {
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
- $thisTab.find("#displaytext").text("");
- $thisTab.find("#displaytext_edit").val("");
- $thisTab.find("#storagetype").text("");
- $thisTab.find("#cpu").text("");
- $thisTab.find("#memory").text("");
- $thisTab.find("#offerha").text("");
- $thisTab.find("#offerha_edit").val("");
- $thisTab.find("#limitcpuuse").text("");
- $thisTab.find("#tags").text("");
- $thisTab.find("#hosttags").text("");
- $thisTab.find("#domain").text("");
- $thisTab.find("#domain_edit").val("");
- $thisTab.find("#created").text("");
-
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-var serviceOfferingActionMap = {
- "label.action.edit.service.offering": {
- dialogBeforeActionFn: doEditServiceOffering
- },
- "label.action.delete.service.offering": {
- api: "deleteServiceOffering",
- isAsyncJob: false,
- dialogBeforeActionFn : doDeleteServiceOffering,
- inProcessText: "label.action.delete.service.offering.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- serviceOfferingClearRightPanel();
- }
- }
- }
-}
diff --git a/ui/old/scripts/cloud.core.snapshot.js b/ui/old/scripts/cloud.core.snapshot.js
deleted file mode 100644
index 1f10d576d99..00000000000
--- a/ui/old/scripts/cloud.core.snapshot.js
+++ /dev/null
@@ -1,324 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function snapshotGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- if ($advancedSearchPopup.find("#adv_search_account_li").css("display") != "none"
- && $advancedSearchPopup.find("#adv_search_account").hasClass("textwatermark") == false) {
- var account = $advancedSearchPopup.find("#adv_search_account").val();
- if (account!=null && account.length > 0)
- moreCriteria.push("&account="+account);
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadSnapshotJSP() {
- initDialog("dialog_add_volume_from_snapshot");
-
- /*
- $.ajax({
- data: createURL("command=listDiskOfferings"),
- dataType: "json",
- success: function(json) {
- var offerings = json.listdiskofferingsresponse.diskoffering;
- var diskOfferingDropdown = $("#dialog_add_volume_from_snapshot").find("#diskoffering_dropdown").empty();
- if (offerings != null && offerings.length > 0) {
- for (var i = 0; i < offerings.length; i++) {
- if(offerings[i].iscustomized == true) {
- var $option = $("" + fromdb(offerings[i].displaytext) + " ");
- $option.data("jsonObj", offerings[i]);
- diskOfferingDropdown.append($option);
- }
- }
- }
- }
- });
- */
-
- initCreateTemplateFromSnapshotDialog();
-}
-
-function initCreateTemplateFromSnapshotDialog() {
- if (getUserPublicTemplateEnabled() == "true" || isAdmin()) {
- $("#dialog_create_template_from_snapshot #create_template_public_container").show();
- }
-
- initDialog("dialog_create_template_from_snapshot", 450);
-
- var $dialogCreateTemplateFromSnapshot = $("#dialog_create_template_from_snapshot");
-
- $.ajax({
- data: createURL("command=listOsTypes"),
- dataType: "json",
- success: function(json) {
- types = json.listostypesresponse.ostype;
- if (types != null && types.length > 0) {
- var osTypeField = $dialogCreateTemplateFromSnapshot.find("#os_type").empty();
- for (var i = 0; i < types.length; i++) {
- var html = "" + types[i].description + " ";
- osTypeField.append(html);
- }
- }
- }
- });
-
- if(isAdmin())
- $dialogCreateTemplateFromSnapshot.find("#isfeatured_container").show();
- else
- $dialogCreateTemplateFromSnapshot.find("#isfeatured_container").hide();
-}
-
-function snapshotToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_snapshots.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.volumename);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function snapshotToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- snapshotJsonToDetailsTab();
-}
-
-function snapshotJsonToDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
-
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null)
- return;
-
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var id = jsonObj.id;
-
- $.ajax({
- data: createURL("command=listSnapshots&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listsnapshotsresponse.snapshot;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#volume_name").text(fromdb(jsonObj.volumename));
- $thisTab.find("#state").text(fromdb(jsonObj.state));
- $thisTab.find("#interval_type").text(fromdb(jsonObj.intervaltype));
- $thisTab.find("#account").text(fromdb(jsonObj.account));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- setDateField(jsonObj.created, $thisTab.find("#created"));
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
-
- if(jsonObj.state == "BackedUp") {
- buildActionLinkForTab("label.action.create.volume" , snapshotActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.create.template", snapshotActionMap, $actionMenu, $midmenuItem1, $thisTab);
- }
- buildActionLinkForTab("label.action.delete.snapshot", snapshotActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function snapshotClearRightPanel() {
- snapshotClearDetailsTab();
-}
-
-function snapshotClearDetailsTab() {
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#volume_name").text("");
- $thisTab.find("#state").text("");
- $thisTab.find("#interval_type").text("");
- $thisTab.find("#account").text("");
- $thisTab.find("#domain").text("");
- $thisTab.find("#created").text("");
-}
-
-var snapshotActionMap = {
- "label.action.create.volume": {
- isAsyncJob: true,
- asyncJobResponse: "createvolumeresponse",
- dialogBeforeActionFn : doCreateVolumeFromSnapshotInSnapshotPage,
- inProcessText: "label.action.create.volume.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){}
- }
- ,
- "label.action.delete.snapshot": {
- isAsyncJob: true,
- asyncJobResponse: "deletesnapshotresponse",
- dialogBeforeActionFn : doSnapshotDelete,
- inProcessText: "label.action.delete.snapshot.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- snapshotClearRightPanel();
- }
- }
- }
- ,
- "label.action.create.template": {
- isAsyncJob: true,
- asyncJobResponse: "createtemplateresponse",
- dialogBeforeActionFn : doCreateTemplateFromSnapshotInSnapshotPage,
- inProcessText: "label.action.create.template.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){}
- }
-}
-
-function doSnapshotDelete($actionLink, $thisTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.snapshot"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var id = $midmenuItem1.data("jsonObj").id;
- var apiCommand = "command=deleteSnapshot&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $thisTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doCreateVolumeFromSnapshotInSnapshotPage($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_add_volume_from_snapshot")
- .dialog("option", "buttons", {
- "Add": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#name"), $thisDialog.find("#name_errormsg"));
- //isValid &= validateDropDownBox("Disk Offering", $thisDialog.find("#diskoffering_dropdown"), $thisDialog.find("#diskoffering_dropdown_errormsg"));
- if (!isValid) return;
-
- $thisDialog.dialog("close");
-
- var name = $thisDialog.find("#name").val();
- //var diskofferingId = $thisDialog.find("#diskoffering_dropdown").val();
-
- var id = jsonObj.id;
- //var apiCommand = "command=createVolume&snapshotid="+id+"&name="+name+"&diskOfferingId="+diskofferingId;
- var apiCommand = "command=createVolume&snapshotid="+id+"&name="+name;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doCreateTemplateFromSnapshotInSnapshotPage($actionLink, $detailsTab, $midmenuItem1){
- var jsonObj = $midmenuItem1.data("jsonObj");
-
- $("#dialog_create_template_from_snapshot")
- .dialog("option", "buttons", {
- "Add": function() {
- var thisDialog = $(this);
- var isValid = true;
- isValid &= validateString("Name", thisDialog.find("#name"), thisDialog.find("#name_errormsg"), false);
- isValid &= validateString("Display Text", thisDialog.find("#display_text"), thisDialog.find("#display_text_errormsg"), false);
- if (!isValid) return;
-
- thisDialog.dialog("close");
-
- var array1 = [];
- var name = thisDialog.find("#name").val();
- array1.push("&name="+name);
-
- var displayText = thisDialog.find("#display_text").val();
- array1.push("&displaytext="+displayText);
-
- var osTypeId = thisDialog.find("#os_type").val();
- array1.push("&ostypeid="+osTypeId);
-
- var isPublic = thisDialog.find("#ispublic").val();
- array1.push("&isPublic="+isPublic);
-
- var password = thisDialog.find("#password").val();
- array1.push("&passwordEnabled="+password);
-
- if(thisDialog.find("#isfeatured_container").css("display")!="none") {
- var isFeatured = thisDialog.find("#isfeatured").val();
- array1.push("&isfeatured="+isFeatured);
- }
-
- var id = jsonObj.id;
- var apiCommand = "command=createTemplate&snapshotid="+id+array1.join("");
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
diff --git a/ui/old/scripts/cloud.core.systemserviceoffering.js b/ui/old/scripts/cloud.core.systemserviceoffering.js
deleted file mode 100644
index fc03f3eb019..00000000000
--- a/ui/old/scripts/cloud.core.systemserviceoffering.js
+++ /dev/null
@@ -1,412 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function systemServiceOfferingGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadSystemServiceOfferingJSP() {
- initAddSystemServiceOfferingDialog();
-
- $readonlyFields = $("#tab_content_details").find("#name, #displaytext");
- $editFields = $("#tab_content_details").find("#name_edit, #displaytext_edit");
-}
-
-function initAddSystemServiceOfferingDialog() {
- initDialog("dialog_add_systemserviceoffering");
-
- var $dialogAddSystemServiceOffering = $("#dialog_add_systemserviceoffering");
- $dialogAddSystemServiceOffering.find("#public_dropdown").unbind("change").bind("change", function(event) {
- if($(this).val() == "true") { //public zone
- $dialogAddSystemServiceOffering.find("#domain_container").hide();
- }
- else { //private zone
- $dialogAddSystemServiceOffering.find("#domain_container").show();
- }
- return false;
- });
-
- applyAutoCompleteToDomainField($dialogAddSystemServiceOffering.find("#domain"));
-
- $("#add_systemserviceoffering_button").unbind("click").bind("click", function(event) {
- $dialogAddSystemServiceOffering.find("#add_service_name").val("");
- $dialogAddSystemServiceOffering.find("#add_service_display").val("");
- $dialogAddSystemServiceOffering.find("#add_service_cpucore").val("");
- $dialogAddSystemServiceOffering.find("#add_service_cpu").val("");
- $dialogAddSystemServiceOffering.find("#add_service_memory").val("");
- $dialogAddSystemServiceOffering.find("#network_rate").val("");
- $dialogAddSystemServiceOffering.find("#add_service_offerha").val("false");
-
- $dialogAddSystemServiceOffering
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#add_service_name"), $thisDialog.find("#add_service_name_errormsg"));
- isValid &= validateString("Display Text", $thisDialog.find("#add_service_display"), $thisDialog.find("#add_service_display_errormsg"));
- isValid &= validateInteger("# of CPU Core", $thisDialog.find("#add_service_cpucore"), $thisDialog.find("#add_service_cpucore_errormsg"), 1, 1000);
- isValid &= validateInteger("CPU", $thisDialog.find("#add_service_cpu"), $thisDialog.find("#add_service_cpu_errormsg"), 100, 100000);
- isValid &= validateInteger("Memory", $thisDialog.find("#add_service_memory"), $thisDialog.find("#add_service_memory_errormsg"), 64, 1000000);
- isValid &= validateInteger("Network Rate", $thisDialog.find("#network_rate"), $thisDialog.find("#network_rate_errormsg"), null, null, true); //optional
- isValid &= validateString("Tags", $thisDialog.find("#add_service_tags"), $thisDialog.find("#add_service_tags_errormsg"), true); //optional
-
- if($thisDialog.find("#domain_container").css("display") != "none") {
- isValid &= validateString("Domain", $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), false); //required
- var domainName = $thisDialog.find("#domain").val();
- var domainId;
- if(domainName != null && domainName.length > 0) {
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $thisDialog.find("#domain"), $thisDialog.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- isValid &= false;
- }
- }
- }
-
- if (!isValid)
- return;
- $thisDialog.dialog("close");
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
-
- var array1 = [];
- var name = $thisDialog.find("#add_service_name").val();
- array1.push("&name="+todb(name));
-
- var display = $thisDialog.find("#add_service_display").val();
- array1.push("&displayText="+todb(display));
-
- var storagetype = $thisDialog.find("#add_service_storagetype").val();
- array1.push("&storageType="+storagetype);
-
- var core = $thisDialog.find("#add_service_cpucore").val();
- array1.push("&cpuNumber="+core);
-
- var cpu = $thisDialog.find("#add_service_cpu").val();
- array1.push("&cpuSpeed="+cpu);
-
- var memory = $thisDialog.find("#add_service_memory").val();
- array1.push("&memory="+memory);
-
- var networkRate = $thisDialog.find("#network_rate").val();
- if(networkRate != null && networkRate.length > 0)
- array1.push("&networkrate="+networkRate);
-
- var offerha = $thisDialog.find("#add_service_offerha").val();
- array1.push("&offerha="+offerha);
-
- var tags = $thisDialog.find("#add_service_tags").val();
- if(tags != null && tags.length > 0)
- array1.push("&tags="+todb(tags));
-
- var hosttags = $thisDialog.find("#add_service_hosttags").val();
- if(hosttags != null && hosttags.length > 0)
- array1.push("&hosttags="+todb(hosttags));
-
- if($thisDialog.find("#cpu_cap_dropdown_container").css("display") != "none") {
- array1.push("&limitcpuuse="+$thisDialog.find("#cpu_cap_dropdown").val());
- }
-
- if($thisDialog.find("#domain_container").css("display") != "none") {
- array1.push("&domainid="+domainId);
- }
-
- $.ajax({
- data: createURL("command=createServiceOffering&issystem=true"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var item = json.createserviceofferingresponse.serviceoffering;
- systemServiceOfferingToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, systemServiceOfferingToRightPanel, getMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
-
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function doEditSystemServiceOffering($actionLink, $detailsTab, $midmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditSystemServiceOffering2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditSystemServiceOffering2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"), true);
- isValid &= validateString("Display Text", $detailsTab.find("#displaytext_edit"), $detailsTab.find("#displaytext_edit_errormsg"), true);
- if (!isValid)
- return;
-
- var array1 = [];
- var name = $detailsTab.find("#name_edit").val();
- array1.push("&name="+todb(name));
- var displaytext = $detailsTab.find("#displaytext_edit").val();
- array1.push("&displayText="+todb(displaytext));
- var offerha = $detailsTab.find("#offerha_edit").val();
- array1.push("&offerha="+offerha);
-
- var tags = $detailsTab.find("#tags_edit").val();
- array1.push("&tags="+todb(tags));
-
- var domainid = $detailsTab.find("#domain_edit").val();
- array1.push("&domainid="+todb(domainid));
-
- $.ajax({
- data: createURL("command=updateServiceOffering&id="+id+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jsonObj = json.updateserviceofferingresponse.serviceoffering;
- systemServiceOfferingToMidmenu(jsonObj, $midmenuItem1);
- systemServiceOfferingToRightPanel($midmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
- });
-}
-
-function doDeleteSystemServiceOffering($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.service.offering"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=deleteServiceOffering&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function systemServiceOfferingToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_system_serviceoffering.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = jsonObj.cpunumber + " x " + convertHz(jsonObj.cpuspeed);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function systemServiceOfferingToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- systemServiceOfferingJsonToDetailsTab();
-}
-
-function systemServiceOfferingJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- systemServiceOfferingClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- systemServiceOfferingClearDetailsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var id = jsonObj.id;
-
- $.ajax({
- data: createURL("command=listServiceOfferings&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listserviceofferingsresponse.serviceoffering;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#name_edit").val(fromdb(jsonObj.name));
-
- $thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
- $thisTab.find("#displaytext_edit").val(fromdb(jsonObj.displaytext));
-
- $thisTab.find("#storagetype").text(fromdb(jsonObj.storagetype));
- $thisTab.find("#cpu").text(jsonObj.cpunumber + " x " + convertHz(jsonObj.cpuspeed));
- $thisTab.find("#memory").text(convertBytes(parseInt(jsonObj.memory)*1024*1024));
- $thisTab.find("#network_rate").text(fromdb(jsonObj.networkrate));
-
- setBooleanReadField(jsonObj.offerha, $thisTab.find("#offerha"));
- setBooleanEditField(jsonObj.offerha, $thisTab.find("#offerha_edit"));
-
- setBooleanReadField(jsonObj.limitcpuuse, $thisTab.find("#limitcpuuse"));
-
- $thisTab.find("#tags").text(fromdb(jsonObj.tags));
- $thisTab.find("#tags_edit").val(fromdb(jsonObj.tags));
-
- $thisTab.find("#hosttags").text(fromdb(jsonObj.hosttags));
-
- setBooleanReadField(jsonObj.defaultuse, $thisTab.find("#defaultuse"));
-
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- $thisTab.find("#domain_edit").val(fromdb(jsonObj.domainid));
-
- setDateField(jsonObj.created, $thisTab.find("#created"));
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
- if(jsonObj.defaultuse == false) {
- buildActionLinkForTab("label.action.edit.service.offering", systemServiceOfferingActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.delete.service.offering", systemServiceOfferingActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function systemServiceOfferingClearRightPanel() {
- systemServiceOfferingClearDetailsTab();
-}
-
-function systemServiceOfferingClearDetailsTab() {
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
- $thisTab.find("#displaytext").text("");
- $thisTab.find("#displaytext_edit").val("");
- $thisTab.find("#storagetype").text("");
- $thisTab.find("#cpu").text("");
- $thisTab.find("#memory").text("");
- $thisTab.find("#offerha").text("");
- $thisTab.find("#offerha_edit").val("");
- $thisTab.find("#limitcpuuse").text("");
- $thisTab.find("#tags").text("");
- $thisTab.find("#hosttags").text("");
- $thisTab.find("#defaultuse").text("");
- $thisTab.find("#domain").text("");
- $thisTab.find("#domain_edit").val("");
- $thisTab.find("#created").text("");
-
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-var systemServiceOfferingActionMap = {
- "label.action.edit.service.offering": {
- dialogBeforeActionFn: doEditSystemServiceOffering
- },
- "label.action.delete.service.offering": {
- api: "deleteServiceOffering",
- isAsyncJob: false,
- dialogBeforeActionFn : doDeleteSystemServiceOffering,
- inProcessText: "label.action.delete.service.offering.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- systemServiceOfferingClearRightPanel();
- }
- }
- }
-}
diff --git a/ui/old/scripts/cloud.core.systemvm.js b/ui/old/scripts/cloud.core.systemvm.js
deleted file mode 100644
index 2cf777bc804..00000000000
--- a/ui/old/scripts/cloud.core.systemvm.js
+++ /dev/null
@@ -1,428 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function systemVmGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var state = $advancedSearchPopup.find("#adv_search_state").val();
- if (state!=null && state.length > 0)
- moreCriteria.push("&state="+todb(state));
-
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneId="+zone);
-
- if ($advancedSearchPopup.find("#adv_search_pod_li").css("display") != "none") {
- var pod = $advancedSearchPopup.find("#adv_search_pod").val();
- if (pod!=null && pod.length > 0)
- moreCriteria.push("&podId="+pod);
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadSystemVmJSP($midmenuItem1) {
- initDialog("dialog_migrate_systemvm", 600);
-}
-
-function systemvmToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_resource_systemvm.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.publicip);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-
- updateVmStateInMidMenu(jsonObj, $midmenuItem1);
-}
-
-function systemvmToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- systemvmJsonToDetailsTab();
-}
-
-function systemvmJsonToDetailsTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- systemvmClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- systemvmClearDetailsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- data: createURL("command=listSystemVms&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listsystemvmsresponse.systemvm;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- updateVmStateInMidMenu(jsonObj, $midmenuItem1);
- }
- }
- });
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- resetViewConsoleAction(jsonObj, $thisTab);
- setVmStateInRightPanel(fromdb(jsonObj.state), $thisTab.find("#state"));
-
-
- //refresh status every 2 seconds until status is not Starting/Stopping any more
- var timerKey = "refreshSystemvmStatus";
- $("body").stopTime(timerKey); //stop timer used by another middle menu item (i.e. stop timer when clicking on a different middle menu item)
- if($midmenuItem1.find("#spinning_wheel").css("display") == "none") {
- if(jsonObj.state in vmChangableStatus) {
- $("body").everyTime(
- 5000,
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=listSystemVms&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listsystemvmsresponse.systemvm;
- if(items != null && items.length > 0) {
- jsonObj = items[0]; //override jsonObj declared above
- $midmenuItem1.data("jsonObj", jsonObj);
- if(!(jsonObj.state in vmChangableStatus)) {
- $("body").stopTime(timerKey);
- updateVmStateInMidMenu(jsonObj, $midmenuItem1);
- if(jsonObj.id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- setVmStateInRightPanel(jsonObj.state, $thisTab.find("#state"));
- systemvmBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
- }
- }
- }
- }
- });
- }
- );
- }
- }
-
-
- $thisTab.find("#ipAddress").text(fromdb(jsonObj.publicip));
- $thisTab.find("#state").text(fromdb(jsonObj.state));
- $thisTab.find("#systemvmtype").text(toSystemVMTypeText(jsonObj.systemvmtype));
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#publicip").text(fromdb(jsonObj.publicip));
- $thisTab.find("#privateip").text(fromdb(jsonObj.privateip));
- $thisTab.find("#linklocalip").text(fromdb(jsonObj.linklocalip));
- $thisTab.find("#hostname").text(fromdb(jsonObj.hostname));
- $thisTab.find("#gateway").text(fromdb(jsonObj.gateway));
- $thisTab.find("#created").text(fromdb(jsonObj.created));
-
- if(jsonObj.systemvmtype == "consoleproxy") {
- $thisTab.find("#activeviewersessions").text(fromdb(jsonObj.activeviewersessions));
- $thisTab.find("#activeviewersessions_container").show();
- }
- else { //jsonObj.systemvmtype == "secondarystoragevm"
- $thisTab.find("#activeviewersessions").text("");
- $thisTab.find("#activeviewersessions_container").hide();
- }
-
- //actions
- systemvmBuildActionMenu(jsonObj, $thisTab, $midmenuItem1);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function systemvmBuildActionMenu(jsonObj, $thisTab, $midmenuItem1) {
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- if (jsonObj.state == 'Running') {
- buildActionLinkForTab("label.action.stop.systemvm", systemVmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.reboot.systemvm", systemVmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.destroy.systemvm", systemVmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- if (isAdmin())
- {
- buildActionLinkForTab("label.action.migrate.systemvm", systemVmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- }
- noAvailableActions = false;
- }
- else if (jsonObj.state == 'Stopped') {
- buildActionLinkForTab("label.action.start.systemvm", systemVmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- buildActionLinkForTab("label.action.destroy.systemvm", systemVmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
- else if (jsonObj.state == 'Error') {
- buildActionLinkForTab("label.action.destroy.systemvm", systemVmActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-}
-
-function systemvmClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- resetViewConsoleAction(null, $thisTab);
- setVmStateInRightPanel(null, $thisTab.find("#state"));
- $thisTab.find("#ipAddress").text(fromdb(jsonObj.publicip));
- $thisTab.find("#state").text(fromdb(jsonObj.state));
- $thisTab.find("#systemvmtype").text(toSystemVMTypeText(jsonObj.systemvmtype));
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#publicip").text(fromdb(jsonObj.publicip));
- $thisTab.find("#privateip").text(fromdb(jsonObj.privateip));
- $thisTab.find("#linklocalip").text(fromdb(jsonObj.linklocalip));
- $thisTab.find("#hostname").text(fromdb(jsonObj.hostname));
- $thisTab.find("#gateway").text(fromdb(jsonObj.gateway));
- $thisTab.find("#created").text(fromdb(jsonObj.created));
- $thisTab.find("#activeviewersessions").text("");
-
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-function toSystemVMTypeText(value) {
- var text = "";
- if(value == "consoleproxy")
- text = "Console Proxy VM";
- else if(value == "secondarystoragevm")
- text = "Secondary Storage VM";
- return text;
-}
-
-var systemVmActionMap = {
- "label.action.start.systemvm": {
- isAsyncJob: true,
- asyncJobResponse: "startsystemvmresponse",
- inProcessText: "label.action.start.systemvm.processing",
- dialogBeforeActionFn : doStartSystemVM,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.systemvm;
- systemvmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.stop.systemvm": {
- isAsyncJob: true,
- asyncJobResponse: "stopsystemvmresponse",
- inProcessText: "label.action.stop.systemvm.processing",
- dialogBeforeActionFn : doStopSystemVM,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.systemvm;
- systemvmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.reboot.systemvm": {
- isAsyncJob: true,
- asyncJobResponse: "rebootsystemvmresponse",
- inProcessText: "label.action.reboot.systemvm.processing",
- dialogBeforeActionFn : doRebootSystemVM,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.systemvm;
- systemvmToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.destroy.systemvm": {
- isAsyncJob: true,
- asyncJobResponse: "destroysystemvmresponse",
- dialogBeforeActionFn : doDestroySystemVM,
- inProcessText: "label.action.destroy.systemvm.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.slideUp("slow", function() {
-
- });
- }
- },
- "label.action.migrate.systemvm": {
- isAsyncJob: true,
- asyncJobResponse: "migratesystemvmresponse",
- inProcessText: "label.action.migrate.systemvm.processing",
- dialogBeforeActionFn : doMigrateSystemVM,
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- //var jsonObj = json.queryasyncjobresultresponse.jobresult.systemvminstance; //not all properties returned in systemvminstance
- $.ajax({
- data: createURL("command=listSystemVms&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listsystemvmsresponse.systemvm;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- systemvmToMidmenu(jsonObj, $midmenuItem1);
- }
- }
- });
- }
- }
-}
-
-function doStartSystemVM($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.start.systemvm"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=startSystemVm&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doStopSystemVM($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.stop.systemvm"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=stopSystemVm&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doRebootSystemVM($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.reboot.systemvm"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var apiCommand = "command=rebootSystemVm&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doDestroySystemVM($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.destroy.systemvm"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=destroySystemVm&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doMigrateSystemVM($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- $.ajax({
- data: createURL("command=listHosts&VirtualMachineId="+id),
- //data: createURL("command=listHosts"), //for testing, comment it out before checking in.
- dataType: "json",
- async: false,
- success: function(json) {
- var hosts = json.listhostsresponse.host;
- var hostSelect = $("#dialog_migrate_systemvm #host_select").empty();
-
- if (hosts != null && hosts.length > 0) {
- for (var i = 0; i < hosts.length; i++) {
- var option = $("" + fromdb(hosts[i].name) + ": " +((hosts[i].hasEnoughCapacity) ? dictionary["label.available"] : dictionary["label.full"]) + " ").data("name", fromdb(hosts[i].name));
- hostSelect.append(option);
- }
- }
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- $("#dialog_migrate_systemvm #host_select").empty();
- });
- }
- });
-
- $("#dialog_migrate_systemvm")
- .dialog('option', 'buttons', {
- "OK": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateDropDownBox("Host", $thisDialog.find("#host_select"), $thisDialog.find("#host_select_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
- var hostId = $thisDialog.find("#host_select").val();
- /*
- if(jsonObj.state != "Stopped") {
- $midmenuItem1.find("#info_icon").addClass("error").show();
- $midmenuItem1.data("afterActionInfo", ($actionLink.data("label") + " action failed. Reason: virtual instance needs to be stopped before you can change its service."));
- }
- */
- var apiCommand = "command=migrateSystemVm&hostid="+hostId+"&virtualmachineid="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
diff --git a/ui/old/scripts/cloud.core.template.js b/ui/old/scripts/cloud.core.template.js
deleted file mode 100644
index a0820ddbbe2..00000000000
--- a/ui/old/scripts/cloud.core.template.js
+++ /dev/null
@@ -1,974 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-//var DomRTemplateId = 1;
-
-var g_zoneIds = [];
-var g_zoneNames = [];
-
-function templateGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneId="+zone);
-
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- if ($advancedSearchPopup.find("#adv_search_account_li").css("display") != "none"
- && $advancedSearchPopup.find("#adv_search_account").hasClass("textwatermark") == false) {
- var account = $advancedSearchPopup.find("#adv_search_account").val();
- if (account!=null && account.length > 0)
- moreCriteria.push("&account="+account);
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadTemplateJSP() {
- var $detailsTab = $("#right_panel_content #tab_content_details");
-
- $("#dialog_add_template #add_template_hypervisor").bind("change", function(event) {
- var formatSelect = $("#dialog_add_template #add_template_format").empty();
- var selectedHypervisorType = $(this).val();
-
- if(selectedHypervisorType == "XenServer")
- formatSelect.append("VHD ");
- else if(selectedHypervisorType == "VMware")
- formatSelect.append("OVA ");
- else if(selectedHypervisorType == "KVM")
- formatSelect.append("QCOW2 ");
- else if(selectedHypervisorType == "BareMetal")
- formatSelect.append("BareMetal ");
- else if(selectedHypervisorType == "Ovm")
- formatSelect.append("RAW ");
- return false;
- });
-
- if(isAdmin()) {
- $readonlyFields = $detailsTab.find("#name, #displaytext, #passwordenabled, #ispublic, #isfeatured, #ostypename");
- $editFields = $detailsTab.find("#name_edit, #displaytext_edit, #passwordenabled_edit, #ispublic_edit, #isfeatured_edit, #ostypename_edit");
-
- $("#dialog_add_template #add_template_featured_container, #dialog_edit_template #edit_template_featured_container").show();
- }
- else {
- if (getUserPublicTemplateEnabled() == "true") {
- $readonlyFields = $detailsTab.find("#name, #displaytext, #passwordenabled, #ispublic, #ostypename");
- $editFields = $detailsTab.find("#name_edit, #displaytext_edit, #passwordenabled_edit, #ispublic_edit, #ostypename_edit");
- } else {
- $readonlyFields = $detailsTab.find("#name, #displaytext, #passwordenabled, #ostypename");
- $editFields = $detailsTab.find("#name_edit, #displaytext_edit, #passwordenabled_edit, #ostypename_edit");
- }
-
- $("#dialog_add_template #add_template_featured_container, #dialog_edit_template #edit_template_featured_container").hide();
- }
-
- //add button ***
- $("#add_template_button").unbind("click").bind("click", function(event) {
- $("#dialog_add_template #add_template_hypervisor").change();
-
- if (getUserPublicTemplateEnabled() == "true" || isAdmin()) {
- $("#dialog_add_template #add_template_public_container").show();
- }
-
- $("#dialog_add_template")
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#add_template_name"), $thisDialog.find("#add_template_name_errormsg"));
- isValid &= validateString("Display Text", $thisDialog.find("#add_template_display_text"), $thisDialog.find("#add_template_display_text_errormsg"));
- isValid &= validateString("URL", $thisDialog.find("#add_template_url"), $thisDialog.find("#add_template_url_errormsg"));
- if (!isValid) return;
-
- $thisDialog.dialog("close");
-
- var array1 = [];
- var name = $thisDialog.find("#add_template_name").val();
- array1.push("&name="+todb(name));
-
- var desc = $thisDialog.find("#add_template_display_text").val();
- array1.push("&displayText="+todb(desc));
-
- var url = $thisDialog.find("#add_template_url").val();
- array1.push("&url="+todb(url));
-
- var zoneId = $thisDialog.find("#add_template_zone").val();
- array1.push("&zoneid="+zoneId);
-
- var format = $thisDialog.find("#add_template_format").val();
- array1.push("&format="+format);
-
- var isextractable = $thisDialog.find("#isextractable").val();
- array1.push("&isextractable="+isextractable);
-
- var password = $thisDialog.find("#add_template_password").val();
- array1.push("&passwordEnabled="+password);
-
- var isPublic = $thisDialog.find("#add_template_public").val();
- array1.push("&ispublic="+isPublic);
-
- var osType = $thisDialog.find("#add_template_os_type").val();
- array1.push("&osTypeId="+osType);
-
- var hypervisor = $thisDialog.find("#add_template_hypervisor").val();
- array1.push("&hypervisor="+hypervisor);
-
- if($thisDialog.find("#add_template_featured_container").css("display")!="none") {
- var isFeatured = $thisDialog.find("#add_template_featured").val();
- array1.push("&isfeatured="+isFeatured);
- }
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
-
- $.ajax({
- data: createURL("command=registerTemplate" + array1.join("")),
- dataType: "json",
- success: function(json) {
- var items = json.registertemplateresponse.template;
- templateToMidmenu(items[0], $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, templateToRightPanel, templateGetMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
-
- if(items.length > 1) {
- for(var i=1; i 0) {
- for(var i=0; i"+fromdb(items[i].name)+"");
- }
- }
- $hypervisorDropdown.change();
- }
- });
-
- return true;
- });
-
- if (isAdmin())
- addTemplateZoneField.append("All Zones ");
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- success: function(json) {
- g_zoneIds = [];
- g_zoneNames = [];
- var zones = json.listzonesresponse.zone;
- if (zones != null && zones.length > 0) {
- for (var i = 0; i < zones.length; i++) {
- addTemplateZoneField.append("" + fromdb(zones[i].name) + " ");
- g_zoneIds.push(zones[i].id);
- g_zoneNames.push(zones[i].name);
- }
- }
- addTemplateZoneField.change();
- }
- });
- //zone dropdown (end)
-
- $.ajax({
- data: createURL("command=listOsTypes"),
- dataType: "json",
- async: false,
- success: function(json) {
- types = json.listostypesresponse.ostype;
- if (types != null && types.length > 0) {
- var osTypeDropdownAdd = $("#dialog_add_template").find("#add_template_os_type");
- var osTypeDropdownEdit = $detailsTab.find("#ostypename_edit").empty();
- if(types != null && types.length > 0) {
- for(var i = 0; i < types.length; i++) {
- var html = "" + types[i].description + " ";
- osTypeDropdownAdd.append(html);
- osTypeDropdownEdit.append(html);
- }
- }
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listServiceOfferings&issystem=false"),
- dataType: "json",
- success: function(json) {
- var items = json.listserviceofferingsresponse.serviceoffering;
- if(items != null && items.length > 0 ) {
- var serviceOfferingField = $("#dialog_create_vm_from_template").find("#service_offering").empty();
- for(var i = 0; i < items.length; i++)
- serviceOfferingField.append("" + fromdb(items[i].name) + " ");
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listDiskOfferings"),
- dataType: "json",
- success: function(json) {
- var items = json.listdiskofferingsresponse.diskoffering;
- if(items != null && items.length > 0 ) {
- var diskOfferingField = $("#dialog_create_vm_from_template").find("#disk_offering").empty();
- diskOfferingField.append("No disk offering ");
- for(var i = 0; i < items.length; i++) {
- var $option = $("" + fromdb(items[i].name) + " ");
- $option.data("jsonObj", items[i]);
- diskOfferingField.append($option);
- }
- $("#dialog_create_vm_from_template").find("#disk_offering").change();
- }
-
- }
- });
-
- $("#dialog_create_vm_from_template").find("#disk_offering").bind("change", function(event) {
- var jsonObj = $(this).find("option:selected").data("jsonObj");
- if(jsonObj != null && jsonObj.isCustomized == true) { //jsonObj is null when "No disk offering " is selected
- $("#dialog_create_vm_from_template").find("#size_container").show();
- }
- else {
- $("#dialog_create_vm_from_template").find("#size_container").hide();
- $("#dialog_create_vm_from_template").find("#size").val("");
- }
- });
-
- //initialize dialog box ***
- initDialog("dialog_add_template", 450);
- initDialog("dialog_copy_template", 300);
- initDialog("dialog_create_vm_from_template", 300);
- initDialog("dialog_download_template");
-}
-
-function templateGetMidmenuId(jsonObj) {
- return "midmenuItem_" + jsonObj.id + "_z" +jsonObj.zoneid;
-}
-
-function templateToMidmenu(jsonObj, $midmenuItem1) {
- var id = templateGetMidmenuId(jsonObj);
- $midmenuItem1.attr("id", id);
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- setIconByOsType(jsonObj.ostypename, $iconContainer.find("#icon"));
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.zonename);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function templateToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- templateJsonToDetailsTab();
-}
-
-function templateJsonToDetailsTab() {
- var timerKey = "templateDownloadProgress";
- $("body").stopTime(timerKey); //stop timer on previously selected middle menu item in template page
-
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- templateClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- templateClearDetailsTab();
- return;
- }
-
- var strCmd = "command=listTemplates&templatefilter=self&id="+jsonObj.id;
- if(jsonObj.zoneid != null)
- strCmd = strCmd +"&zoneid="+jsonObj.zoneid;
-
- var itemExists = true;
- $.ajax({
- data: createURL(strCmd),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listtemplatesresponse.template;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- else {
- itemExists = false;
- }
- }
- ,
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- itemExists = false;
- });
- }
- });
- if(itemExists == false)
- return;
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#zoneid").text(fromdb(jsonObj.zoneid));
-
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#name_edit").val(fromdb(jsonObj.name));
-
- $thisTab.find("#displaytext").text(fromdb(jsonObj.displaytext));
- $thisTab.find("#displaytext_edit").val(fromdb(jsonObj.displaytext));
-
- $thisTab.find("#hypervisor").text(fromdb(jsonObj.hypervisor));
- $thisTab.find("#templatetype").text(fromdb(jsonObj.templatetype));
-
-
- //refresh status field every 2 seconds if template is in download progress
- if(jsonObj.isready == true){
- setTemplateStateInRightPanel("Ready", $thisTab.find("#status"));
- $("#progressbar_container").hide();
- }
- else if(jsonObj.status == null || jsonObj.status == "" || jsonObj.status.indexOf("%") != -1) { //template is downloading....
- $("#progressbar_container").show();
- setTemplateStateInRightPanel(fromdb(jsonObj.status), $thisTab.find("#status"));
- var progressBarValue = 0;
- if(jsonObj.status != null && jsonObj.status.indexOf("%") != -1) { //e.g. jsonObj.status == "95% Downloaded"
- var s = jsonObj.status.substring(0, jsonObj.status.indexOf("%")); //e.g. s == "95"
- if(isNaN(s) == false) {
- progressBarValue = parseInt(s); //e.g. progressBarValue == 95
- }
- }
- $("#progressbar").progressbar({
- value: progressBarValue //e.g. progressBarValue == 95
- });
-
- $("body").everyTime(
- 2000,
- timerKey,
- function() {
- templateRefreshStatusDownloadProgress(jsonObj, $thisTab, $midmenuItem1, timerKey);
- }
- )
- }
- else { //error status
- setTemplateStateInRightPanel(fromdb(jsonObj.status), $thisTab.find("#status"));
- $("#progressbar_container").hide();
- }
-
- if(jsonObj.size != null)
- $thisTab.find("#size").text(convertBytes(parseInt(jsonObj.size)));
- else
- $thisTab.find("#size").text("");
-
- setBooleanReadField(jsonObj.isextractable, $thisTab.find("#isextractable"));
-
- setBooleanReadField(jsonObj.passwordenabled, $thisTab.find("#passwordenabled"));
- setBooleanEditField(jsonObj.passwordenabled, $thisTab.find("#passwordenabled_edit"));
-
- setBooleanReadField(jsonObj.ispublic, $thisTab.find("#ispublic"));
- setBooleanEditField(jsonObj.ispublic, $thisTab.find("#ispublic_edit"));
-
- setBooleanReadField(jsonObj.isfeatured, $thisTab.find("#isfeatured"));
- setBooleanEditField(jsonObj.isfeatured, $thisTab.find("#isfeatured_edit"));
-
- setBooleanReadField(jsonObj.crossZones, $thisTab.find("#crossZones"));
-
- $thisTab.find("#ostypename").text(fromdb(jsonObj.ostypename));
- $thisTab.find("#ostypename_edit").val(jsonObj.ostypeid);
-
- $thisTab.find("#account").text(fromdb(jsonObj.account));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- setDateField(jsonObj.created, $thisTab.find("#created"));
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- var noAvailableActions = true;
-
- // "Edit Template", "Copy Template", "Create VM"
- //if ((isUser() && jsonObj.ispublic == true && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account))
- if ((isAdmin() == false && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)) //if neither root-admin, nor item owner
- || jsonObj.templatetype == "SYSTEM" || jsonObj.isready == false) {
- //do nothing
- }
- else {
- buildActionLinkForTab("label.action.edit.template", templateActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- buildActionLinkForTab("label.action.copy.template", templateActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- // For Beta2, this simply doesn't work without a network.
- //buildActionLinkForTab("label.action.create.vm", templateActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- noAvailableActions = false;
- }
-
- // "Download Template"
- //if (((isUser() && jsonObj.ispublic == true && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)))
- if (((isAdmin() == false && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account))) //if neither root-admin, nor item owner
- || (jsonObj.isready == false) || jsonObj.templatetype == "SYSTEM") {
- //do nothing
- }
- else {
- buildActionLinkForTab("label.action.download.template", templateActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
-
- // "Delete Template"
- //if (((isUser() && jsonObj.ispublic == true && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account)))
- if (((isAdmin() == false && !(jsonObj.domainid == g_domainid && jsonObj.account == g_account))) //if neither root-admin, nor item owner
- || (jsonObj.isready == false && jsonObj.status != null && jsonObj.status.indexOf("Downloaded") != -1)
- || jsonObj.templatetype == "SYSTEM") {
- //do nothing
- }
- else {
- buildActionLinkForTab("label.action.delete.template", templateActionMap, $actionMenu, $midmenuItem1, $thisTab);
- noAvailableActions = false;
- }
-
- // no available actions
- if(noAvailableActions == true) {
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
- }
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function templateRefreshStatusDownloadProgress(oldJsonObj, $thisTab, $midmenuItem1, timerKey) {
- var strCmd = "command=listTemplates&templatefilter=self&id="+oldJsonObj.id;
-
- if(oldJsonObj.zoneid != null)
- strCmd = strCmd +"&zoneid="+oldJsonObj.zoneid;
- $.ajax({
- data: createURL(strCmd),
- dataType: "json",
- success: function(json) {
- var items = json.listtemplatesresponse.template;
- if(items != null && items.length > 0) {
- var jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
-
- if(jsonObj.isready == true) {
- setTemplateStateInRightPanel("Ready", $thisTab.find("#status"));
- $("#progressbar_container").hide();
- $("body").stopTime(timerKey);
- }
- else {
- if(jsonObj.status != null && jsonObj.status != "" && jsonObj.status.indexOf("%") == -1) { //error state
- setTemplateStateInRightPanel(fromdb(jsonObj.status), $thisTab.find("#status"));
- $("#progressbar_container").hide();
- $("body").stopTime(timerKey);
- }
- else {
- setTemplateStateInRightPanel(fromdb(jsonObj.status), $thisTab.find("#status"));
- var progressBarValue = 0;
- if(jsonObj.status != null && jsonObj.status.indexOf("%") != -1) { //e.g. jsonObj.status == "95% Downloaded"
- var s = jsonObj.status.substring(0, jsonObj.status.indexOf("%")); //e.g. s == "95"
- if(isNaN(s) == false) {
- progressBarValue = parseInt(s); //e.g. progressBarValue == 95
- }
- }
- $("#progressbar").progressbar({
- value: progressBarValue //e.g. progressBarValue == 95
- });
- }
- }
- }
- }
- });
-}
-
-//setIconByOsType() is shared by template page and ISO page
-function setIconByOsType(osType, $field) {
- if (osType == null || osType.length == 0)
- return;
- if (osType.match("^CentOS") != null)
- $field.attr("src", "images/midmenuicon_template_centos.png");
- else if (osType.match("^Windows") != null)
- $field.attr("src", "images/midmenuicon_template_windows.png");
- else
- $field.attr("src", "images/midmenuicon_template_linux.png");
-}
-
-function templateClearRightPanel() {
- templateClearDetailsTab();
-}
-
-function templateClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
-
- $thisTab.find("#grid_header_title").text("");
-
- $thisTab.find("#id").text("");
- $thisTab.find("#zonename").text("");
- $thisTab.find("#zoneid").text("");
-
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
-
- $thisTab.find("#displaytext").text("");
- $thisTab.find("#displaytext_edit").val("");
-
- $thisTab.find("#hypervisor").text("");
- $thisTab.find("#templatetype").text("");
-
- $thisTab.find("#status").text("");
-
- $thisTab.find("#passwordenabled").text("");
- $thisTab.find("#passwordenabled_edit").val(null);
-
- $thisTab.find("#ispublic").text("");
- $thisTab.find("#ispublic_edit").val(null);
-
- $thisTab.find("#isfeatured").text("");
- $thisTab.find("#isfeatured_edit").val(null);
-
- $thisTab.find("#crossZones").text("");
-
- $thisTab.find("#ostypename").text("");
- $thisTab.find("#ostypename_edit").val(null);
-
- $thisTab.find("#account").text("");
- $thisTab.find("#domain").text("");
-
- $thisTab.find("#size").text("");
- $thisTab.find("#created").text("");
-}
-
-var templateActionMap = {
- "label.action.edit.template": {
- dialogBeforeActionFn : doEditTemplate
- },
- "label.action.delete.template": {
- isAsyncJob: true,
- asyncJobResponse: "deletetemplateresponse",
- dialogBeforeActionFn : doDeleteTemplate,
- inProcessText: "label.action.delete.template.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){
- var jsonObj = $midmenuItem1.data("jsonObj");
- $midmenuItem1.remove();
- if((jsonObj.id == $("#right_panel_content").find("#tab_content_details").find("#id").text())
- && ((jsonObj.zoneid == null) || (jsonObj.zoneid != null && jsonObj.zoneid == $("#right_panel_content").find("#tab_content_details").find("#zoneid").text()))) {
- clearRightPanel();
- isoClearRightPanel();
- }
-
- /*
- $midmenuItem1.slideUp("slow", function() {
- $(this).remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- templateClearRightPanel();
- }
- });
- */
- }
- },
- "label.action.copy.template": {
- isAsyncJob: true,
- asyncJobResponse: "copytemplateresponse",
- dialogBeforeActionFn : doCopyTemplate,
- inProcessText: "label.action.copy.template.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){}
- }
- ,
- "label.action.create.vm": {
- isAsyncJob: true,
- asyncJobResponse: "deployvirtualmachineresponse",
- dialogBeforeActionFn : doCreateVMFromTemplate,
- inProcessText: "label.action.create.vm.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){}
- },
- "label.action.download.template": {
- dialogBeforeActionFn : doDownloadTemplate
- }
-}
-
-function doEditTemplate($actionLink, $detailsTab, $midmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditTemplate2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditTemplate2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $editFields) {
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"));
- isValid &= validateString("Display Text", $detailsTab.find("#displaytext_edit"), $detailsTab.find("#displaytext_edit_errormsg"));
- if (!isValid)
- return;
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var midmenuId = templateGetMidmenuId(jsonObj);
-
- var array1 = [];
- var oldName = jsonObj.name
- var newName = trim($detailsTab.find("#name_edit").val());
- if(newName != oldName)
- array1.push("&name="+todb(newName));
-
- var oldDesc = jsonObj.displaytext;
- var newDesc = trim($detailsTab.find("#displaytext_edit").val());
- if(newDesc != oldDesc)
- array1.push("&displaytext="+todb(newDesc));
-
- var oldPasswordEnabled = jsonObj.passwordenabled.toString();
- var newPasswordEnabled = $detailsTab.find("#passwordenabled_edit").val();
- if(newPasswordEnabled != oldPasswordEnabled)
- array1.push("&passwordenabled="+newPasswordEnabled);
-
- var oldOsTypeId = jsonObj.ostypeid;
- var newOsTypeId = $detailsTab.find("#ostypename_edit").val();
- if(newOsTypeId != oldOsTypeId)
- array1.push("&ostypeid="+newOsTypeId);
-
- if(array1.length > 0) {
- $.ajax({
- data: createURL("command=updateTemplate&id="+id+array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- $detailsTab.find("#name").text(newName);
- $midmenuItem1.find("#first_row").text(newName.substring(0,25));
- $detailsTab.find("#displaytext").text(newDesc);
- setBooleanReadField(newPasswordEnabled, $detailsTab.find("#passwordenabled"));
- $detailsTab.find("#ostypename").text($detailsTab.find("#ostypename_edit option:selected").text());
-
- jsonObj.name = newName;
- jsonObj.displaytext = newDesc;
- jsonObj.passwordenabled = (newPasswordEnabled == "true");
- jsonObj.ostypeid = parseInt(newOsTypeId);
- jsonObj.ostypename = $detailsTab.find("#ostypename_edit option:selected").text();
- }
- });
- }
-
- //updateTemplatePermissions
- var array2 = [];
- var oldIsPublic = jsonObj.ispublic.toString();
- var newIsPublic = $detailsTab.find("#ispublic_edit").val();
- if(newIsPublic != oldIsPublic)
- array2.push("&ispublic="+newIsPublic);
-
- var oldIsFeatured = jsonObj.isfeatured.toString();
- var newIsFeatured = $detailsTab.find("#isfeatured_edit").val();
- if(newIsFeatured != oldIsFeatured)
- array2.push("&isfeatured="+newIsFeatured);
-
- if(array2.length > 0) {
- $.ajax({
- data: createURL("command=updateTemplatePermissions&id="+id+array2.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- setBooleanReadField(newIsPublic, $detailsTab.find("#ispublic"));
- setBooleanReadField(newIsFeatured, $detailsTab.find("#isfeatured"));
-
- jsonObj.ispublic = (newIsPublic == "true");
- jsonObj.isfeatured = (newIsFeatured == "true");
- }
- });
- }
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
-}
-
-function doDeleteTemplate($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var name = jsonObj.name;
- var zoneId = jsonObj.zoneid;
-
- var moreCriteria = [];
- if (zoneId != null)
- moreCriteria.push("&zoneid="+zoneId);
-
- var $dialog1;
- if(jsonObj.crossZones == true)
- $dialog1 = $("#dialog_confirmation").text(dictionary["message.action.delete.template.for.all.zones"]);
- else
- $dialog1 = $("#dialog_confirmation").text(dictionary["message.action.delete.template"]);
-
- $dialog1
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- $("body").stopTime("templateDownloadProgress");
- var apiCommand = "command=deleteTemplate&id="+id+moreCriteria.join("");
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function populateZoneFieldExcludeSourceZone(zoneField, excludeZoneId) {
- zoneField.empty();
- if (g_zoneIds != null && g_zoneIds.length > 0) {
- for (var i = 0; i < g_zoneIds.length; i++) {
- if(g_zoneIds[i] != excludeZoneId)
- zoneField.append("" + fromdb(g_zoneNames[i]) + " ");
- }
- }
-}
-
-function doCopyTemplate($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var name = jsonObj.name;
- var sourceZoneId = jsonObj.zoneid;
-
- populateZoneFieldExcludeSourceZone($("#dialog_copy_template #copy_template_zone"), sourceZoneId);
-
- $("#dialog_copy_template #copy_template_name_text").text(name);
-
- var sourceZoneName = jsonObj.zonename;
- $("#dialog_copy_template #copy_template_source_zone_text").text(sourceZoneName);
-
- $("#dialog_copy_template")
- .dialog('option', 'buttons', {
- "OK": function() {
- var thisDialog = $(this);
- thisDialog.dialog("close");
-
- var isValid = true;
- isValid &= validateDropDownBox("Zone", thisDialog.find("#copy_template_zone"), thisDialog.find("#copy_template_zone_errormsg"), false); //reset error text
- if (!isValid) return;
-
- var destZoneId = thisDialog.find("#copy_template_zone").val();
-
- var apiCommand = "command=copyTemplate&id="+id+"&sourcezoneid="+sourceZoneId+"&destzoneid="+destZoneId;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doCreateVMFromTemplate($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var name = jsonObj.name;
- var zoneId = jsonObj.zoneid;
-
- var createVmDialog = $("#dialog_create_vm_from_template");
- createVmDialog.find("#p_name").text(name);
-
- createVmDialog
- .dialog('option', 'buttons', {
- "Create": function() {
- var thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", thisDialog.find("#name"), thisDialog.find("#name_errormsg"), true);
- isValid &= validateString("Group", thisDialog.find("#group"), thisDialog.find("#group_errormsg"), true);
- if(thisDialog.find("#size_container").css("display") != "none")
- isValid &= validateInteger("Size", thisDialog.find("#size"), thisDialog.find("#size_errormsg"));
- if (!isValid)
- return;
-
- thisDialog.dialog("close");
-
- var array1 = [];
- var name = trim(thisDialog.find("#name").val());
- array1.push("&displayname="+todb(name));
-
- var group = trim(thisDialog.find("#group").val());
- array1.push("&group="+todb(group));
-
- var serviceOfferingId = thisDialog.find("#service_offering").val();
- array1.push("&serviceOfferingId="+serviceOfferingId);
-
- var diskOfferingId = thisDialog.find("#disk_offering").val();
- if(diskOfferingId != null && diskOfferingId.length > 0)
- array1.push("&diskOfferingId="+diskOfferingId);
-
- if(thisDialog.find("#size_container").css("display") != "none") {
- var size = thisDialog.find("#size").val()
- array1.push("&size="+size);
- }
-
- var apiCommand = "command=deployVirtualMachine&zoneId="+zoneId+"&templateId="+id+array1.join("");
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDownloadTemplate($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var zoneId = jsonObj.zoneid;
-
- var apiCommand = "command=extractTemplate&id="+id+"&zoneid="+zoneId+"&mode=HTTP_DOWNLOAD";
-
- var $dialogDownloadTemplate = $("#dialog_download_template");
- $spinningWheel = $dialogDownloadTemplate.find("#spinning_wheel");
- $spinningWheel.show();
- var $infoContainer = $dialogDownloadTemplate.find("#info_container");
- $infoContainer.hide();
-
- $dialogDownloadTemplate
- .dialog('option', 'buttons', {
- "Close": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- $.ajax({
- data: createURL(apiCommand),
- dataType: "json",
- success: function(json) {
- var jobId = json.extracttemplateresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 2000, //this API returns fast. So, set 2 seconds instead of 10 seconds.
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- $infoContainer.removeClass("error");
- $infoContainer.find("#icon,#info").removeClass("error");
- var url = decodeURIComponent(json.queryasyncjobresultresponse.jobresult.template.url);
- var htmlMsg = dictionary["message.download.template"];
- var htmlMsg2 = htmlMsg.replace(/#/, url).replace(/00000/, url);
- $infoContainer.find("#info").html(htmlMsg2);
- $infoContainer.show();
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- handleErrorInDialog2(errorMsg, $dialogDownloadTemplate);
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $dialogDownloadTemplate);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $dialogDownloadTemplate);
- });
- }
- });
- //???
-}
diff --git a/ui/old/scripts/cloud.core.volume.js b/ui/old/scripts/cloud.core.volume.js
deleted file mode 100644
index 2993b6c7849..00000000000
--- a/ui/old/scripts/cloud.core.volume.js
+++ /dev/null
@@ -1,1157 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function volumeGetSearchParams() {
- var moreCriteria = [];
-
- var searchInput = $("#basic_search").find("#search_input").val();
- if (searchInput != null && searchInput.length > 0) {
- moreCriteria.push("&keyword="+todb(searchInput));
- }
-
- var $advancedSearchPopup = getAdvancedSearchPopupInSearchContainer();
- if ($advancedSearchPopup.length > 0 && $advancedSearchPopup.css("display") != "none" ) {
- var zone = $advancedSearchPopup.find("#adv_search_zone").val();
- if (zone!=null && zone.length > 0)
- moreCriteria.push("&zoneId="+zone);
-
- if ($advancedSearchPopup.find("#adv_search_domain_li").css("display") != "none"
- && $advancedSearchPopup.find("#domain").hasClass("textwatermark") == false) {
- var domainName = $advancedSearchPopup.find("#domain").val();
- if (domainName != null && domainName.length > 0) {
- var domainId;
- if(autoCompleteDomains != null && autoCompleteDomains.length > 0) {
- for(var i=0; i < autoCompleteDomains.length; i++) {
- if(fromdb(autoCompleteDomains[i].name).toLowerCase() == domainName.toLowerCase()) {
- domainId = autoCompleteDomains[i].id;
- break;
- }
- }
- }
- if(domainId == null) {
- showError(false, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), g_dictionary["label.not.found"]);
- }
- else { //e.g. domainId == 5 (number)
- showError(true, $advancedSearchPopup.find("#domain"), $advancedSearchPopup.find("#domain_errormsg"), null)
- moreCriteria.push("&domainid="+todb(domainId));
- }
- }
- }
-
- if ($advancedSearchPopup.find("#adv_search_account_li").css("display") != "none"
- && $advancedSearchPopup.find("#adv_search_account").hasClass("textwatermark") == false) {
- var account = $advancedSearchPopup.find("#adv_search_account").val();
- if (account!=null && account.length > 0)
- moreCriteria.push("&account="+account);
- }
- }
-
- return moreCriteria.join("");
-}
-
-function afterLoadVolumeJSP() {
- initDialog("dialog_create_template", 420);
- initDialog("dialog_create_snapshot");
- initDialog("dialog_recurring_snapshot", 420);
- initDialog("dialog_add_volume");
- initDialog("dialog_attach_volume");
- initDialog("dialog_add_volume_from_snapshot");
- initDialog("dialog_create_template_from_snapshot", 450);
- initDialog("dialog_download_volume");
-
- if(isAdmin())
- $("#dialog_create_template_from_snapshot").find("#isfeatured_container").show();
- else
- $("#dialog_create_template_from_snapshot").find("#isfeatured_container").hide();
-
- $.ajax({
- data: createURL("command=listOsTypes"),
- dataType: "json",
- success: function(json) {
- types = json.listostypesresponse.ostype;
- if (types != null && types.length > 0) {
- var osTypeField1 = $("#dialog_create_template #create_template_os_type").empty();
- var osTypeField2 = $("#dialog_create_template_from_snapshot #os_type").empty();
- for (var i = 0; i < types.length; i++) {
- osTypeField1.append("" + types[i].description + " ");
- osTypeField2.append("" + types[i].description + " ");
- }
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listZones&available=true"),
- dataType: "json",
- success: function(json) {
- var zones = json.listzonesresponse.zone;
- var volumeZoneSelect = $("#dialog_add_volume").find("#volume_zone").empty();
- if (zones != null && zones.length > 0) {
- for (var i = 0; i < zones.length; i++) {
- volumeZoneSelect.append("" + fromdb(zones[i].name) + " ");
- }
- }
- }
- });
-
- $.ajax({
- data: createURL("command=listDiskOfferings"),
- dataType: "json",
- success: function(json) {
- var offerings = json.listdiskofferingsresponse.diskoffering;
- var volumeDiskOfferingSelect = $("#dialog_add_volume").find("#volume_diskoffering").empty();
- if (offerings != null && offerings.length > 0) {
- for (var i = 0; i < offerings.length; i++) {
- var $option = $("" + fromdb(offerings[i].displaytext) + " ");
- $option.data("jsonObj", offerings[i]);
- volumeDiskOfferingSelect.append($option);
- }
- $("#dialog_add_volume").find("#volume_diskoffering").change();
- }
- }
- });
-
- $("#dialog_add_volume").find("#volume_diskoffering").unbind("change").bind("change", function(event) {
- var jsonObj = $(this).find("option:selected").data("jsonObj");
- if(jsonObj != null && jsonObj.iscustomized == true) {
- $("#dialog_add_volume").find("#size_container").show();
- }
- else {
- $("#dialog_add_volume").find("#size_container").hide();
- $("#dialog_add_volume").find("#size").val("");
- }
- });
-
- //add volume button ***
- $("#add_volume_button").unbind("click").bind("click", function(event) {
- $("#dialog_add_volume")
- .dialog('option', 'buttons', {
- "Add": function() {
- var thisDialog = $(this);
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", thisDialog.find("#add_volume_name"), thisDialog.find("#add_volume_name_errormsg"));
- if(thisDialog.find("#size_container").css("display") != "none")
- isValid &= validateInteger("Size", thisDialog.find("#size"), thisDialog.find("#size_errormsg"));
- if (!isValid) return;
-
- thisDialog.dialog("close");
-
- var array1 = [];
-
- var name = thisDialog.find("#add_volume_name").val();
- array1.push("&name="+todb(name));
-
- var zoneId = thisDialog.find("#volume_zone").val();
- array1.push("&zoneId="+zoneId);
-
- var diskofferingId = thisDialog.find("#volume_diskoffering").val();
- array1.push("&diskOfferingId="+diskofferingId);
-
- if(thisDialog.find("#size_container").css("display") != "none") {
- var size = thisDialog.find("#size").val()
- array1.push("&size="+size);
- }
-
- var $midmenuItem1 = beforeAddingMidMenuItem() ;
-
- $.ajax({
- data: createURL("command=createVolume"+array1.join("")),
- dataType: "json",
- success: function(json) {
- var jobId = json.createvolumeresponse.jobid;
- var timerKey = "createVolumeJob_"+jobId;
-
- $("body").everyTime(2000, timerKey, function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- if (result.jobstatus == 1) {
- // Succeeded
- volumeToMidmenu(result.jobresult.volume, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, volumeToRightPanel, getMidmenuId);
- afterAddingMidMenuItem($midmenuItem1, true);
- } else if (result.jobstatus == 2) {
- //afterAddingMidMenuItem($midmenuItem1, false, g_dictionary["label.adding.failed"]);
- afterAddingMidMenuItem($midmenuItem1, false, fromdb(result.jobresult.errortext));
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- }, 0);
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- afterAddingMidMenuItem($midmenuItem1, false, parseXMLHttpResponse(XMLHttpResponse));
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- return false;
- });
-
- $("#snapshot_interval").change(function(event) {
- var thisElement = $(this);
- var snapshotInterval = thisElement.val();
- var $snapshotIntervalOption = thisElement.find("#snapshot_interval_"+snapshotInterval);
- var jsonObj = $snapshotIntervalOption.data("jsonObj");
- var $dialog = $("#dialog_recurring_snapshot");
- if (jsonObj == undefined || jsonObj == null) {
- $dialog.find("#policy_enabled").text("Disabled");
- } else {
- $dialog.find("#policy_enabled").text("Enabled");
- }
- $dialog.find("#info_container").hide();
- switch (snapshotInterval) {
- case "0":
- $dialog.find("#edit_time_colon, #edit_hour_container, #edit_meridiem_container, #edit_day_of_week_container, #edit_day_of_month_container").hide();
- $dialog.find("#edit_past_the_hour, #edit_minute_container").show();
- if (jsonObj != null) {
- $dialog.find("#edit_minute").val(jsonObj.schedule);
- $dialog.find("#edit_max").val(jsonObj.maxsnaps);
- $dialog.find("#edit_timezone").val(jsonObj.timezone);
- } else {
- $dialog.find("#edit_minute").val("");
- $dialog.find("#edit_max").val("");
- $dialog.find("#edit_timezone").val("");
- }
- $dialog.find("#snapshot_form").show();
- break;
- case "1":
- $dialog.find("#edit_past_the_hour, #edit_day_of_week_container, #edit_day_of_month_container").hide();
- $dialog.find("#edit_minute_container, #edit_hour_container, #edit_meridiem_container").show();
-
- if (jsonObj != null) {
- var parts = jsonObj.schedule.split(":");
- var hour12, meridiem;
- var hour24 = parts[1];
- if(hour24 < 12) {
- hour12 = hour24;
- meridiem = "AM";
- }
- else {
- hour12 = hour24 - 12;
- meridiem = "PM"
- }
- if (hour12 < 10 && hour12.toString().length==1)
- hour12 = "0"+hour12.toString();
-
- $dialog.find("#edit_minute").val(parts[0]);
- $dialog.find("#edit_hour").val(hour12);
- $dialog.find("#edit_meridiem").val(meridiem);
- $dialog.find("#edit_max").val(jsonObj.maxsnaps);
- $dialog.find("#edit_timezone").val(jsonObj.timezone);
- } else {
- $dialog.find("#edit_minute").val("");
- $dialog.find("#edit_hour").val("");
- $dialog.find("#edit_meridiem").val("");
- $dialog.find("#edit_max").val("");
- $dialog.find("#edit_timezone").val("");
- }
- $dialog.find("#snapshot_form").show();
- break;
- case "2":
- $dialog.find("#edit_past_the_hour, #edit_day_of_month_container").hide();
- $dialog.find("#edit_minute_container, #edit_hour_container, #edit_meridiem_container, #edit_day_of_week_container").show();
-
- if (jsonObj != null) {
- var parts = jsonObj.schedule.split(":");
- var hour12, meridiem;
- var hour24 = parts[1];
- if(hour24 < 12) {
- hour12 = hour24;
- meridiem = "AM";
- }
- else {
- hour12 = hour24 - 12;
- meridiem = "PM"
- }
- if (hour12 < 10 && hour12.toString().length==1)
- hour12 = "0"+hour12.toString();
-
- $dialog.find("#edit_minute").val(parts[0]);
- $dialog.find("#edit_hour").val(hour12);
- $dialog.find("#edit_meridiem").val(meridiem);
- $dialog.find("#edit_day_of_week").val(parts[2]);
- $dialog.find("#edit_max").val(jsonObj.maxsnaps);
- $dialog.find("#edit_timezone").val(jsonObj.timezone);
- } else {
- $dialog.find("#edit_minute").val("");
- $dialog.find("#edit_hour").val("");
- $dialog.find("#edit_meridiem").val("");
- $dialog.find("#edit_day_of_week").val("");
- $dialog.find("#edit_max").val("");
- $dialog.find("#edit_timezone").val("");
- }
- $dialog.find("#snapshot_form").show();
- break;
- case "3":
- $dialog.find("#edit_past_the_hour, #edit_day_of_week_container").hide();
- $dialog.find("#edit_minute_container, #edit_hour_container, #edit_meridiem_container, #edit_day_of_month_container").show();
-
- if (jsonObj != null) {
- var parts = jsonObj.schedule.split(":");
- var hour12, meridiem;
- var hour24 = parts[1];
- if(hour24 < 12) {
- hour12 = hour24;
- meridiem = "AM";
- }
- else {
- hour12 = hour24 - 12;
- meridiem = "PM"
- }
- if (hour12 < 10 && hour12.toString().length==1)
- hour12 = "0"+hour12.toString();
- $dialog.find("#edit_minute").val(parts[0]);
- $dialog.find("#edit_hour").val(hour12);
- $dialog.find("#edit_meridiem").val(meridiem);
- $dialog.find("#edit_day_of_month").val(parts[2]);
- $dialog.find("#edit_max").val(jsonObj.maxsnaps);
- $dialog.find("#edit_timezone").val(jsonObj.timezone);
- } else {
- $dialog.find("#edit_minute").val("");
- $dialog.find("#edit_hour").val("");
- $dialog.find("#edit_meridiem").val("");
- $dialog.find("#edit_day_of_month").val("");
- $dialog.find("#edit_max").val("");
- $dialog.find("#edit_timezone").val("");
- }
- $dialog.find("#snapshot_form").show();
- break;
- }
- });
- // *** recurring snapshot dialog - event binding (end) ******************************
-
- //***** switch between different tabs (begin) ********************************************************************
- var tabArray = [$("#tab_details"), $("#tab_snapshot")];
- var tabContentArray = [$("#tab_content_details"), $("#tab_content_snapshot")];
- var afterSwitchFnArray = [volumeJsonToDetailsTab, volumeJsonToSnapshotTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
- //***** switch between different tabs (end) **********************************************************************
-}
-
-function volumeToMidmenu(jsonObj, $midmenuItem1) {
- $midmenuItem1.attr("id", getMidmenuId(jsonObj));
- $midmenuItem1.data("jsonObj", jsonObj);
-
- var $iconContainer = $midmenuItem1.find("#icon_container").show();
- $iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_volume.png");
-
- var firstRowText = fromdb(jsonObj.name);
- $midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
- $midmenuItem1.find("#first_row_container").attr("title", firstRowText);
-
- var secondRowText = fromdb(jsonObj.type);
- $midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
- $midmenuItem1.find("#second_row_container").attr("title", secondRowText);
-}
-
-function volumeToRightPanel($midmenuItem1) {
- copyActionInfoFromMidMenuToRightPanel($midmenuItem1);
- $("#right_panel_content").data("$midmenuItem1", $midmenuItem1);
- $("#tab_details").click();
-}
-
-function volumeJsonToDetailsTab(){
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- volumeJsonClearDetailsTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- volumeJsonClearDetailsTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content #tab_content_details");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- var id = jsonObj.id;
-
- $.ajax({
- data: createURL("command=listVolumes&id="+id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listvolumesresponse.volume;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $midmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#zonename").text(fromdb(jsonObj.zonename));
- $thisTab.find("#device_id").text(fromdb(jsonObj.deviceid));
- $thisTab.find("#state").text(fromdb(jsonObj.state));
- $thisTab.find("#account").text(fromdb(jsonObj.account));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- $thisTab.find("#type").text(fromdb(jsonObj.type) + " (" + fromdb(jsonObj.storagetype) + " storage)");
- $thisTab.find("#size").text((jsonObj.size == "0") ? "" : convertBytes(jsonObj.size));
- if (jsonObj.virtualmachineid == null)
- $thisTab.find("#vm_name").text("detached");
- else
- $thisTab.find("#vm_name").text(getVmName(jsonObj.vmname, jsonObj.vmdisplayname) + " (" + fromdb(jsonObj.vmstate) + ")");
- setDateField(jsonObj.created, $thisTab.find("#created"));
-
- if(isAdmin()) {
- $thisTab.find("#storage").text(fromdb(jsonObj.storage));
- $thisTab.find("#storage_container").show();
- }
- else {
- $thisTab.find("#storage").text("");
- $thisTab.find("#storage_container").hide();
- }
-
-
- //actions ***
- var $actionMenu = $("#right_panel_content #tab_content_details #action_link #action_menu");
- $actionMenu.find("#action_list").empty();
-
- if(jsonObj.hypervisor != "Ovm") {
- buildActionLinkForTab("label.action.take.snapshot", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab); //show take snapshot
- buildActionLinkForTab("label.action.recurring.snapshot", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab); //show Recurring Snapshot
- }
-
- if(jsonObj.state != "Allocated")
- buildActionLinkForTab("label.action.download.volume", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- if(jsonObj.state != "Creating" && jsonObj.state != "Corrupted" && jsonObj.name != "attaching") {
- if(jsonObj.type=="ROOT") {
- if (jsonObj.vmstate == "Stopped") {
- buildActionLinkForTab("label.action.create.template", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab);
- }
- }
- else {
- if (jsonObj.virtualmachineid != null) {
- if (jsonObj.storagetype == "shared" && (jsonObj.vmstate == "Running" || jsonObj.vmstate == "Stopped" || jsonObj.vmstate == "Destroyed")) {
- buildActionLinkForTab("label.action.detach.disk", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab);
- }
- } else {
- // Disk not attached
- if (jsonObj.storagetype == "shared") {
- buildActionLinkForTab("label.action.attach.disk", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab);
-
- if(jsonObj.vmname == null || jsonObj.vmname == "none")
- buildActionLinkForTab("label.action.delete.volume", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab);
- }
- }
- }
- }
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function volumeJsonToSnapshotTab() {
- var $midmenuItem1 = $("#right_panel_content").data("$midmenuItem1");
- if($midmenuItem1 == null) {
- volumeClearSnapshotTab();
- return;
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- volumeClearSnapshotTab();
- return;
- }
-
- var $thisTab = $("#right_panel_content").find("#tab_content_snapshot");
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
-
- $.ajax({
- cache: false,
- data: createURL("command=listSnapshots&volumeid="+fromdb(jsonObj.id)),
- dataType: "json",
- success: function(json) {
- var $container = $thisTab.find("#tab_container").empty();
- var items = json.listsnapshotsresponse.snapshot;
- if (items != null && items.length > 0) {
- var template = $("#snapshot_tab_template");
- for (var i = 0; i < items.length; i++) {
- var newTemplate = template.clone(true);
- volumeSnapshotJSONToTemplate(items[i], newTemplate);
- $container.append(newTemplate.show());
- }
- }
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
- }
- });
-}
-
-function volumeClearSnapshotTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_snapshot");
- $thisTab.find("#tab_container").empty();
-}
-
-function volumeSnapshotJSONToTemplate(jsonObj, template) {
- template.data("jsonObj", jsonObj);
- template.attr("id", "volume_snapshot_"+fromdb(jsonObj.id)).data("volumeSnapshotId", fromdb(jsonObj.id));
- template.find("#grid_header_title").text(fromdb(jsonObj.name));
- template.find("#id").text(fromdb(jsonObj.id));
- template.find("#name").text(fromdb(jsonObj.name));
- template.find("#volumename").text(fromdb(jsonObj.volumename));
- template.find("#state").text(fromdb(jsonObj.state));
- template.find("#intervaltype").text(fromdb(jsonObj.intervaltype));
- template.find("#account").text(fromdb(jsonObj.account));
- template.find("#domain").text(fromdb(jsonObj.domain));
- setDateField(jsonObj.created, template.find("#created"));
-
- var $actionLink = template.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $actionLink.find("#action_menu");
- $actionMenu.find("#action_list").empty();
-
- if(jsonObj.state == "BackedUp") {
- buildActionLinkForSubgridItem("label.action.create.volume", volumeSnapshotActionMap, $actionMenu, template);
- buildActionLinkForSubgridItem("label.action.create.template", volumeSnapshotActionMap, $actionMenu, template);
- }
- buildActionLinkForSubgridItem("label.action.delete.snapshot", volumeSnapshotActionMap, $actionMenu, template);
-}
-
-function volumeClearRightPanel() {
- volumeJsonClearDetailsTab();
-}
-
-function volumeJsonClearDetailsTab(){
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#id").text("");
- $thisTab.find("#name").text("");
- $thisTab.find("#zonename").text("");
- $thisTab.find("#device_id").text("");
- $thisTab.find("#state").text("");
- $thisTab.find("#storage").text("");
- $thisTab.find("#account").text("");
- $thisTab.find("#type").text("");
- $thisTab.find("#size").text("");
- $thisTab.find("#vm_name").text("");
- $thisTab.find("#created").text("");
- $thisTab.find("#domain").text("");
-}
-
-var volumeActionMap = {
- "label.action.attach.disk": {
- isAsyncJob: true,
- asyncJobResponse: "attachvolumeresponse",
- dialogBeforeActionFn : doAttachDisk,
- inProcessText: "label.action.attach.disk.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- var jsonObj = json.queryasyncjobresultresponse.jobresult.volume;
- volumeToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.detach.disk": {
- api: "detachVolume",
- isAsyncJob: true,
- asyncJobResponse: "detachvolumeresponse",
- inProcessText: "label.action.detach.disk.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id){
- var jsonObj = json.queryasyncjobresultresponse.jobresult.volume;
- volumeToMidmenu(jsonObj, $midmenuItem1);
- }
- },
- "label.action.create.template": {
- isAsyncJob: true,
- asyncJobResponse: "createtemplateresponse",
- dialogBeforeActionFn : doCreateTemplateFromVolume,
- inProcessText: "label.action.create.template.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {}
- },
- "label.action.delete.volume": {
- api: "deleteVolume",
- isAsyncJob: false,
- dialogBeforeActionFn : doDeleteVolume,
- inProcessText: "label.action.delete.volume.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {
- $midmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- volumeClearRightPanel();
- }
- }
- },
- "label.action.take.snapshot": {
- isAsyncJob: true,
- asyncJobResponse: "createsnapshotresponse",
- dialogBeforeActionFn : doTakeSnapshot,
- inProcessText: "label.action.take.snapshot.processing",
- afterActionSeccessFn: function(json, $midmenuItem1, id) {}
- },
- "label.action.recurring.snapshot": {
- dialogBeforeActionFn : doRecurringSnapshot
- },
- "label.action.download.volume": {
- dialogBeforeActionFn : doDownloadVolume
- }
-}
-
-function doDownloadVolume($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
- var zoneId = jsonObj.zoneid;
-
- var apiCommand = "command=extractVolume&id="+id+"&zoneid="+zoneId+"&mode=HTTP_DOWNLOAD";
-
- var $dialogDownloadVolume = $("#dialog_download_volume");
- $spinningWheel = $dialogDownloadVolume.find("#spinning_wheel");
- $spinningWheel.show();
- var $infoContainer = $dialogDownloadVolume.find("#info_container");
- $infoContainer.hide();
-
- $dialogDownloadVolume
- .dialog('option', 'buttons', {
- "Close": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-
- $.ajax({
- data: createURL(apiCommand),
- dataType: "json",
- success: function(json) {
- var jobId = json.extractvolumeresponse.jobid;
- var timerKey = "asyncJob_" + jobId;
- $("body").everyTime(
- 2000, //this API returns fast. So, set 2 seconds instead of 10 seconds.
- timerKey,
- function() {
- $.ajax({
- data: createURL("command=queryAsyncJobResult&jobId="+jobId),
- dataType: "json",
- success: function(json) {
- var result = json.queryasyncjobresultresponse;
- if (result.jobstatus == 0) {
- return; //Job has not completed
- } else {
- $("body").stopTime(timerKey);
- $spinningWheel.hide();
- if (result.jobstatus == 1) { // Succeeded
- $infoContainer.removeClass("error");
- $infoContainer.find("#icon,#info").removeClass("error");
- var url = decodeURIComponent(json.queryasyncjobresultresponse.jobresult.volume.url);
- var htmlMsg = dictionary["message.download.volume"];
- var htmlMsg2 = htmlMsg.replace(/#/, url).replace(/00000/, url);
- $infoContainer.find("#info").html(htmlMsg2);
- $infoContainer.show();
- } else if (result.jobstatus == 2) { // Failed
- //var errorMsg = g_dictionary["label.failed"] + " - " + g_dictionary["label.error.code"] + " " + fromdb(result.jobresult.errorcode);
- var errorMsg = g_dictionary["label.failed"] + " - " + fromdb(result.jobresult.errortext);
- handleErrorInDialog2(errorMsg, $dialogDownloadVolume);
- }
- }
- },
- error: function(XMLHttpResponse) {
- $("body").stopTime(timerKey);
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $dialogDownloadVolume);
- });
- }
- });
- },
- 0
- );
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $dialogDownloadVolume);
- });
- }
- });
-}
-
-function doCreateTemplateFromVolume($actionLink, $detailsTab, $midmenuItem1) {
- if (getUserPublicTemplateEnabled() == "true" || isAdmin()) {
- $("#dialog_create_template #create_template_public_container").show();
- }
-
- var jsonObj = $midmenuItem1.data("jsonObj");
- $("#dialog_create_template").find("#volume_name").text(jsonObj.name);
-
- $("#dialog_create_template")
- .dialog('option', 'buttons', {
- "Create": function() {
- var thisDialog = $(this);
- thisDialog.dialog("close");
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", thisDialog.find("#create_template_name"), thisDialog.find("#create_template_name_errormsg"));
- isValid &= validateString("Display Text", thisDialog.find("#create_template_desc"), thisDialog.find("#create_template_desc_errormsg"));
- if (!isValid) return;
-
- var name = trim(thisDialog.find("#create_template_name").val());
- var desc = trim(thisDialog.find("#create_template_desc").val());
- var osType = thisDialog.find("#create_template_os_type").val();
- var isPublic = thisDialog.find("#create_template_public").val();
- var password = thisDialog.find("#create_template_password").val();
-
- var id = $midmenuItem1.data("jsonObj").id;
- var apiCommand = "command=createTemplate&volumeId="+id+"&name="+todb(name)+"&displayText="+todb(desc)+"&osTypeId="+osType+"&isPublic="+isPublic+"&passwordEnabled="+password;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDeleteVolume($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.volume"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=deleteVolume&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doTakeSnapshot($actionLink, $detailsTab, $midmenuItem1) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.take.snapshot"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
-
- var id = $midmenuItem1.data("jsonObj").id;
- var apiCommand = "command=createSnapshot&volumeid="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function clearTopPanel(target) { // "target == null" means target at all (hourly + daily + weekly + monthly)
- var dialogBox = $("#dialog_recurring_snapshot");
- if(target == "hourly" || target == null) {
- dialogBox.find("#dialog_snapshot_hourly_info_unset").show();
- dialogBox.find("#dialog_snapshot_hourly_info_set").hide();
- dialogBox.find("#read_hourly_max, #read_hourly_minute").text("N/A");
- dialogBox.find("#hourly_edit_link, #hourly_delete_link").data("intervalType", "hourly").data("max", "").data("timezone", (g_timezone==null)?"Etc/GMT+12":g_timezone).data("minute", "00");
- }
- if(target == "daily" || target == null) {
- dialogBox.find("#dialog_snapshot_daily_info_unset").show();
- dialogBox.find("#dialog_snapshot_daily_info_set").hide();
- dialogBox.find("#read_daily_max, #read_daily_minute, #read_daily_hour, #read_daily_meridiem").text("N/A");
- dialogBox.find("#daily_edit_link, #daily_delete_link").data("intervalType", "daily").data("max", "").data("timezone", (g_timezone==null)?"Etc/GMT+12":g_timezone).data("minute", "00").data("hour12", "00").data("meridiem", "AM");
- }
- if(target == "weekly" || target == null) {
- dialogBox.find("#dialog_snapshot_weekly_info_unset").show();
- dialogBox.find("#dialog_snapshot_weekly_info_set").hide();
- dialogBox.find("#read_weekly_max, #read_weekly_minute, #read_weekly_hour, #read_weekly_meridiem, #read_weekly_day_of_week").text("N/A");
- dialogBox.find("#weekly_edit_link, #weekly_delete_link").data("intervalType", "weekly").data("max", "").data("timezone", (g_timezone==null)?"Etc/GMT+12":g_timezone).data("minute", "00").data("hour12", "00").data("meridiem", "AM").data("dayOfWeek", "1");
- }
- if(target == "monthly" || target == null) {
- dialogBox.find("#dialog_snapshot_monthly_info_unset").show();
- dialogBox.find("#dialog_snapshot_monthly_info_set").hide();
- dialogBox.find("#read_monthly_max, #read_monthly_minute, #read_monthly_hour, #read_monthly_meridiem, #read_monthly_day_of_month").text("N/A");
- dialogBox.find("#monthly_edit_link, #monthly_delete_link").data("intervalType", "monthly").data("max", "").data("timezone", (g_timezone==null)?"Etc/GMT+12":g_timezone).data("minute", "00").data("hour12", "00").data("meridiem", "AM").data("dayOfMonth", "1");
- }
-}
-
-function clearBottomPanel() {
- var dialogBox = $("#dialog_recurring_snapshot");
-
- dialogBox.find("#edit_hour").val("00");
- cleanErrMsg(dialogBox.find("#edit_hour"), dialogBox.find("#edit_time_errormsg"));
-
- dialogBox.find("#edit_minute").val("00");
- cleanErrMsg(dialogBox.find("#edit_minute"), dialogBox.find("#edit_time_errormsg"));
-
- dialogBox.find("#edit_meridiem").val("AM");
-
- dialogBox.find("#edit_max").val("");
- cleanErrMsg(dialogBox.find("#edit_max"), dialogBox.find("#edit_max_errormsg"));
-
- dialogBox.find("#edit_timezone").val((g_timezone==null)?"Etc/GMT+12":g_timezone);
- cleanErrMsg(dialogBox.find("#edit_timezone"), dialogBox.find("#edit_timezone_errormsg"));
-
- dialogBox.find("#edit_day_of_week").val("1");
- cleanErrMsg(dialogBox.find("#edit_day_of_week"), dialogBox.find("#edit_day_of_week_errormsg"));
-
- dialogBox.find("#edit_day_of_month").val("1");
- cleanErrMsg(dialogBox.find("#edit_day_of_month"), dialogBox.find("#edit_day_of_month_errormsg"));
-}
-
-function doRecurringSnapshot($actionLink, $detailsTab, $midmenuItem1) {
- var volumeId = $midmenuItem1.data("jsonObj").id;
-
- var dialogBox = $("#dialog_recurring_snapshot");
- clearTopPanel();
-
- $.ajax({
- data: createURL("command=listSnapshotPolicies&volumeid="+volumeId),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listsnapshotpoliciesresponse.snapshotpolicy;
- var $snapInterval = dialogBox.find("#snapshot_interval");
- $snapInterval.find("#snapshot_interval_0,#snapshot_interval_1,#snapshot_interval_2,#snapshot_interval_3").data("jsonObj", null);
- if(items!=null && items.length>0) {
- for (var i = 0; i < items.length; i++) {
- var item = items[i];
- $snapInterval.find("#snapshot_interval_"+item.intervaltype).data("jsonObj", item);
- }
- }
- clearBottomPanel();
- $snapInterval.val("0"); //default to hourly
- $snapInterval.change();
-
- dialogBox.dialog('option', 'buttons', {
- "Apply": function() {
- var thisDialog = $(this);
- var volumeId = thisDialog.data("volumeId");
- var bottomPanel = thisDialog.find("#dialog_snapshotright");
-
- var intervalType = thisDialog.find("#snapshot_interval").val();
- var minute, hour12, hour24, meridiem, dayOfWeek, dayOfWeekString, dayOfMonth, schedule, max, timezone;
- switch(intervalType) {
- case "0":
- var isValid = true;
- isValid &= validateInteger("Keep # of snapshots", bottomPanel.find("#edit_max"), bottomPanel.find("#edit_max_errormsg"));
- if (!isValid) return;
- intervalType = "hourly";
- minute = bottomPanel.find("#edit_minute").val();
- schedule = minute;
- max = bottomPanel.find("#edit_max").val();
- timezone = bottomPanel.find("#edit_timezone").val();
- break;
-
- case "1":
- var isValid = true;
- isValid &= validateInteger("Keep # of snapshots", bottomPanel.find("#edit_max"), bottomPanel.find("#edit_max_errormsg"));
- if (!isValid) return;
- intervalType = "daily";
- minute = bottomPanel.find("#edit_minute").val();
- hour12 = bottomPanel.find("#edit_hour").val();
- meridiem = bottomPanel.find("#edit_meridiem").val();
- if(meridiem=="AM")
- hour24 = hour12;
- else //meridiem=="PM"
- hour24 = (parseInt(hour12,10)+12).toString(); //specify number base to be 10. Otherwise, "08" and "09" will be treated as octal numbers (base 8).
- schedule = minute + ":" + hour24;
- max = bottomPanel.find("#edit_max").val();
- timezone = bottomPanel.find("#edit_timezone").val();
- break;
-
- case "2":
- var isValid = true;
- isValid &= validateInteger("Keep # of snapshots", bottomPanel.find("#edit_max"), bottomPanel.find("#edit_max_errormsg"));
- if (!isValid) return;
- intervalType = "weekly";
- minute = bottomPanel.find("#edit_minute").val();
- hour12 = bottomPanel.find("#edit_hour").val();
- meridiem = bottomPanel.find("#edit_meridiem").val();
- if(meridiem=="AM")
- hour24 = hour12;
- else //meridiem=="PM"
- hour24 = (parseInt(hour12,10)+12).toString(); //specify number base to be 10. Otherwise, "08" and "09" will be treated as octal numbers (base 8).
- dayOfWeek = bottomPanel.find("#edit_day_of_week").val();
- dayOfWeekString = bottomPanel.find("#edit_day_of_week option:selected").text();
- schedule = minute + ":" + hour24 + ":" + dayOfWeek;
- max = bottomPanel.find("#edit_max").val();
- timezone = bottomPanel.find("#edit_timezone").val();
- break;
-
- case "3":
- var isValid = true;
- isValid &= validateInteger("Keep # of snapshots", bottomPanel.find("#edit_max"), bottomPanel.find("#edit_max_errormsg"));
- if (!isValid) return;
- intervalType = "monthly";
- minute = bottomPanel.find("#edit_minute").val();
- hour12 = bottomPanel.find("#edit_hour").val();
- meridiem = bottomPanel.find("#edit_meridiem").val();
- if(meridiem=="AM")
- hour24 = hour12;
- else //meridiem=="PM"
- hour24 = (parseInt(hour12,10)+12).toString(); //specify number base to be 10. Otherwise, "08" and "09" will be treated as octal numbers (base 8).
- dayOfMonth = bottomPanel.find("#edit_day_of_month").val();
- schedule = minute + ":" + hour24 + ":" + dayOfMonth;
- max = bottomPanel.find("#edit_max").val();
- timezone = bottomPanel.find("#edit_timezone").val();
- break;
- }
- var thisLink;
- var $snapshotInterval = thisDialog.find("#snapshot_interval");
- var $snapshotIntervalOption = thisDialog.find("#snapshot_interval_"+$snapshotInterval.val());
- $.ajax({
- data: createURL("command=createSnapshotPolicy&intervaltype="+intervalType+"&schedule="+schedule+"&volumeid="+volumeId+"&maxsnaps="+max+"&timezone="+todb(timezone)),
- dataType: "json",
- success: function(json) {
- $snapshotIntervalOption.data("jsonObj", json.createsnapshotpolicyresponse.snapshotpolicy);
- $snapshotInterval.change();
- thisDialog.find("#info").text(dictionary["message.apply.snapshot.policy"]);
- thisDialog.find("#info_container").show();
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse);
- }
- });
- },
- "Disable": function() {
- var thisDialog = $(this);
- var $snapshotInterval = thisDialog.find("#snapshot_interval");
- var $snapshotIntervalOption = thisDialog.find("#snapshot_interval_"+$snapshotInterval.val());
- var jsonObj = $snapshotIntervalOption.data("jsonObj");
- if(jsonObj != null) {
- $.ajax({
- data: createURL("command=deleteSnapshotPolicies&id="+jsonObj.id),
- dataType: "json",
- success: function(json) {
- $snapshotIntervalOption.data("jsonObj", null);
- $snapshotInterval.change();
- thisDialog.find("#info").text(dictionary["message.disable.snapshot.policy"]);
- thisDialog.find("#info_container").show();
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse);
- }
- });
- }
- },
- "Close": function() {
- $(this).dialog("close");
- }
- }).dialog("open").data("volumeId", volumeId);
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse);
- }
- });
-}
-
-function populateVirtualMachineField(domainId, account, zoneId) {
- $.ajax({
- cache: false,
- data: createURL("command=listVirtualMachines&state=Running&zoneid="+zoneId+"&domainid="+domainId+"&account="+account),
- dataType: "json",
- success: function(json) {
- var instances = json.listvirtualmachinesresponse.virtualmachine;
- var volumeVmSelect = $("#dialog_attach_volume").find("#volume_vm").empty();
- if (instances != null && instances.length > 0) {
- for (var i = 0; i < instances.length; i++) {
- volumeVmSelect.append("" + getVmName(instances[i].name, instances[i].displayname) + " ");
- }
- }
- $.ajax({
- cache: false,
- data: createURL("command=listVirtualMachines&state=Stopped&zoneid="+zoneId+"&domainid="+domainId+"&account="+account),
- dataType: "json",
- success: function(json) {
- var instances = json.listvirtualmachinesresponse.virtualmachine;
- if (instances != null && instances.length > 0) {
- for (var i = 0; i < instances.length; i++) {
- volumeVmSelect.append("" + getVmName(instances[i].name, instances[i].displayname) + " ");
- }
- }
- }
- });
- }
- });
-}
-
-function doAttachDisk($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- populateVirtualMachineField(jsonObj.domainid, jsonObj.account, jsonObj.zoneid);
-
- $("#dialog_attach_volume")
- .dialog('option', 'buttons', {
- "OK": function() {
- var $thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateDropDownBox("Virtual Machine", $thisDialog.find("#volume_vm"), $thisDialog.find("#volume_vm_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.dialog("close");
-
- var virtualMachineId = $thisDialog.find("#volume_vm").val();
-
- var id = jsonObj.id;
- var apiCommand = "command=attachVolume&id="+id+'&virtualMachineId='+virtualMachineId;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-//Snapshot tab actions
-var volumeSnapshotActionMap = {
- "label.action.create.volume": {
- isAsyncJob: true,
- asyncJobResponse: "createvolumeresponse",
- dialogBeforeActionFn : doCreateVolumeFromSnapshotInVolumePage,
- inProcessText: "label.action.create.volume.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- var $midmenuItem1 = $("#midmenu_item").clone();
- var item = json.queryasyncjobresultresponse.jobresult.volume;
- volumeToMidmenu(item, $midmenuItem1);
- bindClickToMidMenu($midmenuItem1, volumeToRightPanel, getMidmenuId);
- $midmenuItem1.find("#info_icon").removeClass("error").show();
- $midmenuItem1.data("afterActionInfo", ("Creating volume from snapshot succeeded."));
- $("#midmenu_container").append($midmenuItem1.fadeIn("slow"));
- }
- }
- ,
- "label.action.delete.snapshot": {
- api: "deleteSnapshot",
- isAsyncJob: true,
- asyncJobResponse: "deletesnapshotresponse",
- dialogBeforeActionFn : doSnapshotDelete,
- inProcessText: "label.action.delete.snapshot.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {
- $subgridItem.slideUp("slow", function() {
- $(this).remove();
- });
- }
- }
- ,
- "label.action.create.template": {
- isAsyncJob: true,
- asyncJobResponse: "createtemplateresponse",
- dialogBeforeActionFn : doCreateTemplateFromSnapshotInVolumePage,
- inProcessText: "label.action.create.template.processing",
- afterActionSeccessFn: function(json, id, $subgridItem) {}
- }
-}
-
-function doSnapshotDelete($actionLink, $subgridItem) {
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.snapshot"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var id = $subgridItem.data("jsonObj").id;
- var apiCommand = "command=deleteSnapshot&id="+id;
- doActionToSubgridItem(id, $actionLink, apiCommand, $subgridItem);
- },
- "Cancel": function() {
- $(this).dialog("close");
-
- }
- }).dialog("open");
-}
-
-function doCreateVolumeFromSnapshotInVolumePage($actionLink, $subgridItem) {
- var jsonObj = $subgridItem.data("jsonObj");
-
- $("#dialog_add_volume_from_snapshot")
- .dialog("option", "buttons", {
- "Add": function() {
- var thisDialog = $(this);
-
- var isValid = true;
- isValid &= validateString("Name", thisDialog.find("#name"), thisDialog.find("#name_errormsg"));
- if (!isValid) return;
-
- thisDialog.dialog("close");
-
- var name = thisDialog.find("#name").val();
-
- var id = jsonObj.id;
- var apiCommand = "command=createVolume&snapshotid="+id+"&name="+fromdb(name);
- doActionToSubgridItem(id, $actionLink, apiCommand, $subgridItem);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doCreateTemplateFromSnapshotInVolumePage($actionLink, $subgridItem) {
- if (getUserPublicTemplateEnabled() == "true" || isAdmin()) {
- $("#dialog_create_template_from_snapshot #create_template_public_container").show();
- }
-
- var jsonObj = $subgridItem.data("jsonObj");
-
- $("#dialog_create_template_from_snapshot")
- .dialog("option", "buttons", {
- "Add": function() {
- var thisDialog = $(this);
- var isValid = true;
- isValid &= validateString("Name", thisDialog.find("#name"), thisDialog.find("#name_errormsg"), false);
- isValid &= validateString("Display Text", thisDialog.find("#display_text"), thisDialog.find("#display_text_errormsg"), false);
- if (!isValid)
- return;
-
- thisDialog.dialog("close");
-
- var array1 = [];
- var name = thisDialog.find("#name").val();
- array1.push("&name="+todb(name));
-
- var displayText = thisDialog.find("#display_text").val();
- array1.push("&displaytext="+todb(displayText));
-
- var osTypeId = thisDialog.find("#os_type").val();
- array1.push("&ostypeid="+osTypeId);
-
- var isPublic = thisDialog.find("#ispublic").val();
- array1.push("&isPublic="+isPublic);
-
- var password = thisDialog.find("#password").val();
- array1.push("&passwordEnabled="+password);
-
- if(thisDialog.find("#isfeatured_container").css("display")!="none") {
- var isFeatured = thisDialog.find("#isfeatured").val();
- array1.push("&isfeatured="+isFeatured);
- }
-
- var id = jsonObj.id;
- var apiCommand = "command=createTemplate&snapshotid="+id+array1.join("");
- doActionToSubgridItem(id, $actionLink, apiCommand, $subgridItem);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
diff --git a/ui/old/scripts/cloud.core.zone.js b/ui/old/scripts/cloud.core.zone.js
deleted file mode 100644
index 2e37102f6fd..00000000000
--- a/ui/old/scripts/cloud.core.zone.js
+++ /dev/null
@@ -1,1089 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function afterLoadZoneJSP($leftmenuItem1) {
- hideMiddleMenu();
-
- var $topButtonContainer = clearButtonsOnTop();
- $("#top_buttons").appendTo($topButtonContainer);
-
- initDialog("dialog_add_external_cluster_in_zone_page", 320);
- initDialog("dialog_add_pod", 370);
- initDialog("dialog_add_host_in_zone_page", 400);
- initDialog("dialog_add_pool_in_zone_page", 400);
-
- $.ajax({
- data: createURL("command=listHypervisors"),
- dataType: "json",
- success: function(json) {
- var items = json.listhypervisorsresponse.hypervisor;
- var $hypervisorDropdown = $("#dialog_add_external_cluster_in_zone_page").find("#cluster_hypervisor");
- if(items != null && items.length > 0) {
- for(var i=0; i"+fromdb(items[i].name)+"");
- }
- }
- }
- });
-
- //switch between different tabs in zone page
- var tabArray = [$("#tab_details")];
- var tabContentArray = [$("#tab_content_details")];
- var afterSwitchFnArray = [zoneJsonToDetailsTab];
- switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
-
- zoneRefreshDataBinding();
-}
-
-function zoneRefreshDataBinding() {
- cancelEditMode($("#tab_content_details"));
- var $zoneNode = $selectedSubMenu.parent();
- zoneJsonToRightPanel($zoneNode);
-}
-
-function zoneJsonToRightPanel($leftmenuItem1) {
- $("#right_panel_content").data("$leftmenuItem1", $leftmenuItem1);
-
- bindAddPodButton($("#add_pod_button"), $leftmenuItem1);
-
- var pods;
- var zoneObj = $leftmenuItem1.data("jsonObj");
- var zoneId = zoneObj.id;
- var zoneName = zoneObj.name;
-
- $.ajax({
- data: createURL("command=listPods&zoneid="+zoneId),
- dataType: "json",
- async: false,
- success: function(json) {
- pods = json.listpodsresponse.pod;
- }
- });
-
- bindAddClusterButtonOnZonePage($("#add_cluster_button"), zoneId, zoneName);
- bindAddHostButtonOnZonePage($("#add_host_button"), zoneId, zoneName);
- bindAddPrimaryStorageButtonOnZonePage($("#add_primarystorage_button"), zoneId, zoneName);
-
- $("#right_panel_content").find("#tab_details").click();
-}
-
-function zoneJsonClearRightPanel() {
- zoneClearDetailsTab();
-}
-
-function zoneJsonToDetailsTab() {
- var $leftmenuItem1 = $("#right_panel_content").data("$leftmenuItem1");
- if($leftmenuItem1 == null) {
- zoneClearDetailsTab();
- return;
- }
-
- var jsonObj = $leftmenuItem1.data("jsonObj");
- if(jsonObj == null) {
- zoneClearDetailsTab();
- return;
- }
-
- $.ajax({
- data: createURL("command=listZones&available=true&id="+jsonObj.id),
- dataType: "json",
- async: false,
- success: function(json) {
- var items = json.listzonesresponse.zone;
- if(items != null && items.length > 0) {
- jsonObj = items[0];
- $leftmenuItem1.data("jsonObj", jsonObj);
- }
- }
- });
-
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- if(jsonObj.domain == null) {
- $thisTab.find("#ispublic").text(g_dictionary["label.yes"]);
- $thisTab.find("#ispublic_edit").val("true");
- $readonlyFields = $("#tab_content_details").find("#name, #dns1, #dns2, #internaldns1, #internaldns2, #vlan, #guestcidraddress");
- $editFields = $("#tab_content_details").find("#name_edit, #dns1_edit, #dns2_edit, #internaldns1_edit, #internaldns2_edit, #startvlan_edit, #endvlan_edit, #guestcidraddress_edit");
- }
- else {
- $thisTab.find("#ispublic").text(g_dictionary["label.no"]);
- $thisTab.find("#ispublic_edit").val("false");
- $readonlyFields = $("#tab_content_details").find("#name, #dns1, #dns2, #internaldns1, #internaldns2, #vlan, #guestcidraddress, #ispublic");
- $editFields = $("#tab_content_details").find("#name_edit, #dns1_edit, #dns2_edit, #internaldns1_edit, #internaldns2_edit, #startvlan_edit, #endvlan_edit, #guestcidraddress_edit, #ispublic_edit");
- }
-
- if(jsonObj.networktype == "Basic")
- $("#tab_network, #tab_content_details #vlan_container, #guestcidraddress_container").hide();
- else if(jsonObj.networktype == "Advanced")
- $("#tab_network, #tab_content_details #vlan_container, #guestcidraddress_container").show();
-
- $thisTab.find("#tab_container").hide();
- $thisTab.find("#tab_spinning_wheel").show();
- $thisTab.find("#id").text(fromdb(jsonObj.id));
- $thisTab.find("#grid_header_title").text(fromdb(jsonObj.name));
- $thisTab.find("#name").text(fromdb(jsonObj.name));
- $thisTab.find("#name_edit").val(fromdb(jsonObj.name));
- $thisTab.find("#dns1").text(fromdb(jsonObj.dns1));
- $thisTab.find("#dns1_edit").val(fromdb(jsonObj.dns1));
- $thisTab.find("#dns2").text(fromdb(jsonObj.dns2));
- $thisTab.find("#dns2_edit").val(fromdb(jsonObj.dns2));
- $thisTab.find("#internaldns1").text(fromdb(jsonObj.internaldns1));
- $thisTab.find("#internaldns1_edit").val(fromdb(jsonObj.internaldns1));
- $thisTab.find("#internaldns2").text(fromdb(jsonObj.internaldns2));
- $thisTab.find("#internaldns2_edit").val(fromdb(jsonObj.internaldns2));
- $thisTab.find("#networktype").text(fromdb(jsonObj.networktype));
- setBooleanReadField(jsonObj.securitygroupsenabled, $thisTab.find("#securitygroupsenabled"));
- $thisTab.find("#guestcidraddress").text(fromdb(jsonObj.guestcidraddress));
- $thisTab.find("#guestcidraddress_edit").val(fromdb(jsonObj.guestcidraddress));
- $thisTab.find("#domain").text(fromdb(jsonObj.domain));
- $thisTab.find("#allocationstate").text(fromdb(jsonObj.allocationstate));
- if(jsonObj.networktype == "Advanced") {
- var vlan = jsonObj.vlan;
- $thisTab.find("#vlan").text(fromdb(vlan));
- if(vlan != null) {
- if(vlan.indexOf("-") != -1) { //e.g. vlan == "30-33"
- var startVlan = vlan.substring(0, vlan.indexOf("-"));
- var endVlan = vlan.substring((vlan.indexOf("-")+1));
- $thisTab.find("#startvlan_edit").val(startVlan);
- $thisTab.find("#endvlan_edit").val(endVlan);
- }
- else { //e.g. vlan == "30"
- $thisTab.find("#startvlan_edit").val(vlan);
- }
- }
- }
-
- //actions ***
- zoneBuildActionMenu(jsonObj);
-
- $thisTab.find("#tab_spinning_wheel").hide();
- $thisTab.find("#tab_container").show();
-}
-
-function zoneBuildActionMenu(jsonObj) {
- var $leftmenuItem1 = $("#right_panel_content").data("$leftmenuItem1");
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
-
- var $actionLink = $thisTab.find("#action_link");
- bindActionLink($actionLink);
-
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- buildActionLinkForTab("label.action.edit.zone", zoneActionMap, $actionMenu, $leftmenuItem1, $thisTab);
-
- if(jsonObj.allocationstate == "Disabled")
- buildActionLinkForTab("label.action.enable.zone", zoneActionMap, $actionMenu, $leftmenuItem1, $thisTab);
- else if(jsonObj.allocationstate == "Enabled")
- buildActionLinkForTab("label.action.disable.zone", zoneActionMap, $actionMenu, $leftmenuItem1, $thisTab);
-
- buildActionLinkForTab("label.action.delete.zone", zoneActionMap, $actionMenu, $leftmenuItem1, $thisTab);
-}
-
-function zoneClearDetailsTab() {
- var $thisTab = $("#right_panel_content").find("#tab_content_details");
- $thisTab.find("#grid_header_title").text("");
- $thisTab.find("#id").text("");
-
- $thisTab.find("#name").text("");
- $thisTab.find("#name_edit").val("");
-
- $thisTab.find("#dns1").text("");
- $thisTab.find("#dns1_edit").val("");
-
- $thisTab.find("#dns2").text("");
- $thisTab.find("#dns2_edit").val("");
-
- $thisTab.find("#internaldns1").text("");
- $thisTab.find("#internaldns1_edit").val("");
-
- $thisTab.find("#internaldns2").text("");
- $thisTab.find("#internaldns2_edit").val("");
-
- $thisTab.find("#networktype").text("");
-
- $thisTab.find("#vlan").text("");
- $thisTab.find("#startvlan_edit").val("");
- $thisTab.find("#endvlan_edit").val("");
-
- $thisTab.find("#guestcidraddress").text("");
- $thisTab.find("#guestcidraddress_edit").val("");
-
- $thisTab.find("#domain").text("");
-
- //actions ***
- var $actionMenu = $thisTab.find("#action_link #action_menu");
- $actionMenu.find("#action_list").empty();
- $actionMenu.find("#action_list").append($("#no_available_actions").clone().show());
-}
-
-function bindAddPodButton($button, $leftmenuItem1) {
- $button.unbind("click").bind("click", function(event) {
- var zoneObj = $leftmenuItem1.data("jsonObj");
-
- var $dialogAddPod = $("#dialog_add_pod");
-
- if(zoneObj.networktype == "Basic") { //basic-mode network (pod-wide VLAN)
- $dialogAddPod.find("#guestip_container, #guestnetmask_container, #guestgateway_container").show();
- }
- else if(zoneObj.networktype == "Advanced") { //advanced-mode network (zone-wide VLAN)
- $dialogAddPod.find("#guestip_container, #guestnetmask_container, #guestgateway_container").hide();
- }
-
- $dialogAddPod.find("#info_container").hide();
- $dialogAddPod.find("#add_pod_zone_name").text(fromdb(zoneObj.name));
- //$dialogAddPod.find("#add_pod_name, #add_pod_netmask, #add_pod_startip, #add_pod_endip, #add_pod_gateway").val("");
-
- $dialogAddPod
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $thisDialog.find("#add_pod_name"), $thisDialog.find("#add_pod_name_errormsg"));
- isValid &= validateNetmask("Netmask", $thisDialog.find("#add_pod_netmask"), $thisDialog.find("#add_pod_netmask_errormsg"));
- isValid &= validateIp("Start IP Range", $thisDialog.find("#add_pod_startip"), $thisDialog.find("#add_pod_startip_errormsg")); //required
- isValid &= validateIp("End IP Range", $thisDialog.find("#add_pod_endip"), $thisDialog.find("#add_pod_endip_errormsg"), true); //optional
- isValid &= validateIp("Gateway", $thisDialog.find("#add_pod_gateway"), $thisDialog.find("#add_pod_gateway_errormsg")); //required when creating
-
- if($thisDialog.find("#guestip_container").css("display") != "none") {
- isValid &= validateIp("Guest IP Range", $thisDialog.find("#startguestip"), $thisDialog.find("#startguestip_errormsg")); //required
- isValid &= validateIp("Guest IP Range", $thisDialog.find("#endguestip"), $thisDialog.find("#endguestip_errormsg"), true); //optional
- isValid &= validateNetmask("Guest Netmask", $thisDialog.find("#guestnetmask"), $thisDialog.find("#guestnetmask_errormsg")); //required when creating
- isValid &= validateIp("Guest Gateway", $thisDialog.find("#guestgateway"), $thisDialog.find("#guestgateway_errormsg"));
- }
-
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var name = trim($thisDialog.find("#add_pod_name").val());
- var netmask = trim($thisDialog.find("#add_pod_netmask").val());
- var startip = trim($thisDialog.find("#add_pod_startip").val());
- var endip = trim($thisDialog.find("#add_pod_endip").val()); //optional
- var gateway = trim($thisDialog.find("#add_pod_gateway").val());
-
- var array1 = [];
- array1.push("&zoneId="+zoneObj.id);
- array1.push("&name="+todb(name));
- array1.push("&netmask="+todb(netmask));
- array1.push("&startIp="+todb(startip));
- if (endip != null && endip.length > 0)
- array1.push("&endIp="+todb(endip));
- array1.push("&gateway="+todb(gateway));
-
- $.ajax({
- data: createURL("command=createPod"+array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.createpodresponse.pod;
- var $zoneNode = $("#leftmenu_zone_tree").find("#tree_container").find("#zone_" + zoneObj.id);
- if($zoneNode.find("#zone_arrow").hasClass("expanded_open")) {
- var template = $("#leftmenu_pod_node_template").clone(true);
- podJSONToTreeNode(item, template);
- $zoneNode.find("#pods_container").prepend(template.fadeIn("slow"));
- }
- else {
- $zoneNode.find("#zone_arrow").click(); //expand zone node to show the newly added pod
- }
-
- forceLogout = false; // We don't force a logout if pod(s) exit.
- if (forceLogout) {
- $("#dialog_confirmation")
- .html("You have successfully added your first Zone and Pod. After clicking 'OK', this UI will automatically refresh to give you access to the rest of cloud features.
")
- .dialog('option', 'buttons', {
- "OK": function() {
- $(this).dialog("close");
- window.location.reload();
- }
- }).dialog("open");
- }
-
- //Create IP Range
- if($thisDialog.find("#guestip_container").css("display") != "none") {
- var netmask = $thisDialog.find("#guestnetmask").val();
- var startip = $thisDialog.find("#startguestip").val();
- var endip = $thisDialog.find("#endguestip").val();
- var guestgateway = $thisDialog.find("#guestgateway").val();
-
- var array1 = [];
- array1.push("&vlan=untagged");
- array1.push("&zoneid=" + zoneObj.id);
- array1.push("&podId=" + item.id);
- array1.push("&forVirtualNetwork=false"); //direct VLAN
- array1.push("&gateway="+todb(guestgateway));
- array1.push("&netmask="+todb(netmask));
- array1.push("&startip="+todb(startip));
- if(endip != null && endip.length > 0)
- array1.push("&endip="+todb(endip));
-
- $.ajax({
- data: createURL("command=createVlanIpRange" + array1.join("")),
- dataType: "json",
- async: false,
- success: function(json) {
- //var item = json.createvlaniprangeresponse.vlan;
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- }
-
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-var zoneActionMap = {
- "label.action.edit.zone": {
- dialogBeforeActionFn: doEditZone
- },
- "label.action.enable.zone": {
- isAsyncJob: false,
- dialogBeforeActionFn : doEnableZone,
- inProcessText: "label.action.enable.zone.processing",
- afterActionSeccessFn: function(json, $leftmenuItem1, id) {
- var jsonObj = json.updatezoneresponse.zone;
- $("#right_panel_content").find("#tab_content_details").find("#allocationstate").text(fromdb(jsonObj.allocationstate));
- zoneBuildActionMenu(jsonObj);
- }
- },
- "label.action.disable.zone": {
- isAsyncJob: false,
- dialogBeforeActionFn : doDisableZone,
- inProcessText: "label.action.disable.zone.processing",
- afterActionSeccessFn: function(json, $leftmenuItem1, id) {
- var jsonObj = json.updatezoneresponse.zone;
- $("#right_panel_content").find("#tab_content_details").find("#allocationstate").text(fromdb(jsonObj.allocationstate));
- zoneBuildActionMenu(jsonObj);
- }
- },
- "label.action.delete.zone": {
- isAsyncJob: false,
- dialogBeforeActionFn : doDeleteZone,
- inProcessText: "label.action.delete.zone.processing",
- afterActionSeccessFn: function(json, $leftmenuItem1, id) {
- $leftmenuItem1.remove();
- if(id.toString() == $("#right_panel_content").find("#tab_content_details").find("#id").text()) {
- clearRightPanel();
- zoneJsonClearRightPanel();
- }
- }
- }
-}
-
-function doEditZone($actionLink, $detailsTab, $leftmenuItem1) {
- $readonlyFields.hide();
- $editFields.show();
- $detailsTab.find("#cancel_button, #save_button").show();
-
- $detailsTab.find("#cancel_button").unbind("click").bind("click", function(event){
- cancelEditMode($detailsTab);
- return false;
- });
- $detailsTab.find("#save_button").unbind("click").bind("click", function(event){
- doEditZone2($actionLink, $detailsTab, $leftmenuItem1, $readonlyFields, $editFields);
- return false;
- });
-}
-
-function doEditZone2($actionLink, $detailsTab, $leftmenuItem1, $readonlyFields, $editFields) {
- // validate values
- var isValid = true;
- isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"));
- isValid &= validateIp("DNS 1", $detailsTab.find("#dns1_edit"), $detailsTab.find("#dns1_edit_errormsg"), false); //required
- isValid &= validateIp("DNS 2", $detailsTab.find("#dns2_edit"), $detailsTab.find("#dns2_edit_errormsg"), true); //optional
- isValid &= validateIp("Internal DNS 1", $detailsTab.find("#internaldns1_edit"), $detailsTab.find("#internaldns1_edit_errormsg"), false); //required
- isValid &= validateIp("Internal DNS 2", $detailsTab.find("#internaldns2_edit"), $detailsTab.find("#internaldns2_edit_errormsg"), true); //optional
- if ($("#tab_content_details #vlan_container").css("display") != "none") {
- isValid &= validateString("Start VLAN Range", $detailsTab.find("#startvlan_edit"), $detailsTab.find("#startvlan_edit_errormsg"), true); //optional (Bug 5730 requested to change VLAN to be optional when updating zone)
- isValid &= validateString("End VLAN Range", $detailsTab.find("#endvlan_edit"), $detailsTab.find("#endvlan_edit_errormsg"), true); //optional
- }
- if ($("#tab_content_details #guestcidraddress_container").css("display") != "none") {
- isValid &= validateCIDR("Guest CIDR", $detailsTab.find("#guestcidraddress_edit"), $detailsTab.find("#guestcidraddress_edit_errormsg"), false); //required
- }
- if (!isValid)
- return;
-
- var moreCriteria = [];
-
- var jsonObj = $leftmenuItem1.data("jsonObj");
-
- var oldDns1 = jsonObj.dns1;
- var oldDns2 = jsonObj.dns2;
-
- var name = $detailsTab.find("#name_edit").val();
- if(name != jsonObj.name)
- moreCriteria.push("&name="+todb(name));
-
- var dns1 = $detailsTab.find("#dns1_edit").val();
- if(dns1 != jsonObj.dns1)
- moreCriteria.push("&dns1="+todb(dns1));
-
- var dns2 = $detailsTab.find("#dns2_edit").val();
- if (dns2 != jsonObj.dns2) //dns2 can be an empty string
- moreCriteria.push("&dns2="+todb(dns2));
-
- var internaldns1 = $detailsTab.find("#internaldns1_edit").val();
- if(internaldns1 != jsonObj.internaldns1)
- moreCriteria.push("&internaldns1="+todb(internaldns1));
-
- var internaldns2 = $detailsTab.find("#internaldns2_edit").val();
- if (internaldns2 != jsonObj.internaldns2) //internaldns2 can be an empty string
- moreCriteria.push("&internaldns2="+todb(internaldns2));
-
- var vlan;
- if ($("#tab_content_details #vlan_container").css("display") != "none") {
- var vlanStart = $detailsTab.find("#startvlan_edit").val();
- if(vlanStart != null && vlanStart.length > 0) {
- var vlanEnd = $detailsTab.find("#endvlan_edit").val();
- if (vlanEnd != null && vlanEnd.length > 0)
- vlan = vlanStart + "-" + vlanEnd;
- else
- vlan = vlanStart;
-
- if(vlan != jsonObj.vlan)
- moreCriteria.push("&vlan=" + todb(vlan));
- }
- }
-
- if ($("#tab_content_details #guestcidraddress_container").css("display") != "none") {
- var guestcidraddress = $detailsTab.find("#guestcidraddress_edit").val();
- if(guestcidraddress != jsonObj.guestcidraddress)
- moreCriteria.push("&guestcidraddress="+todb(guestcidraddress));
- }
-
- if($("#ispublic_edit").css("display") != "none") {
- var ispublic = $detailsTab.find("#ispublic_edit").val();
- moreCriteria.push("&ispublic="+todb(ispublic));
- }
-
- if(moreCriteria.length > 0) {
- $.ajax({
- data: createURL("command=updateZone&id="+jsonObj.id+moreCriteria.join("")),
- dataType: "json",
- success: function(json) {
- var item = json.updatezoneresponse.zone;
- $leftmenuItem1.data("jsonObj", item);
- $leftmenuItem1.find("#zone_name").text(item.name);
- zoneJsonToRightPanel($leftmenuItem1);
-
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
-
- if(item.dns1 != oldDns1 || item.dns2 != oldDns2) {
- $("#dialog_info")
- .text("DNS update will not take effect until all virtual routers and system vms are stopped and then started")
- .dialog("open");
- }
- }
- });
- }
- else {
- $editFields.hide();
- $readonlyFields.show();
- $("#save_button, #cancel_button").hide();
- }
-}
-
-function doEnableZone($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.enable.zone"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=updateZone&id="+id+"&allocationstate=Enabled";
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDisableZone($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.disable.zone"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=updateZone&id="+id+"&allocationstate=Disabled";
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function doDeleteZone($actionLink, $detailsTab, $midmenuItem1) {
- var jsonObj = $midmenuItem1.data("jsonObj");
- var id = jsonObj.id;
-
- $("#dialog_confirmation")
- .text(dictionary["message.action.delete.zone"])
- .dialog('option', 'buttons', {
- "Confirm": function() {
- $(this).dialog("close");
- var apiCommand = "command=deleteZone&id="+id;
- doActionToTab(id, $actionLink, apiCommand, $midmenuItem1, $detailsTab);
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
-}
-
-function bindAddClusterButtonOnZonePage($button, zoneId, zoneName) {
- $button.unbind("click").bind("click", function(event) {
- $dialogAddCluster = $("#dialog_add_external_cluster_in_zone_page");
- $dialogAddCluster.find("#info_container").hide();
- $dialogAddCluster.find("#zone_name").text(zoneName);
-
- var $podSelect = $dialogAddCluster.find("#pod_dropdown");
- $.ajax({
- data: createURL("command=listPods&zoneid="+zoneId),
- dataType: "json",
- async: false,
- success: function(json) {
- var pods = json.listpodsresponse.pod;
- $podSelect.empty();
- if(pods != null && pods.length > 0) {
- for(var i=0; i" + fromdb(pods[i].name) + "");
- }
- $podSelect.change();
- }
- });
-
- $dialogAddCluster.find("#cluster_hypervisor").change(function() {
- if($(this).val() == "VMware") {
- $('li[input_group="vmware"]', $dialogAddCluster).show();
- // $dialogAddCluster.find("#type_dropdown").change();
- $('li[input_sub_group="external"]', $dialogAddCluster).show();
- $("#cluster_name_label", $dialogAddCluster).text("vCenter Cluster:");
- } else {
- $('li[input_group="vmware"]', $dialogAddCluster).hide();
- $("#cluster_name_label", $dialogAddCluster).text("Cluster:");
- }
- }).change();
-
-/*
- $dialogAddCluster.find("#type_dropdown").change(function() {
- if($(this).val() == "ExternalManaged") {
- $('li[input_sub_group="external"]', $dialogAddCluster).show();
- $("#cluster_name_label", $dialogAddCluster).text("vCenter Cluster:");
- } else {
- $('li[input_sub_group="external"]', $dialogAddCluster).hide();
- $("#cluster_name_label", $dialogAddCluster).text("Cluster:");
- }
- });
-*/
- $dialogAddCluster.dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var hypervisor = $thisDialog.find("#cluster_hypervisor").val();
- var clusterType="CloudManaged";
- if(hypervisor == "VMware") {
- // clusterType = $thisDialog.find("#type_dropdown").val();
- clusterType="ExternalManaged";
- }
-
- var isValid = true;
- isValid &= validateDropDownBox("Pod", $thisDialog.find("#pod_dropdown"), $thisDialog.find("#pod_dropdown_errormsg"));
- if(hypervisor == "VMware" && clusterType != "CloudManaged") {
- isValid &= validateString("vCenter Server", $thisDialog.find("#cluster_hostname"), $thisDialog.find("#cluster_hostname_errormsg"));
- isValid &= validateString("vCenter user", $thisDialog.find("#cluster_username"), $thisDialog.find("#cluster_username_errormsg"));
- isValid &= validateString("Password", $thisDialog.find("#cluster_password"), $thisDialog.find("#cluster_password_errormsg"));
- isValid &= validateString("Datacenter", $thisDialog.find("#cluster_datacenter"), $thisDialog.find("#cluster_datacenter_errormsg"));
- }
- isValid &= validateString("Cluster name", $thisDialog.find("#cluster_name"), $thisDialog.find("#cluster_name_errormsg"));
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show();
-
- var array1 = [];
- array1.push("&hypervisor="+hypervisor);
- array1.push("&clustertype=" + clusterType);
- array1.push("&zoneId="+zoneId);
-
- //expand zone in left menu tree (to show pod, cluster under the zone)
- var $zoneNode = $("#leftmenu_zone_tree").find("#tree_container").find("#zone_" + zoneId);
- if($zoneNode.find("#zone_arrow").hasClass("expanded_close"))
- $zoneNode.find("#zone_arrow").click();
-
- var podId = $thisDialog.find("#pod_dropdown").val();
- array1.push("&podId="+podId);
-
- var clusterName = trim($thisDialog.find("#cluster_name").val());
- if(hypervisor == "VMware" && clusterType != "CloudManaged") {
- var username = trim($thisDialog.find("#cluster_username").val());
- array1.push("&username="+todb(username));
-
- var password = trim($thisDialog.find("#cluster_password").val());
- array1.push("&password="+todb(password));
-
- var hostname = trim($thisDialog.find("#cluster_hostname").val());
- var dcName = trim($thisDialog.find("#cluster_datacenter").val());
- var url;
- if(hostname.indexOf("http://")==-1)
- url = "http://" + todb(hostname);
- else
- url = hostname;
- url += "/" + todb(dcName) + "/" + todb(clusterName);
- array1.push("&url=" + todb(url));
-
- clusterName = hostname + "/" + dcName + "/" + clusterName
- }
-
- array1.push("&clustername=" + todb(clusterName));
-
- $.ajax({
- data: createURL("command=addCluster" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
-
- var item = json.addclusterresponse.cluster[0];
- var $podNode = $("#pod_" + podId);
- if($podNode.length > 0 && $podNode.css("display") != "none") {
- if($podNode.find("#pod_arrow").hasClass("white_nonexpanded_close")) {
- $podNode.find("#pod_arrow").removeClass("white_nonexpanded_close").addClass("expanded_close");
- }
-
- if($podNode.find("#pod_arrow").hasClass("expanded_close")) { //if pod node is closed
- $podNode.find("#pod_arrow").click(); //expand pod node
- var $clusterNode = $podNode.find("#cluster_"+item.id);
- $clusterNode.find("#cluster_arrow").click(); //expand cluster node to see host node and storage node
- $clusterNode.find("#cluster_name").click(); //click cluster node to show cluster info
- }
- else { //if pod node is expanded
- var $clusterNode = $("#leftmenu_cluster_node_template").clone(true);
- clusterJSONToTreeNode(item, $clusterNode);
- $podNode.find("#clusters_container").append($clusterNode.show());
- $clusterNode.find("#cluster_arrow").click(); //expand cluster node to see host node and storage node
- $clusterNode.find("#cluster_name").click(); //click cluster node to show cluster info
- }
- }
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-
-function bindAddHostButtonOnZonePage($button, zoneId, zoneName) {
- var $dialogAddHost = $("#dialog_add_host_in_zone_page");
- $dialogAddHost.find("#zone_name").text(zoneName);
-
- var $podSelect = $dialogAddHost.find("#pod_dropdown");
- $.ajax({
- data: createURL("command=listPods&zoneid="+zoneId),
- dataType: "json",
- async: false,
- success: function(json) {
- var pods = json.listpodsresponse.pod;
- $podSelect.empty();
- if(pods != null && pods.length > 0) {
- for(var i=0; i" + fromdb(pods[i].name) + "");
- }
- }
- });
-
- $dialogAddHost.find("#pod_dropdown").unbind("change").bind("change", function(event) {
- $dialogAddHost.find("#cluster_select").change();
- });
-
- $dialogAddHost.find("#cluster_select").unbind("change").change(function() {
- var clusterId = $(this).val();
- if(clusterId == null)
- return;
- var clusterObj = clustersUnderOnePod[clusterId];
-
- if(clusterObj.hypervisortype == "VMware") {
- $('li[input_group="vmware"]', $dialogAddHost).show();
- $('li[input_group="general"]', $dialogAddHost).hide();
- $('li[input_group="baremetal"]', $dialogAddHost).hide();
- $('li[input_group="Ovm"]', $dialogAddHost).hide();
- }
- else if (clusterObj.hypervisortype == "BareMetal") {
- $('li[input_group="baremetal"]', $dialogAddHost).show();
- $('li[input_group="general"]', $dialogAddHost).show();
- $('li[input_group="vmware"]', $dialogAddHost).hide();
- $('li[input_group="Ovm"]', $dialogAddHost).hide();
- }
- else if (clusterObj.hypervisortype == "Ovm") {
- $('li[input_group="Ovm"]', $dialogAddHost).show();
- $('li[input_group="general"]', $dialogAddHost).show();
- $('li[input_group="vmware"]', $dialogAddHost).hide();
- $('li[input_group="baremetal"]', $dialogAddHost).hide();
- }
- else {
- $('li[input_group="general"]', $dialogAddHost).show();
- $('li[input_group="vmware"]', $dialogAddHost).hide();
- $('li[input_group="baremetal"]', $dialogAddHost).hide();
- $('li[input_group="Ovm"]', $dialogAddHost).hide();
- }
- });
-
- $button.unbind("click").bind("click", function(event) {
- $dialogAddHost.find("#info_container").hide();
- //$dialogAddHost.find("#host_hypervisor").change();
- refreshClsuterFieldInAddHostDialog($dialogAddHost, $dialogAddHost.find("#pod_dropdown").val(), null);
- $dialogAddHost.find("#pod_dropdown").change();
-
- $dialogAddHost
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var isValid = true;
- isValid &= validateDropDownBox("Pod", $thisDialog.find("#pod_dropdown"), $thisDialog.find("#pod_dropdown_errormsg"));
- isValid &= validateDropDownBox("Cluster", $thisDialog.find("#cluster_select"), $thisDialog.find("#cluster_select_errormsg"), false); //required, reset error text
-
- var clusterId = $thisDialog.find("#cluster_select").val();
- var clusterObj, hypervisor;
- if(clusterId != null) {
- clusterObj = clustersUnderOnePod[clusterId];
- hypervisor = clusterObj.hypervisortype;
- if(hypervisor == "VMware") {
-/*
- isValid &= validateString("vCenter Address", $thisDialog.find("#host_vcenter_address"), $thisDialog.find("#host_vcenter_address_errormsg"));
- isValid &= validateString("vCenter User", $thisDialog.find("#host_vcenter_username"), $thisDialog.find("#host_vcenter_username_errormsg"));
- isValid &= validateString("vCenter Password", $thisDialog.find("#host_vcenter_password"), $thisDialog.find("#host_vcenter_password_errormsg"));
- isValid &= validateString("vCenter Datacenter", $thisDialog.find("#host_vcenter_dc"), $thisDialog.find("#host_vcenter_dc_errormsg"));
-*/
- isValid &= validateString("vCenter Host", $thisDialog.find("#host_vcenter_host"), $thisDialog.find("#host_vcenter_host_errormsg"));
- }
- else {
- isValid &= validateString("Host name", $thisDialog.find("#host_hostname"), $thisDialog.find("#host_hostname_errormsg"));
- isValid &= validateString("User name", $thisDialog.find("#host_username"), $thisDialog.find("#host_username_errormsg"));
- isValid &= validateString("Password", $thisDialog.find("#host_password"), $thisDialog.find("#host_password_errormsg"));
-
- if (hypervisor == "BareMetal") {
- isValid &= validateString("CPU Cores", $thisDialog.find("#host_baremetal_cpucores"), $thisDialog.find("#host_baremetal_cpucores_errormsg"));
- isValid &= validateString("CPU", $thisDialog.find("#host_baremetal_cpu"), $thisDialog.find("#host_baremetal_cpu_errormsg"));
- isValid &= validateString("Memory", $thisDialog.find("#host_baremetal_memory"), $thisDialog.find("#host_baremetal_memory_errormsg"));
- isValid &= validateString("MAC", $thisDialog.find("#host_baremetal_mac"), $thisDialog.find("#host_baremetal_mac_errormsg"));
- }
- else if(hypervisor == "Ovm") {
- isValid &= validateString("Agent Username", $thisDialog.find("#agent_username"), $thisDialog.find("#agent_username_errormsg"), true); //optional
- isValid &= validateString("Agent Password", $thisDialog.find("#agent_password"), $thisDialog.find("#agent_password_errormsg"), false); //required
- }
- }
- }
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var array1 = [];
-
- array1.push("&zoneid="+zoneId);
-
- //expand zone in left menu tree (to show pod, cluster under the zone)
- var $zoneNode = $("#leftmenu_zone_tree").find("#tree_container").find("#zone_" + zoneId);
- if($zoneNode.find("#zone_arrow").hasClass("expanded_close"))
- $zoneNode.find("#zone_arrow").click();
-
- var podId = $thisDialog.find("#pod_dropdown").val();
- array1.push("&podid="+podId);
-
- var clusterId = $thisDialog.find("#cluster_select").val();
- array1.push("&clusterid="+clusterId);
-
- array1.push("&hypervisor="+hypervisor);
- var clustertype = clusterObj.clustertype;
- array1.push("&clustertype=" + clustertype);
- array1.push("&hosttags=" + todb(trim($thisDialog.find("#host_tags").val())));
-
- if(hypervisor == "VMware") {
-/*
- var username = trim($thisDialog.find("#host_vcenter_username").val());
- array1.push("&username="+todb(username));
-
- var password = trim($thisDialog.find("#host_vcenter_password").val());
- array1.push("&password="+todb(password));
-
- var hostname = trim($thisDialog.find("#host_vcenter_address").val());
- hostname += "/" + trim($thisDialog.find("#host_vcenter_dc").val());
- hostname += "/" + trim($thisDialog.find("#host_vcenter_host").val());
-*/
- array1.push("&username=");
- array1.push("&password=");
- var hostname = trim($thisDialog.find("#host_vcenter_host").val());
-
- var url;
- if(hostname.indexOf("http://")==-1)
- url = "http://" + todb(hostname);
- else
- url = hostname;
- array1.push("&url="+todb(url));
-
- }
- else {
- var username = trim($thisDialog.find("#host_username").val());
- array1.push("&username="+todb(username));
-
- var password = trim($thisDialog.find("#host_password").val());
- array1.push("&password="+todb(password));
-
- var hostname = trim($thisDialog.find("#host_hostname").val());
- var url;
- if(hostname.indexOf("http://")==-1)
- url = "http://" + todb(hostname);
- else
- url = hostname;
- array1.push("&url="+todb(url));
-
- if (hypervisor == "BareMetal") {
- var cpuCores = trim($thisDialog.find("#host_baremetal_cpucores").val());
- array1.push("&cpunumber="+todb(cpuCores));
-
- var cpuSpeed = trim($thisDialog.find("#host_baremetal_cpu").val());
- array1.push("&cpuspeed="+todb(cpuSpeed));
-
- var memory = trim($thisDialog.find("#host_baremetal_memory").val());
- array1.push("&memory="+todb(memory));
-
- var mac = trim($thisDialog.find("#host_baremetal_mac").val());
- array1.push("&hostmac="+todb(mac));
- }
- else if(hypervisor == "Ovm") {
- var agentUsername = $thisDialog.find("#agent_username").val();
- array1.push("&agentusername="+todb(agentUsername));
-
- var agentPassword = $thisDialog.find("#agent_password").val();
- array1.push("&agentpassword="+todb(agentPassword));
- }
- }
-
- $.ajax({
- data: createURL("command=addHost" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- refreshClsuterFieldInAddHostDialog($thisDialog, podId, null);
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
-
-function bindAddPrimaryStorageButtonOnZonePage($button, zoneId, zoneName) {
- var $dialogAddPool = $("#dialog_add_pool_in_zone_page");
- $dialogAddPool.find("#zone_name").text(zoneName);
-
- bindEventHandlerToDialogAddPool($dialogAddPool);
-
- var $podSelect = $dialogAddPool.find("#pod_dropdown");
- $.ajax({
- data: createURL("command=listPods&zoneid="+zoneId),
- dataType: "json",
- async: false,
- success: function(json) {
- var pods = json.listpodsresponse.pod;
- $podSelect.empty();
- if(pods != null && pods.length > 0) {
- for(var i=0; i" + fromdb(pods[i].name) + "");
- }
- }
- });
-
- $podSelect.unbind("change").bind("change", function(event) {
- var podId = $(this).val();
- populateClusterFieldInAddPoolDialog($dialogAddPool, podId, null);
- });
-
- $button.unbind("click").bind("click", function(event) {
- $dialogAddPool.find("#info_container").hide();
- $podSelect.change();
-
- $("#dialog_add_pool_in_zone_page")
- .dialog('option', 'buttons', {
- "Add": function() {
- var $thisDialog = $(this);
- $thisDialog.find("#info_container").hide();
-
- // validate values
- var protocol = $thisDialog.find("#add_pool_protocol").val();
-
- var isValid = true;
- isValid &= validateDropDownBox("Pod", $thisDialog.find("#pod_dropdown"), $thisDialog.find("#pod_dropdown_errormsg"));
- isValid &= validateDropDownBox("Cluster", $thisDialog.find("#pool_cluster"), $thisDialog.find("#pool_cluster_errormsg"), false); //required, reset error text
- isValid &= validateString("Name", $thisDialog.find("#add_pool_name"), $thisDialog.find("#add_pool_name_errormsg"));
- if (protocol == "nfs" || protocol == "PreSetup" || protocol == "SharedMountPoint") {
- isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
- isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
- } else if(protocol == "ocfs2") {
- isValid &= validateString("Path", $thisDialog.find("#add_pool_path"), $thisDialog.find("#add_pool_path_errormsg"));
- } else if(protocol == "iscsi") {
- isValid &= validateString("Server", $thisDialog.find("#add_pool_nfs_server"), $thisDialog.find("#add_pool_nfs_server_errormsg"));
- isValid &= validateString("Target IQN", $thisDialog.find("#add_pool_iqn"), $thisDialog.find("#add_pool_iqn_errormsg"));
- isValid &= validateString("LUN #", $thisDialog.find("#add_pool_lun"), $thisDialog.find("#add_pool_lun_errormsg"));
- } else if(protocol == "clvm") {
- isValid &= validateString("Volume Group", $thisDialog.find("#add_pool_clvm_vg"), $thisDialog.find("#add_pool_clvm_vg_errormsg"));
- } else if(protocol == "vmfs") {
- isValid &= validateString("vCenter Datacenter", $thisDialog.find("#add_pool_vmfs_dc"), $thisDialog.find("#add_pool_vmfs_dc_errormsg"));
- isValid &= validateString("vCenter Datastore", $thisDialog.find("#add_pool_vmfs_ds"), $thisDialog.find("#add_pool_vmfs_ds_errormsg"));
- }
- isValid &= validateString("Tags", $thisDialog.find("#add_pool_tags"), $thisDialog.find("#add_pool_tags_errormsg"), true); //optional
- if (!isValid)
- return;
-
- $thisDialog.find("#spinning_wheel").show()
-
- var array1 = [];
-
- array1.push("&zoneid="+zoneId);
-
- //expand zone in left menu tree (to show pod, cluster under the zone)
- var $zoneNode = $("#leftmenu_zone_tree").find("#tree_container").find("#zone_" + zoneId);
- if($zoneNode.find("#zone_arrow").hasClass("expanded_close"))
- $zoneNode.find("#zone_arrow").click();
-
- var podId = $thisDialog.find("#pod_dropdown").val();
- array1.push("&podId="+podId);
-
- var clusterId = $thisDialog.find("#pool_cluster").val();
- array1.push("&clusterid="+clusterId);
-
- var name = trim($thisDialog.find("#add_pool_name").val());
- array1.push("&name="+todb(name));
-
- var server = trim($thisDialog.find("#add_pool_nfs_server").val());
-
- var url = null;
- if (protocol == "nfs") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = nfsURL(server, path);
- }
- else if (protocol == "PreSetup") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = presetupURL(server, path);
- }
- else if (protocol == "ocfs2") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = ocfs2URL(server, path);
- }
- else if (protocol == "SharedMountPoint") {
- var path = trim($thisDialog.find("#add_pool_path").val());
- if(path.substring(0,1)!="/")
- path = "/" + path;
- url = SharedMountPointURL(server, path);
- }
- else if (protocol == "clvm") {
- var vg = trim($thisDialog.find("#add_pool_clvm_vg").val());
- url = clvmURL(vg);
- }
- else if (protocol == "vmfs") {
- var path = trim($thisDialog.find("#add_pool_vmfs_dc").val());
- if(path.substring(0,1)!="/")
- path = "/" + todb(path);
- path += "/" + todb(trim($thisDialog.find("#add_pool_vmfs_ds").val()));
- url = vmfsURL("dummy", path);
- }
- else {
- var iqn = trim($thisDialog.find("#add_pool_iqn").val());
- if(iqn.substring(0,1)!="/")
- iqn = "/" + iqn;
- var lun = trim($thisDialog.find("#add_pool_lun").val());
- url = iscsiURL(server, iqn, lun);
- }
- array1.push("&url="+todb(url));
-
- var tags = trim($thisDialog.find("#add_pool_tags").val());
- if(tags != null && tags.length > 0)
- array1.push("&tags="+todb(tags));
-
- $.ajax({
- data: createURL("command=createStoragePool" + array1.join("")),
- dataType: "json",
- success: function(json) {
- $thisDialog.find("#spinning_wheel").hide();
- $thisDialog.dialog("close");
- },
- error: function(XMLHttpResponse) {
- handleError(XMLHttpResponse, function() {
- handleErrorInDialog(XMLHttpResponse, $thisDialog);
- });
- }
- });
- },
- "Cancel": function() {
- $(this).dialog("close");
- }
- }).dialog("open");
- return false;
- });
-}
diff --git a/ui/old/scripts/cloud.logger.js b/ui/old/scripts/cloud.logger.js
deleted file mode 100755
index 13b438f7180..00000000000
--- a/ui/old/scripts/cloud.logger.js
+++ /dev/null
@@ -1,273 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-function Logger() {
- this.bDockEnabled = true;
-
- this.logWin = null;
- this.logger = null;
- this.header = null;
-
- this.bEnabled = true;
- this.level = 0;
-
- this.bMoving = false;
- this.offsetStart = {left: 0, top: 0};
- this.ptStart = {x: 0, y: 0};
-}
-
-Logger.DEFAULT_WIN_HEIGHT = 500;
-Logger.LEVEL_TRACE = 0;
-Logger.LEVEL_DEBUG = 1;
-Logger.LEVEL_INFO = 2;
-Logger.LEVEL_WARN = 3;
-Logger.LEVEL_ERROR = 4;
-Logger.LEVEL_FATAL = 5;
-Logger.LEVEL_SYS = 100;
-
-Logger.prototype = {
-
- open: function() {
- var logger = this;
- var logWinMarkup = [
- '',
- '
',
- '
',
- '
',
- '
',
- '
',
- '
',
- '
',
- '
',
- '
',
- '
',
- '
'
- ].join('');
-
- this.logWin = $(logWinMarkup).appendTo(document.body);
- this.header = $('.logwin_title:first', this.logWin);
- this.logger = $('.logwin_content:first', this.logWin);
-
- $(".logwin_title", this.logWin).mousedown(function(e) {
- if($(e.target).attr('cmd'))
- return true;
-
- if(!logger.bMoving) {
- logger.bMoving = true;
- logger.offsetStart = logger.logWin.offset();
- logger.ptStart = {x: e.pageX, y: e.pageY};
-
- $(document).bind("mousemove", function(e) {
- if(logger.bMoving) {
- logger.enableDocking(false);
-
- var logWinNewLeft = logger.offsetStart.left + e.pageX - logger.ptStart.x;
- var logWinNewTop = logger.offsetStart.top + e.pageY - logger.ptStart.y;
-
- logger.logWin.css("left", logWinNewLeft + "px").css("top", logWinNewTop + "px");
- }
- return false;
- });
-
- $(document).bind("mouseup", function(e) {
- if(logger.bMoving) {
- logger.bMoving = false;
- $(document).unbind("mousemove", arguments.callee.name);
- $(document).unbind("mouseup", arguments.callee.name);
-
- return false;
- }
- return true;
- });
- }
-
- // prevent default handling
- return false;
- }).dblclick(function(e) {
- logger.expand(!logger.isExpanded());
- });
-
- this.logWin.click(function(e) {
- if($(e.target).attr('cmd')) {
- switch($(e.target).attr('cmd')) {
- case '1' :
- logger.enable(true);
- break;
-
- case '2' :
- logger.enable(false);
- break;
-
- case '3' :
- logger.clear();
- break;
-
- case '4' :
- logger.enableDocking(true);
- logger.dockIn();
- break;
-
- case '5' :
- logger.expand(!logger.isExpanded());
- break;
-
- default :
- break;
- }
- }
- });
-
- $("#template_type", this.logWin).change(function(e) {
- logger.setLevel(parseInt($(this).val()));
- });
-
- this.logWin.css("left", (($(document.body).width() - this.logWin.width()) / 2) + "px");
- this.dockIn();
-
- this.log(Logger.LEVEL_SYS, "Logger started");
- },
-
- dockIn: function() {
- var logger = this;
- var offset = this.logWin.offset();
- var bottom = offset.top + this.logWin.height();
- var delta = bottom - 2;
-
- this.logWin.animate({top: (offset.top - delta) + "px"}, 200,
- function() {
- logger.logWin.unbind("mouseleave");
- logger.logWin.bind("mouseenter", function(e) {
- if(logger.bDockEnabled)
- logger.dockOut();
- });
- }
- );
- },
-
- dockOut: function() {
- var logger = this;
- this.logWin.animate({top: "0px"}, 200,
- function() {
- logger.logWin.unbind("mouseenter");
- logger.logWin.bind("mouseleave", function(e) {
- if(logger.bDockEnabled) {
- var xPosInLogWin = e.pageX - logger.logWin.offset().left;
- var yPosInLogWin = e.pageY - logger.logWin.offset().top;
-
- if(xPosInLogWin < 0 || yPosInLogWin < 0 ||
- xPosInLogWin > logger.logWin.width() || yPosInLogWin > logger.logWin.height()) {
- logger.dockIn();
- }
- }
- });
- }
- );
- },
-
- enableDocking: function(bEnable) {
- this.bDockEnabled = bEnable;
- },
-
- log: function(level, message) {
- // Note : LEVEL_SYS message will always be logged
- if(this.logger && (level == Logger.LEVEL_SYS || this.bEnabled && level >= this.level)) {
- var curTime = new Date();
- var curTimeString = [
- '', curTime.getMonth(),
- '/', curTime.getDate(),
- '/', curTime.getYear(),
- ' ',
- curTime.getHours(),
- ':', curTime.getMinutes(),
- ":", curTime.getSeconds(),
- ".", curTime.getMilliseconds()].join('');
-
- this.logger.append(this.getLevelDisplayString(level) + " - " + curTimeString + " - " + message + ' ');
- }
- },
-
- clear: function() {
- if(this.logger) {
- this.logger.empty();
- this.log(Logger.LEVEL_SYS, "Logger is cleared");
- }
- },
-
- setLevel: function(level) {
- this.level = level;
-
- this.log(Logger.LEVEL_SYS, "Set logger trace level to " + this.getLevelDisplayString(level));
- },
-
- enable: function(bEnabled) {
- this.bEnabled = bEnabled;
-
- if(bEnabled)
- this.log(Logger.LEVEL_SYS, "Logger is enabled");
- else
- this.log(Logger.LEVEL_SYS, "Logger is disabled");
- },
-
- expand: function(bExpand) {
- if(bExpand) {
- this.logWin.height(Logger.DEFAULT_WIN_HEIGHT);
- this.logger.height(Logger.DEFAULT_WIN_HEIGHT - this.header.height());
- } else {
- this.logWin.height(this.header.height());
- this.logger.height(0);
- }
- },
-
- isExpanded: function() {
- return this.logWin.height() > this.header.height();
- },
-
- getLevelDisplayString: function(level) {
- switch(level) {
- case Logger.LEVEL_TRACE :
- return "TRACE";
-
- case Logger.LEVEL_DEBUG :
- return "DEBUG";
-
- case Logger.LEVEL_INFO :
- return "INFO";
-
- case Logger.LEVEL_WARN :
- return "WARN";
-
- case Logger.LEVEL_ERROR :
- return "ERROR";
-
- case Logger.LEVEL_FATAL :
- return "FATAL";
-
- case Logger.LEVEL_SYS :
- return "SYSINFO";
- }
-
- return "LEVEL " + level;
- }
-};
-
diff --git a/ui/old/scripts/cloud.widget.tab.js b/ui/old/scripts/cloud.widget.tab.js
deleted file mode 100644
index 4537c9aeba2..00000000000
--- a/ui/old/scripts/cloud.widget.tab.js
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-(function($) {
- jQuery.fn.tabSetup = function() {
- var tab = $(this);
-
- // initial setup
- $(".content_tabs", tab).each(function(i, val) {
- if($(val).hasClass("on"))
- $("#" + $(val).attr("cloud_binding")).show();
- else
- $("#" + $(val).attr("cloud_binding")).hide();
- });
-
- // event handling
- tab.click(function(e) {
- if($(e.target).hasClass("content_tabs")) {
- $(".content_tabs", tab).each(function(i, val) {
- $(val).removeClass("on").removeClass("off").addClass("off");
- $("#" + $(val).attr("cloud_binding")).hide();
- });
-
- $(e.target).removeClass("off").removeClass("on").addClass("on");
- $("#" + $(e.target).attr("cloud_binding")).show();
- return false;
- }
- return true;
- });
- };
-})(jQuery);
diff --git a/ui/old/scripts/date.js b/ui/old/scripts/date.js
deleted file mode 100755
index 73ca4057784..00000000000
--- a/ui/old/scripts/date.js
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright 2012 Citrix Systems, Inc. Licensed under the
-// Apache License, Version 2.0 (the "License"); you may not use this
-// file except in compliance with the License. Citrix Systems, Inc.
-// reserves all rights not expressly granted by the License.
-// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Automatically generated by addcopyright.py at 04/03/2012
-Date.prototype.setISO8601 = function(dString){
-
- var regexp = /(\d\d\d\d)(-)?(\d\d)(-)?(\d\d)(T)?(\d\d)(:)?(\d\d)(:)?(\d\d)(\.\d+)?(Z|([+-])(\d\d)(:)?(\d\d))/;
-
- if (dString.toString().match(new RegExp(regexp))) {
- var d = dString.match(new RegExp(regexp));
- var offset = 0;
-
- this.setUTCDate(1);
- this.setUTCFullYear(parseInt(d[1],10));
- this.setUTCMonth(parseInt(d[3],10) - 1);
- this.setUTCDate(parseInt(d[5],10));
- this.setUTCHours(parseInt(d[7],10));
- this.setUTCMinutes(parseInt(d[9],10));
- this.setUTCSeconds(parseInt(d[11],10));
- if (d[12])
- this.setUTCMilliseconds(parseFloat(d[12]) * 1000);
- else
- this.setUTCMilliseconds(0);
- if (d[13] != 'Z') {
- offset = (d[15] * 60) + parseInt(d[17],10);
- offset *= ((d[14] == '-') ? -1 : 1);
- this.setTime(this.getTime() - offset * 60 * 1000);
- }
- }
- else {
- this.setTime(Date.parse(dString));
- }
- return this;
-};
-
-//***** vmops (begin) ***************************************************************
-
-/*
-This is a hack/temporary solution that lacks calculation of Daylight Saving Time.
-We'll fix the problem by getting datetime in a specified timezone (including Daylight Saving Time) from server-side in next release.
-*/
-Date.prototype.getTimePlusTimezoneOffset = function(timezoneOffset) {
- var milliseconds = this.getTime();
- var s1 = new Date(milliseconds + (timezoneOffset * 60 * 60 * 1000)).toUTCString(); //e.g. "Tue, 08 Jun 2010 19:13:49 GMT", "Tue, 25 May 2010 12:07:01 UTC"
- var s2 = s1.substring(s1.indexOf(", ")+2); //e.g. "08 Jun 2010 19:13:49 GMT", "25 May 2010 12:07:01 UTC"
- var s3 = s2.substring(0,s2.length-4); //e.g. "08 Jun 2010 19:13:49", "25 May 2010 12:10:16"
- return s3;
-}
-
-//***** vmops (end) *****************************************************************
-
-Date.prototype.format = function(format) {
- var returnStr = '';
- var replace = Date.replaceChars;
- for (var i = 0; i < format.length; i++) {
- var curChar = format.charAt(i);
- if (replace[curChar]) {
- returnStr += replace[curChar].call(this);
- } else {
- returnStr += curChar;
- }
- }
- return returnStr;
-};
-Date.replaceChars = {
- shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
- longMonths: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
- shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
- longDays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
-
- // Day
- d: function() { return (this.getDate() < 10 ? '0' : '') + this.getDate(); },
- D: function() { return Date.replaceChars.shortDays[this.getDay()]; },
- j: function() { return this.getDate(); },
- l: function() { return Date.replaceChars.longDays[this.getDay()]; },
- N: function() { return this.getDay() + 1; },
- S: function() { return (this.getDate() % 10 == 1 && this.getDate() != 11 ? 'st' : (this.getDate() % 10 == 2 && this.getDate() != 12 ? 'nd' : (this.getDate() % 10 == 3 && this.getDate() != 13 ? 'rd' : 'th'))); },
- w: function() { return this.getDay(); },
- z: function() { return "Not Yet Supported"; },
- // Week
- W: function() { return "Not Yet Supported"; },
- // Month
- F: function() { return Date.replaceChars.longMonths[this.getMonth()]; },
- m: function() { return (this.getMonth() < 9 ? '0' : '') + (this.getMonth() + 1); },
- M: function() { return Date.replaceChars.shortMonths[this.getMonth()]; },
- n: function() { return this.getMonth() + 1; },
- t: function() { return "Not Yet Supported"; },
- // Year
- L: function() { return "Not Yet Supported"; },
- o: function() { return "Not Supported"; },
- Y: function() { return this.getFullYear(); },
- y: function() { return ('' + this.getFullYear()).substr(2); },
- // Time
- a: function() { return this.getHours() < 12 ? 'am' : 'pm'; },
- A: function() { return this.getHours() < 12 ? 'AM' : 'PM'; },
- B: function() { return "Not Yet Supported"; },
- g: function() { return this.getHours() % 12 || 12; },
- G: function() { return this.getHours(); },
- h: function() { return ((this.getHours() % 12 || 12) < 10 ? '0' : '') + (this.getHours() % 12 || 12); },
- H: function() { return (this.getHours() < 10 ? '0' : '') + this.getHours(); },
- i: function() { return (this.getMinutes() < 10 ? '0' : '') + this.getMinutes(); },
- s: function() { return (this.getSeconds() < 10 ? '0' : '') + this.getSeconds(); },
- // Timezone
- e: function() { return "Not Yet Supported"; },
- I: function() { return "Not Supported"; },
- O: function() { return (-this.getTimezoneOffset() < 0 ? '-' : '+') + (Math.abs(this.getTimezoneOffset() / 60) < 10 ? '0' : '') + (Math.abs(this.getTimezoneOffset() / 60)) + '00'; },
- T: function() { var m = this.getMonth(); this.setMonth(0); var result = this.toTimeString().replace(/^.+ \(?([^\)]+)\)?$/, '$1'); this.setMonth(m); return result;},
- Z: function() { return -this.getTimezoneOffset() * 60; },
- // Full Date/Time
- c: function() { return "Not Yet Supported"; },
- r: function() { return this.toString(); },
- U: function() { return this.getTime() / 1000; }
-};
diff --git a/ui/old/scripts/jquery-ui.custom.min.js b/ui/old/scripts/jquery-ui.custom.min.js
deleted file mode 100755
index c11e844f9b9..00000000000
--- a/ui/old/scripts/jquery-ui.custom.min.js
+++ /dev/null
@@ -1,1012 +0,0 @@
-/*!
- * jQuery UI 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI
- */
-(function(c){c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.2",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=0)&&c(a).is(":focusable")}})}})(jQuery);
-;/*!
- * jQuery UI Widget 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Widget
- */
-(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype=
-b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g=
-b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();
-this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f,
-h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=
-b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
-;/*!
- * jQuery UI Mouse 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Mouse
- *
- * Depends:
- * jquery.ui.widget.js
- */
-(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&
-this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();
-return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&
-this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-
-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
-;/*
- * jQuery UI Position 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Position
- */
-(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h=
-0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+=
-g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k,
-elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"?
--b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position=
-"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery);
-;/*
- * jQuery UI Draggable 1.8.2
- *
- * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * http://docs.jquery.com/UI/Draggables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
-"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
-this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-
-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();
-d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||
-this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,
-b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==
-a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||
-0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
-this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-
-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment==
-"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&
-a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),
-10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],
-this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():
-f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.leftthis.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?e:!(e-this.offset.click.left ').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;
-if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!=
-"HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY