cloudStack - sync UI change from 2.2.y branch to mater branch.

This commit is contained in:
Jessica Wang 2011-09-13 16:00:22 -07:00
parent 569427ba1f
commit de9856f1c4
40 changed files with 255 additions and 159 deletions

View File

@ -4,6 +4,8 @@
#Labels
extractable=Extractable
label.ocfs2=OCFS2
label.action.edit.host=Edit Host
@ -49,7 +51,7 @@ force.remove=Force Remove
force.remove.host.warning=Warning: Choosing this option will cause CloudStack to forcefully stop all running virtual machines before removing this host from the cluster.
force.stop=Force Stop
force.stop.instance.warning=Warning: Forcing a stop on this instance should be your last option. It can lead to data loss as well as inconsistent behavior of the virtual machine's state. Please consult with the Administrator Guide or Cloud.com Support before executing this command.
force.stop.instance.warning=Warning: Forcing a stop on this instance should be your last option. It can lead to data loss as well as inconsistent behavior of the virtual machine's state.
label.PreSetup=PreSetup
label.SR.name = SR Name-Label

View File

@ -4,6 +4,8 @@
#Labels
extractable=extraíble
label.ocfs2=OCFS2
label.action.edit.host=edición Anfitrión
@ -49,7 +51,7 @@ force.remove=Fuerza Retire
force.remove.host.warning=Advertencia: Si elige esta opción, CloudStack para detener la fuerza todas las máquinas virtuales en ejecución antes de retirar este host del clúster.
force.stop=Grupo de Alto
force.stop.instance.warning=Advertencia: Obligar a una parada en este caso debería ser su última opción. Puede conducir a la pérdida de datos, así como un comportamiento incoherente del estado de la máquina virtual. Por favor, consulte con la Guía del administrador o al Cloud.com antes de ejecutar este comando.
force.stop.instance.warning=Advertencia: Obligar a una parada en este caso debería ser su última opción. Puede conducir a la pérdida de datos, así como un comportamiento incoherente del Estado de la máquina virtual.
label.PreSetup=PreSetup
label.SR.name = SR Nombre de etiqueta

View File

@ -4,6 +4,8 @@
#Labels
extractable=抽出可能な
label.ocfs2=OCFS2
label.action.edit.host=ホストを編集する
@ -49,7 +51,7 @@ force.remove=強制削除
force.remove.host.warning=警告:このオプションを選択すると、実行中のすべての仮想マシンを強制的に停止して、クラスタからホストを削除します。
force.stop=強制停止
force.stop.instance.warning=警告:このオプションは他に選択肢が無い場合に選択してください。インスタンスの強制停止はデータの損失だけでなく、仮想マシンの状態の一貫性を失う事があります。この操作を行う前に、管理者ガイドを参照されるか、またはCloud.comサポートにご連絡ください
force.stop.instance.warning=警告:このインスタンスの停止を強制すると、あなたの最後のオプションでなければなりません。それデータの損失だけでなく、仮想マシンの状態の一貫性のない動作が発生する可能性があります
label.PreSetup=PreSetup
label.SR.name=SR名-ラベル

View File

@ -4,6 +4,8 @@
#Labels
extractable=萃取
label.ocfs2=OCFS2
label.action.edit.host=编辑主机
@ -49,7 +51,7 @@ force.remove=强行移走
force.remove.host.warning=警告选择此选项将导致CloudStack强行删除此之前停止从群集主机上的所有正在运行的虚拟机。
force.stop=强制停止
force.stop.instance.warning=警告:强制停止在这种情况下应该是你最后的选择。它可以导致数据丢失,以及虚拟机的状态不一致的行为。请与系统管理员指南或Cloud.com支援与顾问在执行此命令
force.stop.instance.warning=警告:强制停止在这个实例应该是你最后的选择。它可以导致数据丢失,以及虚拟机的状态不一致的行为。
label.PreSetup=PreSetup
label.SR.name=简名称标签

View File

@ -366,7 +366,7 @@ a:hover {
#overlay_black{
display: block;
position: absolute;
position: fixed;
top: 0%;
left: 0%;
width: 100%;

View File

@ -96,6 +96,7 @@
'label.PreSetup': '<fmt:message key="label.PreSetup"/>',
'label.iscsi': '<fmt:message key="label.iscsi"/>',
'label.VMFS.datastore': '<fmt:message key="label.VMFS.datastore"/>',
'label.theme.default': '<fmt:message key="label.theme.default"/>',
'label.none': '<fmt:message key="label.none"/>',
'label.yes': '<fmt:message key="label.yes"/>',
'label.no': '<fmt:message key="label.no"/>'

View File

@ -221,7 +221,7 @@ dictionary = {
<div class="grid_header">
<div class="grid_header_title" id="grid_header_title">
</div>
<div class="grid_actionbox" id="action_link"><p>Actions</p>
<div class="grid_actionbox" id="action_link"><p><fmt:message key="label.actions"/></p>
<div class="grid_actionsdropdown_box" id="action_menu" style="display: none;">
<ul class="actionsdropdown_boxlist" id="action_list">
</ul>

View File

@ -44,8 +44,8 @@ dictionary = {
<div id="tab_container">
<div class="grid_container">
<div class="grid_header">
<div id="grid_header_title" class="grid_header_title">(title)</div>
<div id="action_link" class="grid_actionbox"><p>Actions</p>
<div id="grid_header_title" class="grid_header_title"></div>
<div class="grid_actionbox" id="action_link"><p><fmt:message key="label.actions"/></p>
<div class="grid_actionsdropdown_box" id="action_menu" style="display: none;">
<ul class="actionsdropdown_boxlist" id="action_list">
<li><fmt:message key="label.no.actions"/></li>

View File

@ -51,7 +51,7 @@ dictionary = {
<div class="grid_header_title"><fmt:message key="label.description"/></div>
</div>
<div class="grid_header_cell" style="width:15%; border:none;">
<div id="action_link" class="grid_actionbox"><p>Actions</p>
<div class="grid_actionbox" id="action_link"><p><fmt:message key="label.actions"/></p>
<div class="grid_actionsdropdown_box" id="action_menu" style="display: none;">
<ul class="actionsdropdown_boxlist" id="action_list">
<li><fmt:message key="label.no.actions"/></li>

View File

@ -707,7 +707,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.linklocal.ip"/>:</div>
@ -717,7 +717,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.created"/>:</div>

View File

@ -1025,7 +1025,7 @@ dictionary = {
<div class="grid_header_title" id="title">
</div>
<!--
<div class="grid_actionbox" id="action_link"><p>Actions</p>
<div class="grid_actionbox" id="action_link"><p><fmt:message key="label.actions"/></p>
<div class="grid_actionsdropdown_box" id="action_menu" style="display: none;">
<ul class="actionsdropdown_boxlist" id="action_list">
</ul>

View File

@ -59,7 +59,7 @@ dictionary = {
<div id="tab_container">
<div class="grid_container">
<div class="grid_header">
<div id="grid_header_title" class="grid_header_title">(title)</div>
<div id="grid_header_title" class="grid_header_title" style="font-size:10px"></div>
<div class="grid_actionbox" id="action_link"><p><fmt:message key="label.actions"/></p>
<div class="grid_actionsdropdown_box" id="action_menu" style="display: none;">
<ul class="actionsdropdown_boxlist" id="action_list">
@ -234,31 +234,31 @@ dictionary = {
<div class="grid_container" id="grid_container">
<div class="grid_header">
<div class="grid_header_cell" style="padding:1px; width: 30%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.cidr.list"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.protocol"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.start.port"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.end.port"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="ICMP.type"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="ICMP.code"/></div>
</div>
<div class="grid_header_cell" style="padding:1px; width: 10%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.actions"/></div>
</div>
</div>
@ -313,23 +313,23 @@ dictionary = {
<div class="grid_container" id="grid_container">
<div class="grid_header">
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.start.port"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.end.port"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.protocol"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.state"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.actions"/></div>
</div>
</div>
@ -374,27 +374,27 @@ dictionary = {
<div class="grid_container" id="grid_container">
<div class="grid_header">
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.public.port"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.private.port"/></div>
</div>
<div class="grid_header_cell" style="width: 10%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.protocol"/></div>
</div>
<div class="grid_header_cell" style="width: 30%; border: none;">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.instance"/></div>
</div>
<div class="grid_header_cell" style="width: 10%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.state"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.actions"/></div>
</div>
</div>
@ -455,27 +455,27 @@ dictionary = {
<div class="grid_header">
<div class="grid_header_cell" style="width: 25%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.name"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.public.port"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.private.port"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.algorithm"/></div>
</div>
<div class="grid_header_cell" style="width: 10%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.state"/></div>
</div>
<div class="grid_header_cell" style="width: 15%; ">
<div class="grid_header_title">
<div class="grid_header_title" style="font-size:10px">
<fmt:message key="label.actions"/></div>
</div>
</div>
@ -533,7 +533,7 @@ dictionary = {
</div>
<div class="grid_container">
<div class="grid_header">
<div id="grid_header_title" class="grid_header_title">VPN Users</div>
<div id="grid_header_title" class="grid_header_title" style="font-size:10px">VPN Users</div>
<div class="grid_actionbox" id="vpn_action_link"><p><fmt:message key="label.actions"/></p>
<div class="grid_actionsdropdown_box" id="vpn_action_menu" style="display: none;">
<ul class="actionsdropdown_boxlist" id="action_list">

View File

@ -142,8 +142,18 @@ dictionary = {
<div class="row_celltitles" id="bootable">
</div>
</div>
</div>
<div class="grid_rows even">
</div>
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="extractable"/>:</div>
</div>
<div class="grid_row_cell" style="width: 79%;">
<div class="row_celltitles" id="isextractable">
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.public"/>:</div>
@ -158,7 +168,7 @@ dictionary = {
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.featured"/>:</div>
@ -173,7 +183,7 @@ dictionary = {
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.cross.zones"/>:</div>
@ -183,7 +193,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.os.type"/>:</div>
@ -195,7 +205,7 @@ dictionary = {
</select>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.account"/>:</div>
@ -205,7 +215,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.domain"/>:</div>
@ -215,7 +225,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.created"/>:</div>
@ -225,7 +235,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.status"/>:</div>
@ -235,7 +245,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows even" id="progressbar_container">
<div class="grid_rows odd" id="progressbar_container">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.download.progress"/>:</div>
@ -293,7 +303,14 @@ dictionary = {
<label><fmt:message key="label.zone"/>:</label>
<select class="select" id="add_iso_zone">
</select>
</li>
</li>
<li>
<label><fmt:message key="extractable"/>:</label>
<select class="select" id="isextractable">
<option value="false"><fmt:message key="label.no"/></option>
<option value="true"><fmt:message key="label.yes"/></option>
</select>
</li>
<li>
<label for="add_iso_public"><fmt:message key="label.bootable"/>:</label>
<select class="select" name="add_iso_bootable" id="add_iso_bootable">

View File

@ -151,8 +151,18 @@ dictionary = {
<div class="row_celltitles" id="size">
</div>
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="extractable"/>:</div>
</div>
<div class="grid_row_cell" style="width: 79%;">
<div class="row_celltitles" id="isextractable">
</div>
</div>
</div>
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.password.enabled"/>:</div>
@ -166,7 +176,7 @@ dictionary = {
</select>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.public"/>:</div>
@ -180,7 +190,7 @@ dictionary = {
</select>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.featured"/>:</div>
@ -194,7 +204,7 @@ dictionary = {
</select>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.cross.zones"/>:</div>
@ -204,7 +214,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.os.type"/>:</div>
@ -216,7 +226,7 @@ dictionary = {
</select>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.account"/>:</div>
@ -226,7 +236,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.domain"/>:</div>
@ -236,7 +246,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows even">
<div class="grid_rows odd">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.created"/>:</div>
@ -247,7 +257,7 @@ dictionary = {
</div>
</div>
<div class="grid_rows odd">
<div class="grid_rows even">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.status"/>:</div>
@ -257,7 +267,7 @@ dictionary = {
</div>
</div>
</div>
<div class="grid_rows even" id="progressbar_container">
<div class="grid_rows odd" id="progressbar_container">
<div class="grid_row_cell" style="width: 20%;">
<div class="row_celltitles">
<fmt:message key="label.download.progress"/>:</div>
@ -393,7 +403,14 @@ dictionary = {
<label for="add_template_format"><fmt:message key="label.format"/>:</label>
<select class="select" name="add_template_format" id="add_template_format">
</select>
</li>
</li>
<li>
<label><fmt:message key="extractable"/>:</label>
<select class="select" id="isextractable">
<option value="false"><fmt:message key="label.no"/></option>
<option value="true"><fmt:message key="label.yes"/></option>
</select>
</li>
<li>
<label><fmt:message key="label.password.enabled"/>:</label>
<select class="select" id="add_template_password">

View File

@ -353,11 +353,11 @@ function accountToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_account_domain.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -46,11 +46,11 @@ function alertToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_alerts.png");
var firstRowText = fromdb(jsonObj.description);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -21,7 +21,13 @@ function afterLoadDashboardJSP() {
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;
@ -201,13 +207,7 @@ function afterLoadDashboardJSP() {
}
}
});
$("#general_alerts").find("#more_icon").unbind("click").bind("click", function(event) {
$("#leftmenu_events").click();
$("#leftmenu_alert").click();
return false;
});
// Hosts Alerts
$.ajax({
data: createURL("command=listHosts&state=Alert"),

View File

@ -261,11 +261,11 @@ function diskOfferingToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_system_diskoffering.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -93,11 +93,11 @@ function eventToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_events_warning.png");
var firstRowText = fromdb(jsonObj.description);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -96,11 +96,11 @@ function hostToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_host.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
updateHostStateInMidMenu(jsonObj, $midmenuItem1);

View File

@ -66,7 +66,7 @@ $(document).ready(function() {
$currentTheme.remove();
$currentTheme = null;
}
var name = "Default Theme";
var name = g_dictionary["label.theme.default"];
if (id != "theme_default") {
$currentTheme = $("<link>").appendTo("head").attr({
rel: "stylesheet",
@ -80,7 +80,7 @@ $(document).ready(function() {
$currentTheme.remove();
}
$.cookie("theme", null);
name = "Default Theme";
name = g_dictionary["label.theme.default"];
}
$("#theme_button p").text(name);
$(this).hide();

View File

@ -1796,11 +1796,11 @@ function vmToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.attr("id", getMidmenuId(jsonObj));
var firstRowText = getVmName(jsonObj.name, jsonObj.displayname);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
updateVmStateInMidMenu(jsonObj, $midmenuItem1);
@ -1997,6 +1997,10 @@ function vmBuildActionMenu(jsonObj, $thisTab, $midmenuItem1) {
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);

View File

@ -802,11 +802,11 @@ function ipToMidmenu(jsonObj, $midmenuItem1) {
var firstRowText = fromdb(jsonObj.ipaddress);
if (jsonObj.issourcenat == true)
firstRowText += "[source nat]";
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -133,7 +133,7 @@ function initAddIsoDialog() {
var html = "<option value=''>" + g_dictionary["label.none"] + "</option>";
osTypeDropDownAdd.append(html);
osTypeDropdownEdit.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) {
@ -182,18 +182,21 @@ function initAddIsoDialog() {
$thisDialog.dialog("close");
var array1 = [];
var name = trim($thisDialog.find("#add_iso_name").val());
var name = $thisDialog.find("#add_iso_name").val();
array1.push("&name="+todb(name));
var desc = trim($thisDialog.find("#add_iso_display_text").val());
var desc = $thisDialog.find("#add_iso_display_text").val();
array1.push("&displayText="+todb(desc));
var url = trim($thisDialog.find("#add_iso_url").val());
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);
@ -305,11 +308,11 @@ function isoToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_iso.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}
@ -424,6 +427,8 @@ function isoJsonToDetailsTab() {
$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"));

View File

@ -849,7 +849,7 @@ function afterAddingMidMenuItem($midmenuItem1, isSuccessful, secondRowText) {
$midmenuItem1.find("#first_row").text(g_dictionary["label.adding.failed"]);
if(secondRowText != null)
$midmenuItem1.find("#second_row").text(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#close_icon").show().bind("click", function(event) {
$midmenuItem1.slideUp("slow", function() {
@ -860,7 +860,7 @@ function afterAddingMidMenuItem($midmenuItem1, isSuccessful, secondRowText) {
}
if(secondRowText != null) {
$midmenuItem1.find("#second_row").text(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
}
}
@ -1579,7 +1579,7 @@ function isUser() {
return (g_role == 0);
}
function setDateField(dateValue, dateField, htmlMarkup) {
function setDateField(dateValue, dateField) {
if (dateValue != null && dateValue.length > 0) {
var disconnected = new Date();
disconnected.setISO8601(dateValue);
@ -1587,11 +1587,9 @@ function setDateField(dateValue, dateField, htmlMarkup) {
if(g_timezoneoffset != null)
showDate = disconnected.getTimePlusTimezoneOffset(g_timezoneoffset);
else
showDate = disconnected.format("m/d/Y H:i:s");
if(htmlMarkup == null)
dateField.text(showDate);
else
dateField.html(htmlMarkup + showDate);
showDate = disconnected.getTimePlusTimezoneOffset(0);
dateField.text(showDate);
}
}
@ -1880,6 +1878,25 @@ function validateIp(label, field, errMsgField, isOptional) {
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;
@ -2018,6 +2035,12 @@ function sanitizeXSS(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)

View File

@ -188,11 +188,11 @@ function publicNetworkToMidmenu(jsonObj, $midmenuItem1) {
*/
var firstRowText = "Public Network";
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}
@ -614,7 +614,7 @@ function bindAddIpRangeToPublicNetworkButton() {
}
isValid &= validateIp("Gateway", $thisDialog.find("#add_publicip_vlan_gateway"), $thisDialog.find("#add_publicip_vlan_gateway_errormsg"), false); //required
isValid &= validateIp("Netmask", $thisDialog.find("#add_publicip_vlan_netmask"), $thisDialog.find("#add_publicip_vlan_netmask_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
@ -1034,11 +1034,11 @@ function directNetworkToMidmenu(jsonObj, $midmenuItem1) {
*/
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}
@ -1287,7 +1287,7 @@ function bindAddNetworkButton() {
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 &= validateIp("Netmask", $thisDialog.find("#add_publicip_vlan_netmask"), $thisDialog.find("#add_publicip_vlan_netmask_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
@ -1451,7 +1451,7 @@ function bindAddIpRangeToDirectNetworkButton($midmenuItem1) {
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 &= validateIp("Netmask", $thisDialog.find("#netmask"), $thisDialog.find("#netmask_errormsg"), false); //required
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)

View File

@ -102,11 +102,11 @@ function networkOfferingToMidmenu(jsonObj, $midmenuItem1) {
*/
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -936,7 +936,7 @@ function bindAddIpRangeToPodButton($leftmenuItem1) {
// validate values
var isValid = true;
isValid &= validateIp("Netmask", $thisDialog.find("#netmask"), $thisDialog.find("#netmask_errormsg"));
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
@ -1215,7 +1215,7 @@ function doEditPod2($actionLink, $detailsTab, $midmenuItem1, $readonlyFields, $e
// validate values
var isValid = true;
isValid &= validateString("Name", $detailsTab.find("#name_edit"), $detailsTab.find("#name_edit_errormsg"));
isValid &= validateIp("Netmask", $detailsTab.find("#netmask_edit"), $detailsTab.find("#netmask_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

View File

@ -49,11 +49,11 @@ function primarystorageToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_primarystorage.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
updateHostStateInMidMenu(jsonObj, $midmenuItem1);

View File

@ -480,7 +480,7 @@ function initAddPodShortcut() {
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 &= validateIp("Netmask", $thisDialog.find("#add_pod_netmask"), $thisDialog.find("#add_pod_netmask_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
@ -488,7 +488,7 @@ function initAddPodShortcut() {
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 &= validateIp("Guest Netmask", $thisDialog.find("#guestnetmask"), $thisDialog.find("#guestnetmask_errormsg")); //required when creating
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"));
}
@ -1342,7 +1342,7 @@ 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 &= validateIp("Netmask", $thisWizard.find("#add_pod_netmask"), $thisWizard.find("#add_pod_netmask_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;
@ -1356,7 +1356,7 @@ function addZoneWizardValidateDirectVLAN($thisWizard) {
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 &= validateIp("Guest Netmask", $createDirectVLAN.find("#guestnetmask"), $createDirectVLAN.find("#guestnetmask_errormsg")); //required when creating
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;
@ -1375,7 +1375,7 @@ function addZoneWizardValidateVirtualVLAN($thisWizard) {
}
isValid &= validateIp("Gateway", $createVirtualVlan.find("#add_publicip_vlan_gateway"), $createVirtualVlan.find("#add_publicip_vlan_gateway_errormsg"), false); //required
isValid &= validateIp("Netmask", $createVirtualVlan.find("#add_publicip_vlan_netmask"), $createVirtualVlan.find("#add_publicip_vlan_netmask_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

View File

@ -84,11 +84,11 @@ function routerToMidmenu(jsonObj, $midmenuItem1) {
$midmenuItem1.data("jsonObj", jsonObj);
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
updateVmStateInMidMenu(jsonObj, $midmenuItem1);

View File

@ -65,11 +65,11 @@ function secondaryStorageToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_host.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -383,11 +383,11 @@ function securityGroupToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_securityGroup.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$midmenuItem1.find("#first_row").text(clippedText(firstRowText, midMenuFirstRowLength));
$midmenuItem1.find("#first_row_container").attr("title", firstRowText);
var secondRowText = fromdb(jsonObj.account);
$midmenuItem1.find("#second_row").text(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -274,11 +274,11 @@ function serviceOfferingToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_system_serviceoffering.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -124,11 +124,11 @@ function snapshotToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_snapshots.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -274,11 +274,11 @@ function systemServiceOfferingToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_system_serviceoffering.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}

View File

@ -56,11 +56,11 @@ function systemvmToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_resource_systemvm.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
updateVmStateInMidMenu(jsonObj, $midmenuItem1);

View File

@ -118,38 +118,57 @@ function afterLoadTemplateJSP() {
$("#dialog_add_template")
.dialog('option', 'buttons', {
"Add": function() {
var thisDialog = $(this);
var $thisDialog = $(this);
// validate values
var isValid = true;
isValid &= validateString("Name", thisDialog.find("#add_template_name"), thisDialog.find("#add_template_name_errormsg"));
//isValid &= validateFilename("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"));
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 name = trim(thisDialog.find("#add_template_name").val());
var desc = trim(thisDialog.find("#add_template_display_text").val());
var url = trim(thisDialog.find("#add_template_url").val());
var zoneId = thisDialog.find("#add_template_zone").val();
var format = thisDialog.find("#add_template_format").val();
var password = thisDialog.find("#add_template_password").val();
var isPublic = thisDialog.find("#add_template_public").val();
var osType = thisDialog.find("#add_template_os_type").val();
var hypervisor = thisDialog.find("#add_template_hypervisor").val();
$thisDialog.dialog("close");
var array1 = [];
var name = $thisDialog.find("#add_template_name").val();
array1.push("&name="+todb(name));
var moreCriteria = [];
if(thisDialog.find("#add_template_featured_container").css("display")!="none") {
var isFeatured = thisDialog.find("#add_template_featured").val();
moreCriteria.push("&isfeatured="+isFeatured);
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&name="+todb(name)+"&displayText="+todb(desc)+"&url="+todb(url)+"&zoneid="+zoneId+"&ispublic="+isPublic+moreCriteria.join("")+"&format="+format+"&passwordEnabled="+password+"&osTypeId="+osType+"&hypervisor="+hypervisor+""),
data: createURL("command=registerTemplate" + array1.join("")),
dataType: "json",
success: function(json) {
var items = json.registertemplateresponse.template;
@ -317,11 +336,11 @@ function templateToMidmenu(jsonObj, $midmenuItem1) {
setIconByOsType(jsonObj.ostypename, $iconContainer.find("#icon"));
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}
@ -432,6 +451,8 @@ function templateJsonToDetailsTab() {
$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"));

View File

@ -372,11 +372,11 @@ function volumeToMidmenu(jsonObj, $midmenuItem1) {
$iconContainer.find("#icon").attr("src", "images/midmenuicon_storage_volume.png");
var firstRowText = fromdb(jsonObj.name);
$midmenuItem1.find("#first_row").text(firstRowText.substring(0,midMenuFirstRowLength));
$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(secondRowText.substring(0,midMenuSecondRowLength));
$midmenuItem1.find("#second_row").text(clippedText(secondRowText, midMenuSecondRowLength));
$midmenuItem1.find("#second_row_container").attr("title", secondRowText);
}
@ -461,7 +461,7 @@ function volumeJsonToDetailsTab(){
}
else {
if (jsonObj.virtualmachineid != null) {
if (jsonObj.storagetype == "shared" && (jsonObj.vmstate == "Running" || jsonObj.vmstate == "Stopped")) {
if (jsonObj.storagetype == "shared" && (jsonObj.vmstate == "Running" || jsonObj.vmstate == "Stopped" || jsonObj.vmstate == "Destroyed")) {
buildActionLinkForTab("label.action.detach.disk", volumeActionMap, $actionMenu, $midmenuItem1, $thisTab);
}
} else {

View File

@ -256,7 +256,7 @@ function bindAddPodButton($button, $leftmenuItem1) {
// validate values
var isValid = true;
isValid &= validateString("Name", $thisDialog.find("#add_pod_name"), $thisDialog.find("#add_pod_name_errormsg"));
isValid &= validateIp("Netmask", $thisDialog.find("#add_pod_netmask"), $thisDialog.find("#add_pod_netmask_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
@ -264,7 +264,7 @@ function bindAddPodButton($button, $leftmenuItem1) {
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 &= validateIp("Guest Netmask", $thisDialog.find("#guestnetmask"), $thisDialog.find("#guestnetmask_errormsg")); //required when creating
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"));
}