mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
145 lines
5.9 KiB
JavaScript
145 lines
5.9 KiB
JavaScript
/**
|
|
* Copyright (C) 2010 Cloud.com, Inc. All rights reserved.
|
|
*
|
|
* This software is licensed under the GNU General Public License v3 or later.
|
|
*
|
|
* It is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or any later version.
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
*/
|
|
|
|
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<items.length; i++) {
|
|
var $newTemplate;
|
|
if(items[i].name.toLowerCase().indexOf("password") == -1)
|
|
$newTemplate = $templateText.clone();
|
|
else
|
|
$newTemplate = $templatePassword.clone();
|
|
globalsettingJSONToTemplate(items[i], $newTemplate);
|
|
$container.append($newTemplate.show());
|
|
}
|
|
}
|
|
$thisTab.find("#tab_spinning_wheel").hide();
|
|
$thisTab.find("#tab_container").show();
|
|
}
|
|
});
|
|
}
|
|
|
|
var globalsettingGridIndex = 0;
|
|
function globalsettingJSONToTemplate(jsonObj, template) {
|
|
(globalsettingGridIndex++ % 2 == 0)? template.addClass("even"): template.addClass("odd");
|
|
template.find("#name").text(fromdb(jsonObj.name));
|
|
template.find("#value").text(fromdb(jsonObj.value));
|
|
template.find("#value_edit").val(fromdb(jsonObj.value));
|
|
template.find("#description").text(fromdb(jsonObj.description));
|
|
}
|
|
|
|
function doEditGlobalSetting() {
|
|
var $detailsTab = $("#right_panel_content #tab_content_details");
|
|
var $readonlyFields = $detailsTab.find("#globalsetting_template_text #value, #globalsetting_template_password #password_mask");
|
|
var $editFields = $detailsTab.find("#value_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){
|
|
doEditGlobalSetting2($readonlyFields, $editFields);
|
|
return false;
|
|
});
|
|
}
|
|
|
|
function doEditGlobalSetting2($readonlyFields, $editFields) {
|
|
var isChanged = false;
|
|
|
|
$("#right_panel_content #tab_content_details").find("#globalsetting_template_text,#globalsetting_template_password").each(function(index) {
|
|
var $thisRow =$(this);
|
|
|
|
if($thisRow.find("#value_edit").val() != $thisRow.find("#value").text()) {
|
|
// validate values
|
|
var isValid = true;
|
|
isValid &= validateString("Value", $thisRow.find("#value_edit"), $thisRow.find("#value_edit_errormsg"), true);
|
|
if (!isValid)
|
|
return;
|
|
|
|
var name = $thisRow.find("#name").text();
|
|
var value = $thisRow.find("#value_edit").val();
|
|
|
|
$.ajax({
|
|
data: createURL("command=updateConfiguration&name="+todb(name)+"&value="+todb(value)),
|
|
dataType: "json",
|
|
async: false,
|
|
success: function(json) {
|
|
var jsonObj = json.updateconfigurationresponse.configuration;
|
|
globalsettingJSONToTemplate(jsonObj, $thisRow);
|
|
isChanged = true;
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
$editFields.hide();
|
|
$readonlyFields.show();
|
|
$("#save_button, #cancel_button").hide();
|
|
|
|
if(isChanged == true)
|
|
$("#dialog_alert_restart_management_server").dialog("open");
|
|
}
|