mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
bug 11261: cloudStack - host page - Edit Host action - (1) make hosttags editable. (2) consolidate update OS category from dialog box to main screen.
This commit is contained in:
parent
a11b7de9fe
commit
2b5e673b0a
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
|
|
||||||
#Labels
|
#Labels
|
||||||
|
label.action.edit.host=Edit Host
|
||||||
|
|
||||||
network.rate=Network Rate
|
network.rate=Network Rate
|
||||||
|
|
||||||
ICMP.type=ICMP Type
|
ICMP.type=ICMP Type
|
||||||
|
|||||||
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
|
|
||||||
#Labels
|
#Labels
|
||||||
|
label.action.edit.host=edición Anfitrión
|
||||||
|
|
||||||
network.rate=Tasa de red
|
network.rate=Tasa de red
|
||||||
|
|
||||||
ICMP.type=Tipo ICMP
|
ICMP.type=Tipo ICMP
|
||||||
|
|||||||
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
|
|
||||||
#Labels
|
#Labels
|
||||||
|
label.action.edit.host=ホストを編集する
|
||||||
|
|
||||||
network.rate=ネットワーク速度
|
network.rate=ネットワーク速度
|
||||||
|
|
||||||
ICMP.type=ICMPタイプ
|
ICMP.type=ICMPタイプ
|
||||||
|
|||||||
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
|
|
||||||
#Labels
|
#Labels
|
||||||
|
label.action.edit.host=编辑主机
|
||||||
|
|
||||||
network.rate=网络速率
|
network.rate=网络速率
|
||||||
|
|
||||||
ICMP.type=ICMP类型
|
ICMP.type=ICMP类型
|
||||||
|
|||||||
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
<script language="javascript">
|
<script language="javascript">
|
||||||
dictionary = {
|
dictionary = {
|
||||||
|
'label.action.edit.host' : '<fmt:message key="label.action.edit.host"/>',
|
||||||
'label.action.enable.maintenance.mode' : '<fmt:message key="label.action.enable.maintenance.mode"/>',
|
'label.action.enable.maintenance.mode' : '<fmt:message key="label.action.enable.maintenance.mode"/>',
|
||||||
'label.action.enable.maintenance.mode.processing' : '<fmt:message key="label.action.enable.maintenance.mode.processing"/>',
|
'label.action.enable.maintenance.mode.processing' : '<fmt:message key="label.action.enable.maintenance.mode.processing"/>',
|
||||||
'message.action.host.enable.maintenance.mode' : '<fmt:message key="message.action.host.enable.maintenance.mode"/>',
|
'message.action.host.enable.maintenance.mode' : '<fmt:message key="message.action.host.enable.maintenance.mode"/>',
|
||||||
@ -120,6 +121,8 @@ dictionary = {
|
|||||||
<div class="grid_row_cell" style="width: 79%;">
|
<div class="grid_row_cell" style="width: 79%;">
|
||||||
<div class="row_celltitles" id="hosttags">
|
<div class="row_celltitles" id="hosttags">
|
||||||
</div>
|
</div>
|
||||||
|
<input class="text" id="hosttags_edit" style="width: 200px; display: none;" type="text" />
|
||||||
|
<div id="hosttags_edit_errormsg" style="display:none"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_rows odd">
|
<div class="grid_rows odd">
|
||||||
@ -189,7 +192,9 @@ dictionary = {
|
|||||||
</div>
|
</div>
|
||||||
<div class="grid_row_cell" style="width: 79%;">
|
<div class="grid_row_cell" style="width: 79%;">
|
||||||
<div class="row_celltitles" id="oscategoryname">
|
<div class="row_celltitles" id="oscategoryname">
|
||||||
</div>
|
</div>
|
||||||
|
<select class="select" id="os_dropdown" style="width: 202px; display: none;">
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid_rows even">
|
<div class="grid_rows even">
|
||||||
@ -202,7 +207,14 @@ dictionary = {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="grid_botactionpanel">
|
||||||
|
<div class="gridbot_buttons" id="save_button" style="display:none;"><fmt:message key="label.save"/></div>
|
||||||
|
<div class="gridbot_buttons" id="cancel_button" style="display:none;"><fmt:message key="label.cancel"/></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Details tab (end)-->
|
<!-- Details tab (end)-->
|
||||||
|
|||||||
@ -61,7 +61,25 @@ function afterLoadHostJSP() {
|
|||||||
var tabContentArray = [$("#tab_content_details"), $("#tab_content_instance"), $("#tab_content_router"), $("#tab_content_systemvm"), $("#tab_content_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];
|
var afterSwitchFnArray = [hostJsonToDetailsTab, hostJsonToInstanceTab, hostJsonToRouterTab, hostJsonToSystemvmTab, hostJsonToStatisticsTab];
|
||||||
switchBetweenDifferentTabs(tabArray, tabContentArray, afterSwitchFnArray);
|
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("<option value=''>None</option>");
|
||||||
|
if (categories != null && categories.length > 0) {
|
||||||
|
for (var i = 0; i < categories.length; i++) {
|
||||||
|
$dropdown.append("<option value='" + categories[i].id + "'>" + fromdb(categories[i].name) + "</option>");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
hostRefreshDataBinding();
|
hostRefreshDataBinding();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,43 +221,45 @@ function hostBuildActionMenu(jsonObj, $thisTab, $midmenuItem1) {
|
|||||||
$actionMenu.find("#action_list").empty();
|
$actionMenu.find("#action_list").empty();
|
||||||
var noAvailableActions = true;
|
var noAvailableActions = true;
|
||||||
|
|
||||||
if (jsonObj.state == 'Up' || jsonObj.state == "Connecting") {
|
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.enable.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.force.reconnect", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.force.reconnect", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.update.OS.preference", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.update.OS.preference", hostActionMap, $actionMenu, $midmenuItem1, $thisTab); //temp
|
||||||
noAvailableActions = false;
|
noAvailableActions = false;
|
||||||
}
|
}
|
||||||
else if(jsonObj.state == 'Down') {
|
else if(jsonObj.state == 'Down') {
|
||||||
buildActionLinkForTab("label.action.enable.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.update.OS.preference", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.enable.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
noAvailableActions = false;
|
noAvailableActions = false;
|
||||||
}
|
}
|
||||||
else if(jsonObj.state == "Alert") {
|
else if(jsonObj.state == "Alert") {
|
||||||
buildActionLinkForTab("label.action.update.OS.preference", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
noAvailableActions = false;
|
noAvailableActions = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (jsonObj.state == "ErrorInMaintenance") {
|
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.enable.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.cancel.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.cancel.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.update.OS.preference", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
|
||||||
noAvailableActions = false;
|
noAvailableActions = false;
|
||||||
}
|
}
|
||||||
else if (jsonObj.state == "PrepareForMaintenance") {
|
else if (jsonObj.state == "PrepareForMaintenance") {
|
||||||
buildActionLinkForTab("label.action.cancel.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.update.OS.preference", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.cancel.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
noAvailableActions = false;
|
noAvailableActions = false;
|
||||||
}
|
}
|
||||||
else if (jsonObj.state == "Maintenance") {
|
else if (jsonObj.state == "Maintenance") {
|
||||||
buildActionLinkForTab("label.action.cancel.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.update.OS.preference", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.cancel.maintenance.mode", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
noAvailableActions = false;
|
noAvailableActions = false;
|
||||||
}
|
}
|
||||||
else if (jsonObj.state == "Disconnected"){
|
else if (jsonObj.state == "Disconnected"){
|
||||||
buildActionLinkForTab("label.action.update.OS.preference", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.edit.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
buildActionLinkForTab("label.action.remove.host", hostActionMap, $actionMenu, $midmenuItem1, $thisTab);
|
||||||
noAvailableActions = false;
|
noAvailableActions = false;
|
||||||
}
|
}
|
||||||
@ -548,6 +568,9 @@ function populateForUpdateOSDialog(oscategoryid) {
|
|||||||
|
|
||||||
|
|
||||||
var hostActionMap = {
|
var hostActionMap = {
|
||||||
|
"label.action.edit.host": {
|
||||||
|
dialogBeforeActionFn: doEditHost
|
||||||
|
},
|
||||||
"label.action.enable.maintenance.mode": {
|
"label.action.enable.maintenance.mode": {
|
||||||
isAsyncJob: true,
|
isAsyncJob: true,
|
||||||
asyncJobResponse: "preparehostformaintenanceresponse",
|
asyncJobResponse: "preparehostformaintenanceresponse",
|
||||||
@ -604,6 +627,59 @@ var hostActionMap = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
$.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){
|
function doEnableMaintenanceMode($actionLink, $detailsTab, $midmenuItem1){
|
||||||
var jsonObj = $midmenuItem1.data("jsonObj");
|
var jsonObj = $midmenuItem1.data("jsonObj");
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user