mirror of https://github.com/apache/cloudstack.git
new UI - instance page - refactor submenu.
This commit is contained in:
parent
ede817886a
commit
958aaaaf87
|
|
@ -224,12 +224,12 @@ public class ApiDispatcher {
|
|||
if (cause instanceof AsyncCommandQueued) {
|
||||
throw (AsyncCommandQueued)cause;
|
||||
}
|
||||
s_logger.warn("Exception executing method " + methodName + " for command " + cmd.getClass().getSimpleName(), ite);
|
||||
if (cause instanceof InvalidParameterValueException) {
|
||||
throw new ServerApiException(BaseCmd.PARAM_ERROR, cause.getMessage());
|
||||
} else if (cause instanceof PermissionDeniedException) {
|
||||
throw new ServerApiException(BaseCmd.ACCOUNT_ERROR, cause.getMessage());
|
||||
}
|
||||
s_logger.warn("Exception executing method " + methodName + " for command " + cmd.getClass().getSimpleName(), ite);
|
||||
throw new ServerApiException(BaseCmd.INTERNAL_ERROR, "Unable to execute method " + methodName + " for command " + cmd.getClass().getSimpleName() + ", internal error in the implementation.");
|
||||
} catch (IllegalAccessException iae) {
|
||||
s_logger.warn("Exception executing method " + methodName + " for command " + cmd.getClass().getSimpleName(), iae);
|
||||
|
|
|
|||
|
|
@ -163,6 +163,9 @@ public class CreateVolumeCmd extends BaseAsyncCreateCmd {
|
|||
if (volume.getPoolId() != null) {
|
||||
response.setStoragePoolName(ApiDBUtils.findStoragePoolById(volume.getPoolId()).getName());
|
||||
}
|
||||
|
||||
// if the volume was created from a snapshot, snapshotId will be set so we pass it back in the response
|
||||
response.setSnapshotId(getSnapshotId());
|
||||
response.setZoneId(volume.getDataCenterId());
|
||||
response.setZoneName(ApiDBUtils.findZoneById(volume.getDataCenterId()).getName());
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ import com.cloud.user.UserContext;
|
|||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.vm.InstanceGroupVO;
|
||||
|
||||
@Implementation(createMethod="createVirtualMachine", method="startVirtualMachine", manager=Manager.UserVmManager, description="Creates and automatically starts a virtual machine based on a service offering, disk offering, and template.")
|
||||
@Implementation(method="deployVirtualMachine", description="Creates and automatically starts a virtual machine based on a service offering, disk offering, and template.")
|
||||
public class DeployVMCmd extends BaseAsyncCmd {
|
||||
public static final Logger s_logger = Logger.getLogger(DeployVMCmd.class.getName());
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ import com.cloud.storage.StoragePoolVO;
|
|||
public class ListCapacityCmd extends BaseListCmd {
|
||||
|
||||
public static final Logger s_logger = Logger.getLogger(ListCapacityCmd.class.getName());
|
||||
private static final DecimalFormat s_percentFormat = new DecimalFormat("####.##");
|
||||
private static final DecimalFormat s_percentFormat = new DecimalFormat("##.##");
|
||||
|
||||
private static final String s_name = "listcapacityresponse";
|
||||
|
||||
|
|
@ -120,12 +120,15 @@ public class ListCapacityCmd extends BaseListCmd {
|
|||
capacityResponse.setPodId(summedCapacity.getPodId());
|
||||
if (summedCapacity.getPodId() > 0) {
|
||||
capacityResponse.setPodName(ApiDBUtils.findPodById(summedCapacity.getPodId()).getName());
|
||||
} else {
|
||||
capacityResponse.setPodName("All");
|
||||
}
|
||||
}
|
||||
capacityResponse.setZoneId(summedCapacity.getDataCenterId());
|
||||
capacityResponse.setZoneName(ApiDBUtils.findZoneById(summedCapacity.getDataCenterId()).getName());
|
||||
if (summedCapacity.getTotalCapacity() != 0) {
|
||||
capacityResponse.setPercentUsed(s_percentFormat.format(summedCapacity.getUsedCapacity() / summedCapacity.getTotalCapacity()));
|
||||
float computed = ((float)summedCapacity.getUsedCapacity() / (float)summedCapacity.getTotalCapacity() * 100f);
|
||||
capacityResponse.setPercentUsed(s_percentFormat.format((float)summedCapacity.getUsedCapacity() / (float)summedCapacity.getTotalCapacity() * 100f));
|
||||
} else {
|
||||
capacityResponse.setPercentUsed(s_percentFormat.format(0L));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -206,6 +206,7 @@ public class ListVolumesCmd extends BaseListCmd {
|
|||
volResponse.setSourceType(volume.getSourceType().toString());
|
||||
}
|
||||
volResponse.setHypervisor(ApiDBUtils.getVolumeHyperType(volume.getId()).toString());
|
||||
volResponse.setAttached(volume.getAttached());
|
||||
|
||||
volResponse.setResponseName("volume");
|
||||
volResponses.add(volResponse);
|
||||
|
|
|
|||
|
|
@ -21,13 +21,19 @@ import org.apache.log4j.Logger;
|
|||
|
||||
import com.cloud.api.ApiDBUtils;
|
||||
import com.cloud.api.BaseAsyncCmd;
|
||||
import com.cloud.api.BaseCmd;
|
||||
import com.cloud.api.BaseCmd.Manager;
|
||||
import com.cloud.api.Implementation;
|
||||
import com.cloud.api.Parameter;
|
||||
import com.cloud.api.response.SuccessResponse;
|
||||
import com.cloud.api.response.UserVmResponse;
|
||||
import com.cloud.event.EventTypes;
|
||||
import com.cloud.offering.ServiceOffering;
|
||||
import com.cloud.storage.StoragePoolVO;
|
||||
import com.cloud.storage.VMTemplateVO;
|
||||
import com.cloud.storage.VolumeVO;
|
||||
import com.cloud.user.Account;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.vm.InstanceGroupVO;
|
||||
|
||||
@Implementation(method="rebootVirtualMachine", manager=Manager.UserVmManager, description="Reboots a virtual machine.")
|
||||
public class RebootVMCmd extends BaseAsyncCmd {
|
||||
|
|
@ -79,10 +85,102 @@ public class RebootVMCmd extends BaseAsyncCmd {
|
|||
}
|
||||
|
||||
@Override @SuppressWarnings("unchecked")
|
||||
public SuccessResponse getResponse() {
|
||||
Boolean success = (Boolean)getResponseObject();
|
||||
SuccessResponse response = new SuccessResponse();
|
||||
response.setSuccess(success);
|
||||
public UserVmResponse getResponse() {
|
||||
UserVm vm = (UserVm)getResponseObject();
|
||||
|
||||
UserVmResponse response = new UserVmResponse();
|
||||
response.setId(vm.getId());
|
||||
response.setName(vm.getName());
|
||||
response.setCreated(vm.getCreated());
|
||||
response.setZoneId(vm.getDataCenterId());
|
||||
response.setZoneName(ApiDBUtils.findZoneById(vm.getDataCenterId()).getName());
|
||||
response.setIpAddress(vm.getPrivateIpAddress());
|
||||
response.setServiceOfferingId(vm.getServiceOfferingId());
|
||||
response.setHaEnable(vm.isHaEnabled());
|
||||
if (vm.getDisplayName() == null || vm.getDisplayName().length() == 0) {
|
||||
response.setDisplayName(vm.getName());
|
||||
} else {
|
||||
response.setDisplayName(vm.getDisplayName());
|
||||
}
|
||||
|
||||
InstanceGroupVO group = ApiDBUtils.findInstanceGroupForVM(vm.getId());
|
||||
if (group != null) {
|
||||
response.setGroup(group.getName());
|
||||
response.setGroupId(group.getId());
|
||||
}
|
||||
|
||||
if (vm.getState() != null) {
|
||||
response.setState(vm.getState().toString());
|
||||
}
|
||||
|
||||
Account acct = ApiDBUtils.findAccountById(vm.getAccountId());
|
||||
if (acct != null) {
|
||||
response.setAccountName(acct.getAccountName());
|
||||
response.setDomainId(acct.getDomainId());
|
||||
response.setDomainName(ApiDBUtils.findDomainById(acct.getDomainId()).getName());
|
||||
}
|
||||
|
||||
if (BaseCmd.isAdmin(acct.getType()) && (vm.getHostId() != null)) {
|
||||
response.setHostName(ApiDBUtils.findHostById(vm.getHostId()).getName());
|
||||
response.setHostId(vm.getHostId());
|
||||
}
|
||||
|
||||
String templateName = "ISO Boot";
|
||||
boolean templatePasswordEnabled = false;
|
||||
String templateDisplayText = "ISO Boot";
|
||||
|
||||
VMTemplateVO template = ApiDBUtils.findTemplateById(vm.getTemplateId());
|
||||
if (template != null) {
|
||||
templateName = template.getName();
|
||||
templatePasswordEnabled = template.getEnablePassword();
|
||||
templateDisplayText = template.getDisplayText();
|
||||
if (templateDisplayText == null) {
|
||||
templateDisplayText = templateName;
|
||||
}
|
||||
}
|
||||
|
||||
response.setTemplateId(vm.getTemplateId());
|
||||
response.setTemplateName(templateName);
|
||||
response.setTemplateDisplayText(templateDisplayText);
|
||||
response.setPasswordEnabled(templatePasswordEnabled);
|
||||
if (templatePasswordEnabled) {
|
||||
response.setPassword(null); // FIXME: Where should password come from? In the old framework, password was always passed
|
||||
// in to composeResultObject() as null, so that behavior is preserved...
|
||||
} else {
|
||||
response.setPassword("");
|
||||
}
|
||||
|
||||
String isoName = null;
|
||||
if (vm.getIsoId() != null) {
|
||||
VMTemplateVO iso = ApiDBUtils.findTemplateById(vm.getIsoId().longValue());
|
||||
if (iso != null) {
|
||||
isoName = iso.getName();
|
||||
}
|
||||
}
|
||||
|
||||
response.setIsoId(vm.getIsoId());
|
||||
response.setIsoName(isoName);
|
||||
|
||||
ServiceOffering offering = ApiDBUtils.findServiceOfferingById(vm.getServiceOfferingId());
|
||||
response.setServiceOfferingId(vm.getServiceOfferingId());
|
||||
response.setServiceOfferingName(offering.getName());
|
||||
|
||||
response.setCpuNumber(offering.getCpu());
|
||||
response.setCpuSpeed(offering.getSpeed());
|
||||
response.setMemory(offering.getRamSize());
|
||||
|
||||
VolumeVO rootVolume = ApiDBUtils.findRootVolume(vm.getId());
|
||||
if (rootVolume != null) {
|
||||
response.setRootDeviceId(rootVolume.getDeviceId());
|
||||
StoragePoolVO storagePool = ApiDBUtils.findStoragePoolById(rootVolume.getPoolId());
|
||||
response.setRootDeviceType(storagePool.getPoolType().toString());
|
||||
}
|
||||
|
||||
response.setGuestOsId(vm.getGuestOSId());
|
||||
|
||||
//Network groups
|
||||
response.setNetworkGroupList(ApiDBUtils.getNetworkGroupsNamesForVm(vm.getId()));
|
||||
|
||||
response.setResponseName(getName());
|
||||
return response;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ public class CapacityResponse extends BaseResponse {
|
|||
@SerializedName("capacityused") @Param(description="the capacity currently in use")
|
||||
private Long capacityUsed;
|
||||
|
||||
@SerializedName("capacityTotal") @Param(description="the total capacity available")
|
||||
@SerializedName("capacitytotal") @Param(description="the total capacity available")
|
||||
private Long capacityTotal;
|
||||
|
||||
@SerializedName("percentused") @Param(description="the percentage of capacity currently in use")
|
||||
|
|
|
|||
|
|
@ -101,6 +101,12 @@ public class VolumeResponse extends BaseResponse {
|
|||
@SerializedName("storage") @Param(description="name of the primary storage hosting the disk volume")
|
||||
private String storagePoolName;
|
||||
|
||||
@SerializedName("snapshotid") @Param(description="ID of the snapshot from which this volume was created")
|
||||
private Long snapshotId;
|
||||
|
||||
@SerializedName("attached") @Param(description="the date the volume was attached to a VM instance")
|
||||
private Date attached;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
|
@ -308,4 +314,20 @@ public class VolumeResponse extends BaseResponse {
|
|||
public void setStoragePoolName(String storagePoolName) {
|
||||
this.storagePoolName = storagePoolName;
|
||||
}
|
||||
|
||||
public Long getSnapshotId() {
|
||||
return snapshotId;
|
||||
}
|
||||
|
||||
public void setSnapshotId(Long snapshotId) {
|
||||
this.snapshotId = snapshotId;
|
||||
}
|
||||
|
||||
public Date getAttached() {
|
||||
return attached;
|
||||
}
|
||||
|
||||
public void setAttached(Date attached) {
|
||||
this.attached = attached;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,7 +73,6 @@ import com.cloud.api.commands.PreparePrimaryStorageForMaintenanceCmd;
|
|||
import com.cloud.api.commands.UpdateStoragePoolCmd;
|
||||
import com.cloud.async.AsyncInstanceCreateStatus;
|
||||
import com.cloud.async.AsyncJobManager;
|
||||
import com.cloud.async.executor.VolumeOperationParam.VolumeOp;
|
||||
import com.cloud.capacity.CapacityVO;
|
||||
import com.cloud.capacity.dao.CapacityDao;
|
||||
import com.cloud.configuration.Config;
|
||||
|
|
@ -507,7 +506,7 @@ public class StorageManagerImpl implements StorageManager {
|
|||
@DB
|
||||
protected Pair<VolumeVO, String> createVolumeFromSnapshot(VolumeVO volume, SnapshotVO snapshot, VMTemplateVO template, long virtualsize) {
|
||||
VolumeVO createdVolume = null;
|
||||
Long volumeId = null;
|
||||
Long volumeId = volume.getId();
|
||||
|
||||
String volumeFolder = null;
|
||||
|
||||
|
|
@ -524,7 +523,7 @@ public class StorageManagerImpl implements StorageManager {
|
|||
|
||||
DiskOfferingVO diskOffering = _diskOfferingDao.findById(volume.getDiskOfferingId());
|
||||
DataCenterVO dc = _dcDao.findById(volume.getDataCenterId());
|
||||
DiskProfile dskCh = createDiskCharacteristics(volume, template, dc, diskOffering);
|
||||
DiskProfile dskCh = new DiskProfile(volume, diskOffering, template.getHypervisorType());
|
||||
|
||||
int retry = 0;
|
||||
// Determine what pod to store the volume in
|
||||
|
|
@ -624,7 +623,7 @@ public class StorageManagerImpl implements StorageManager {
|
|||
VolumeVO originalVolume = _volsDao.findById(origVolumeId); // NOTE: Original volume could be destroyed and removed.
|
||||
VMTemplateVO template = null;
|
||||
if (originalVolume != null) {
|
||||
template = _templateDao.findById(originalVolume.getTemplateId());
|
||||
template = _templateDao.findById(originalVolume.getTemplateId());
|
||||
}
|
||||
|
||||
// everything went well till now
|
||||
|
|
@ -1669,15 +1668,18 @@ public class StorageManagerImpl implements StorageManager {
|
|||
throw rae;
|
||||
}
|
||||
|
||||
Long zoneId = null;
|
||||
Long diskOfferingId = null;
|
||||
Long size = null;
|
||||
// validate input parameters before creating the volume
|
||||
if (cmd.getSnapshotId() == null) {
|
||||
Long zoneId = cmd.getZoneId();
|
||||
zoneId = cmd.getZoneId();
|
||||
if ((zoneId == null)) {
|
||||
throw new InvalidParameterValueException("Missing parameter, zoneid must be specified.");
|
||||
}
|
||||
|
||||
Long diskOfferingId = cmd.getDiskOfferingId();
|
||||
Long size = cmd.getSize();
|
||||
diskOfferingId = cmd.getDiskOfferingId();
|
||||
size = cmd.getSize();
|
||||
if ((diskOfferingId == null) && (size == null)) {
|
||||
throw new InvalidParameterValueException("Missing parameter(s),either a positive volume size or a valid disk offering id must be specified.");
|
||||
} else if ((diskOfferingId == null) && (size != null)) {
|
||||
|
|
@ -1696,6 +1698,7 @@ public class StorageManagerImpl implements StorageManager {
|
|||
if ((diskOffering == null) || !DiskOfferingVO.Type.Disk.equals(diskOffering.getType())) {
|
||||
throw new InvalidParameterValueException("Please specify a valid disk offering.");
|
||||
}
|
||||
size = diskOffering.getDiskSize();
|
||||
}
|
||||
} else {
|
||||
Long snapshotId = cmd.getSnapshotId();
|
||||
|
|
@ -1703,7 +1706,12 @@ public class StorageManagerImpl implements StorageManager {
|
|||
if (snapshotCheck == null) {
|
||||
throw new ServerApiException (BaseCmd.SNAPSHOT_INVALID_PARAM_ERROR, "unable to find a snapshot with id " + snapshotId);
|
||||
}
|
||||
|
||||
|
||||
VolumeVO vol = _volsDao.findById(snapshotCheck.getVolumeId());
|
||||
zoneId = vol.getDataCenterId();
|
||||
diskOfferingId = vol.getDiskOfferingId();
|
||||
size = vol.getSize();
|
||||
|
||||
if (account != null) {
|
||||
if (isAdmin(account.getType())) {
|
||||
Account snapshotOwner = _accountDao.findById(snapshotCheck.getAccountId());
|
||||
|
|
@ -1715,13 +1723,6 @@ public class StorageManagerImpl implements StorageManager {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
Long zoneId = cmd.getZoneId();
|
||||
// Check that the zone is valid
|
||||
DataCenterVO zone = _dcDao.findById(zoneId);
|
||||
if (zone == null) {
|
||||
throw new InvalidParameterValueException("Please specify a valid zone.");
|
||||
}
|
||||
|
||||
// Check that there is a shared primary storage pool in the specified zone
|
||||
List<StoragePoolVO> storagePools = _storagePoolDao.listByDataCenterId(zoneId);
|
||||
|
|
@ -1754,7 +1755,8 @@ public class StorageManagerImpl implements StorageManager {
|
|||
volume.setAccountId(targetAccount.getId());
|
||||
volume.setDomainId(((account == null) ? Domain.ROOT_DOMAIN : account.getDomainId()));
|
||||
volume.setMirrorState(MirrorState.NOT_MIRRORED);
|
||||
volume.setDiskOfferingId(cmd.getDiskOfferingId());
|
||||
volume.setDiskOfferingId(diskOfferingId);
|
||||
volume.setSize(size);
|
||||
volume.setStorageResourceType(StorageResourceType.STORAGE_POOL);
|
||||
volume.setInstanceId(null);
|
||||
volume.setUpdated(new Date());
|
||||
|
|
|
|||
|
|
@ -3512,7 +3512,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean rebootVirtualMachine(RebootVMCmd cmd) {
|
||||
public UserVm rebootVirtualMachine(RebootVMCmd cmd) {
|
||||
Account account = UserContext.current().getAccount();
|
||||
Long userId = UserContext.current().getUserId();
|
||||
Long vmId = cmd.getId();
|
||||
|
|
@ -3529,15 +3529,12 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService {
|
|||
|
||||
boolean status = rebootVirtualMachine(userId, vmId);
|
||||
|
||||
if(status)
|
||||
{
|
||||
if (status) {
|
||||
EventUtils.saveEvent(userId, vmInstance.getAccountId(), EventTypes.EVENT_VM_REBOOT, "Successfully rebooted vm with id:"+vmId);
|
||||
return status;
|
||||
}
|
||||
else
|
||||
{
|
||||
return _vmDao.findById(vmId);
|
||||
} else {
|
||||
EventUtils.saveEvent(userId, vmInstance.getAccountId(), EventTypes.EVENT_VM_REBOOT, "Failed to reboot vm with id:"+vmId);
|
||||
return status;
|
||||
throw new CloudRuntimeException("Failed to reboot vm with id: " + vmId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ public interface UserVmService extends Manager {
|
|||
|
||||
UserVmVO startVirtualMachine(StartVMCmd cmd) throws StorageUnavailableException, ExecutionException, ConcurrentOperationException;
|
||||
UserVmVO stopVirtualMachine(StopVMCmd cmd) throws ServerApiException;
|
||||
boolean rebootVirtualMachine(RebootVMCmd cmd);
|
||||
UserVm rebootVirtualMachine(RebootVMCmd cmd);
|
||||
|
||||
@Deprecated
|
||||
OperationResponse executeRebootVM(RebootVMExecutor executor, VMOperationParam param);
|
||||
|
|
|
|||
|
|
@ -1810,7 +1810,10 @@ a:hover.search_button {
|
|||
|
||||
.actionpanel_button:hover{
|
||||
background:url(../images/actionpanel_hover.gif) repeat-x top right;
|
||||
|
||||
}
|
||||
|
||||
.actionpanel_button.selected{
|
||||
background:url(../images/actionpanel_hover.gif) repeat-x top right;
|
||||
}
|
||||
|
||||
.action_ddarrow {
|
||||
|
|
@ -1865,7 +1868,7 @@ a:hover.search_button {
|
|||
position:absolute;
|
||||
background:#FFF repeat top left;
|
||||
border:1px solid #999;
|
||||
top:20px;
|
||||
top:65px;
|
||||
right:7px;
|
||||
margin:0;
|
||||
padding:0;
|
||||
|
|
@ -3909,3 +3912,78 @@ a:hover.search_button {
|
|||
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: -0.2em 1em .5em .4em; }
|
||||
.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: -0.2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
|
||||
|
||||
|
||||
|
||||
.ui_dialog_loaderbox{
|
||||
width:250px;
|
||||
height:auto;
|
||||
float:left;
|
||||
background:#FFF repeat top left;
|
||||
border:1px solid #CCC;
|
||||
margin:10px 0 0 0;
|
||||
padding:0 10px 5px 0;
|
||||
}
|
||||
|
||||
.ui_dialog_loader {
|
||||
width:16px;
|
||||
height:16px;
|
||||
float:left;
|
||||
background:url(../images/mid_default.gif) no-repeat top left;
|
||||
margin:5px 0 0 7px;
|
||||
display:inline;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.ui_dialog_loaderbox p{
|
||||
width:auto;
|
||||
height:auto;
|
||||
float:left;
|
||||
color:#333;
|
||||
font-size:12px;
|
||||
font-weight:normal;
|
||||
margin:7px 0 0 10px;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.ui_dialog_messagebox{
|
||||
width:250px;
|
||||
height:auto;
|
||||
float:left;
|
||||
background:#fff7e3 repeat top left;
|
||||
border:1px solid #CCC;
|
||||
margin:10px 0 0 0;
|
||||
padding:0 10px 5px 0;
|
||||
}
|
||||
|
||||
.ui_dialog_messagebox.error{
|
||||
background:#ffe5e5 repeat top left;
|
||||
}
|
||||
|
||||
.ui_dialog_msgicon {
|
||||
width:18px;
|
||||
height:20px;
|
||||
float:left;
|
||||
background:url(../images/tick_review.png) no-repeat top left;
|
||||
margin:5px 0 0 7px;
|
||||
display:inline;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.ui_dialog_msgicon.error {
|
||||
background:url(../images/cross_review.png) no-repeat top left;
|
||||
}
|
||||
.ui_dialog_messagebox_text{
|
||||
width:auto;
|
||||
height:auto;
|
||||
float:left;
|
||||
color:#333;
|
||||
font-size:11px;
|
||||
font-weight:normal;
|
||||
margin:10px 0 0 10px;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.ui_dialog_messagebox_text.error{
|
||||
|
||||
color:#ae0000;
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
942
ui/new/index.jsp
942
ui/new/index.jsp
|
|
@ -1,182 +1,810 @@
|
|||
<%@ page import="java.util.Date" %>
|
||||
<%@ page import="java.util.*" %>
|
||||
|
||||
<%@ page import="com.cloud.utils.*" %>
|
||||
|
||||
<%
|
||||
Locale browserLocale = request.getLocale();
|
||||
CloudResourceBundle t = CloudResourceBundle.getBundle("resources/resource", browserLocale);
|
||||
%>
|
||||
<%
|
||||
long milliseconds = new Date().getTime();
|
||||
%>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv='cache-control' content='no-cache'>
|
||||
<meta http-equiv='expires' content='0'>
|
||||
<meta http-equiv='pragma' content='no-cache'>
|
||||
<meta name="version" content="1.9.1.13" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv='cache-control' content='no-cache'>
|
||||
<meta http-equiv='expires' content='0'>
|
||||
<meta http-equiv='pragma' content='no-cache'>
|
||||
<meta name="version" content="1.9.1.2010-08-25T16:16:56Z" />
|
||||
<link rel="stylesheet" href="css/jquery-ui-1.8.2.custom.css" type="text/css" />
|
||||
<link rel="stylesheet" href="css/logger.css" type="text/css" />
|
||||
<link rel="stylesheet" href="css/main.css" type="text/css" />
|
||||
|
||||
<title>cloud.com - User Console</title>
|
||||
|
||||
<!-- Style Sheet -->
|
||||
<link rel= "stylesheet" href="css/main.css" type="text/css" />
|
||||
<link rel= "stylesheet" href="css/jquery-ui-1.8.2.custom.css" type="text/css" />
|
||||
<link rel= "stylesheet" href="css/logger.css" type="text/css" />
|
||||
|
||||
<!--
|
||||
Custom Style Sheet
|
||||
- Default Cloud.com styling of the site. This file contains the easiest portion of the site
|
||||
that can be styled to your companie's need such as logo, top navigation, and dialogs.
|
||||
-->
|
||||
<link rel="stylesheet" href="css/cloud_custom.css" type="text/css" />
|
||||
|
||||
<!-- Javascripts -->
|
||||
|
||||
<!--
|
||||
If you wish to use the minified version for production, uncomment the script
|
||||
tag below and remove/comment out the rest of the javascript below.
|
||||
-->
|
||||
<!-- <script type="text/javascript" src="scripts/cloud.core.min.js"></script> -->
|
||||
<!-- Common libraries -->
|
||||
<script type="text/javascript" src="scripts/jquery-1.4.2.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/jquery-ui-1.8.2.custom.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/date.js"></script>
|
||||
<script type="text/javascript" src="scripts/jquery.cookies.js"></script>
|
||||
<script type="text/javascript" src="scripts/jquery.timers.js"></script>
|
||||
<script type="text/javascript" src="scripts/jquery.md5.js"></script>
|
||||
|
||||
<script type="text/javascript" src="scripts/jquery-1.4.2.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/jquery-ui-1.8.2.custom.min.js"></script>
|
||||
<script type="text/javascript" src="scripts/date.js"></script>
|
||||
<script type="text/javascript" src="scripts/jquery.cookies.js"></script>
|
||||
<script type="text/javascript" src="scripts/jquery.timers.js"></script>
|
||||
<script type="text/javascript" src="scripts/jquery.md5.js"></script>
|
||||
<!-- cloud.com scripts -->
|
||||
<script type="text/javascript" src="scripts/cloud.logger.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.callbacks.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.init.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.instance.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.event.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.alert.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.account.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.volume.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.snapshot.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.ipaddress.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.template.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.iso.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.router.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.dashboard.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.domain.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.resource.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.serviceoffering.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.diskoffering.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core2.globalsetting.js?t=<%=milliseconds%>"></script>
|
||||
|
||||
<!-- Callback script for Single Signon -->
|
||||
<script type="text/javascript" src="scripts/cloud.core.callbacks.js?t=<%=milliseconds%>"></script>
|
||||
|
||||
<!-- cloud.com scripts -->
|
||||
<script type="text/javascript" src="scripts/cloud.logger.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.init.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.configuration.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.templates.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.storage.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.network.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.hosts.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.instances.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.domains.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.events.js?t=<%=milliseconds%>"></script>
|
||||
<script type="text/javascript" src="scripts/cloud.core.accounts.js?t=<%=milliseconds%>"></script>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
|
||||
|
||||
<!-- Title -->
|
||||
<title>Cloud.com CloudStack</title>
|
||||
|
||||
<title>Cloud.com CloudStack Management Console</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="logoutpage" style="display:none;">
|
||||
<div id="logoutpage_mainmaster">
|
||||
<div id="logoutpage_mainbox">
|
||||
<div class="logoutpage_mainbox_top">
|
||||
<div class="logout_logocontainer">
|
||||
<div class="logout_logo"></div>
|
||||
<!-- Main Login Dialog (begin)-->
|
||||
<div id="login_wrapper" style="display:none">
|
||||
<div class="login_main">
|
||||
<div class="login_logopanel">
|
||||
<div class="login_logobox"></div>
|
||||
</div>
|
||||
<div class="main_loginbox">
|
||||
<div class="main_loginbox_top"></div>
|
||||
<div class="main_loginbox_mid">
|
||||
<div class="login_contentbox">
|
||||
<div class="login_contentbox_title">
|
||||
<h1>Welcome to Management Console …</h1>
|
||||
</div>
|
||||
|
||||
<div class="login_formbox">
|
||||
<form id="loginForm" action="#" method="post" name="loginForm">
|
||||
<ol>
|
||||
<li>
|
||||
<label for="user_name">Username: </label>
|
||||
<div class="login_formbox_textbg">
|
||||
<input id="account_username" class="text" type="text" name="account_username" AUTOCOMPLETE="off"/>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="user_name">Password: </label>
|
||||
<div class="login_formbox_textbg">
|
||||
<input id="account_password" class="text" type="password" name="account_password" AUTOCOMPLETE="off"/>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="user_name">Domain: </label>
|
||||
<div class="login_formbox_textbg">
|
||||
<input id="account_domain" class="text" type="text" name="account_domain" />
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
<div class="loginbutton_box">
|
||||
<div class="login_button" id="loginbutton" >Login</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="error_box" id="login_error" style="display:none;">
|
||||
<p>Your username/password does not match our records.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="logout_titlecontainer">
|
||||
<h1>Welcome to Console …</h1>
|
||||
<div class="main_loginbox_bot"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Main Login Dialog (end)-->
|
||||
|
||||
<!-- Main Console -->
|
||||
<div id="overlay_black" style="display: none">
|
||||
</div>
|
||||
<div id="main" style="display: none">
|
||||
<div id="main_header">
|
||||
<div class="header_left">
|
||||
<div class="logo">
|
||||
</div>
|
||||
<div class="mgmtconsole_logo">
|
||||
</div>
|
||||
</div>
|
||||
<div class="header_right">
|
||||
<div class="userlinks">
|
||||
<p>
|
||||
Welcome <span id="main_username">Anonymous</span>, <a href="#" id="main_logout">Logout</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="logoutpage_mainbox_mid">
|
||||
<div class="logoutpage_formcontent">
|
||||
<form id="loginForm" name="loginForm" method="post" action="#">
|
||||
<ol>
|
||||
<li><label for="user_name">Username</label>
|
||||
<input class="text" type="text" name="account_username" id="account_username" />
|
||||
</li>
|
||||
<li><label for="password">Password</label>
|
||||
<input class="text" type="password" name="account_password" id="account_password" AUTOCOMPLETE="off" />
|
||||
</li>
|
||||
<li><label for="Domain">Domain</label>
|
||||
<input class="text" type="text" name="account_domain" id="account_domain" value="/"/>
|
||||
</li>
|
||||
</ol>
|
||||
<div class="loginbutton_box">
|
||||
<a class="loginbutton" id="loginbutton" href="#"></a>
|
||||
<p style="display:none"></p>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="logoutpage_mainbox_bot"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="overlay_black"></div>
|
||||
<div id="mainmaster">
|
||||
|
||||
<!-- Header -->
|
||||
<div id="header">
|
||||
<div class="header_top">
|
||||
<div class="header_topleft">
|
||||
<a class="logo" href="#"></a>
|
||||
<div id="main_contentpanel">
|
||||
<div class="right_panel">
|
||||
<div id="contentwrapper">
|
||||
<!-- Action Panel starts here-->
|
||||
<div class="actionpanel">
|
||||
<div class="searchpanel" id="search_panel">
|
||||
<form method="post" action="#">
|
||||
<ol>
|
||||
<li>
|
||||
<div class="search_textbg">
|
||||
<input class="text" type="text" name="search_input" />
|
||||
<div class="search_closebutton" style="display: block;">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</form>
|
||||
<a href="#">
|
||||
<%=t.t("advanced")%></a>
|
||||
<div class="adv_searchpopup" id="adv_search_dialog" style="display: none;">
|
||||
<div class="adv_searchformbox">
|
||||
<h3>
|
||||
Advance Search</h3>
|
||||
<a id="advanced_search_close" href="#">Close </a>
|
||||
<form action="#" method="post">
|
||||
<ol style="margin-top: 8px;">
|
||||
<li>
|
||||
<label for="filter">
|
||||
Name:</label>
|
||||
<input class="text" type="text" name="adv_search_name" id="adv_search_name" />
|
||||
</li>
|
||||
<li>
|
||||
<label for="filter">
|
||||
Status:</label>
|
||||
<select class="select" id="adv_search_state">
|
||||
<option value=""></option>
|
||||
<option value="Creating">Creating</option>
|
||||
<option value="Starting">Starting</option>
|
||||
<option value="Running">Running</option>
|
||||
<option value="Stopping">Stopping</option>
|
||||
<option value="Stopped">Stopped</option>
|
||||
<option value="Destroyed">Destroyed</option>
|
||||
<option value="Expunging">Expunging</option>
|
||||
<option value="Migrating">Migrating</option>
|
||||
<option value="Error">Error</option>
|
||||
<option value="Unknown">Unknown</option>
|
||||
</select>
|
||||
</li>
|
||||
<li>
|
||||
<label for="filter">
|
||||
Zone:</label>
|
||||
<select class="select" id="adv_search_zone">
|
||||
</select>
|
||||
</li>
|
||||
</ol>
|
||||
</form>
|
||||
<div class="adv_search_actionbox">
|
||||
<div class="adv_searchpopup_button" id="adv_search_button">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_action_link" style="position: relative;
|
||||
display: none">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/actions_actionicon.png" alt="Add" /></div>
|
||||
<div class="actionpanel_button_links">
|
||||
<%=t.t("actions")%></div>
|
||||
<div class="action_ddarrow">
|
||||
</div>
|
||||
</div>
|
||||
<div class="actionsdropdown_box" id="action_menu" style="display: none;">
|
||||
<ul class="actionsdropdown_boxlist" style="width: 97px;" id="action_list">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_add_link" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/addvm_actionicon.png" alt="Add" /></div>
|
||||
<div class="actionpanel_button_links" id="label">
|
||||
<%=t.t("add")%></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_add2_link" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/addvm_actionicon.png" alt="Add" /></div>
|
||||
<div class="actionpanel_button_links" id="label">
|
||||
<%=t.t("add")%></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_startvm_link" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/startvm_actionicon.png" alt="Start VM" /></div>
|
||||
<div class="actionpanel_button_links">
|
||||
Start VM</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_stopvm_link" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/stopvm_actionicon.png" alt="Stop VM" /></div>
|
||||
<div class="actionpanel_button_links">
|
||||
Stop VM</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_rebootvm_link" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/rebootvm_actionicon.png" alt="Reboot VM" /></div>
|
||||
<div class="actionpanel_button_links">
|
||||
Reboot VM</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actionpanel_button_wrapper" id="midmenu_destoryvm_link" style="display: none;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/destroyvm_actionicon.png" alt="Destroy VM" /></div>
|
||||
<div class="actionpanel_button_links">
|
||||
Destroy VM</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="actionpanel_button_wrapper" id="help_link" style="display: block; float: right;
|
||||
background: none; position: relative;">
|
||||
<div class="actionpanel_button">
|
||||
<div class="actionpanel_button_icons">
|
||||
<img src="images/help_actionicon.png" alt="Help" /></div>
|
||||
<div class="actionpanel_button_links">
|
||||
<%=t.t("help")%></div>
|
||||
</div>
|
||||
|
||||
<div class="help_dropdown_box" id="help_dropdown_dialog" style="display:none;">
|
||||
<div class="help_dropdown_box_titlebox">
|
||||
<h2> Instance Help</h2>
|
||||
<a id="help_dropdown_close" href="#"> Close</a>
|
||||
</div>
|
||||
|
||||
<div class="help_dropdown_box_textbox" id="help_dropdown_body">
|
||||
<ul>
|
||||
<li><a href="#topic1">Start VM</a></li>
|
||||
<li><a href="#topic2">Stop VM</a></li>
|
||||
<li><a href="#topic3">Destroy VM</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>Start VM<a name="topic1"></a></h3>
|
||||
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. </p>
|
||||
|
||||
|
||||
<h3>Stop VM <a name="topic2"></a></h3>
|
||||
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. </p><p>It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
|
||||
|
||||
<h3>Destroy VM<a name="topic3"></a></h3>
|
||||
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. </p><p>It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Action Panel ends here-->
|
||||
<!-- Right Panel starts here-->
|
||||
<div class="main_contentarea" id="right_panel">
|
||||
</div>
|
||||
<div class="midmenu_navigationbox" id="middle_menu_pagination">
|
||||
<div class="midmenu_prevbutton">
|
||||
</div>
|
||||
<div class="midmenu_nextbutton">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Right Panel ends here-->
|
||||
</div>
|
||||
<!-- Mid Menu starts here-->
|
||||
<div class="midmenu_panel" id="middle_menu">
|
||||
<div class="midmenu_box" id="midmenu_container">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Mid Menu ends here-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="header_topright">
|
||||
<div class="usernav_container">
|
||||
<div class="usernav_containerleft"></div>
|
||||
<div class="usernav_containermid">
|
||||
<div class="usernav">
|
||||
Welcome, <span id="header_username"></span> | <a id="logoutaccount_link" href="#">Log Out</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="usernav_containerright"></div>
|
||||
<!-- Left Menu starts here-->
|
||||
<div class="leftmenu_panel">
|
||||
<div class="leftmenu_box" id="leftmenu_container">
|
||||
<div class="leftmenu_list">
|
||||
<div class="leftmenu_content_flevel" id="leftmenu_dashboard">
|
||||
<div class="leftmenu_firstindent">
|
||||
<div class="leftmenu_list_icons">
|
||||
<img src="images/leftmenu_dashboardicon.png" alt="Dashboard" /></div>
|
||||
<%=t.t("dashboard")%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="leftmenu_list">
|
||||
<div class="leftmenu_content_flevel" id="leftmenu_instances">
|
||||
<div class="leftmenu_firstindent">
|
||||
<div class="leftmenu_arrows_firstlevel_open" id="expandable_first_level_arrow" style="display:none;"></div>
|
||||
<div class="leftmenu_list_icons">
|
||||
<img src="images/instance_leftmenuicon.png" alt="Instance" /></div>
|
||||
<%=t.t("instance")%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedbox" style="display: none">
|
||||
<div id="leftmenu_instance_group">
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_instance_group_header">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows expanded_close" id="arrow_icon">
|
||||
</div>
|
||||
|
||||
<%=t.t("instance")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="leftmenu_instance_group_container">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_list">
|
||||
<div class="leftmenu_content_flevel" id="leftmenu_storage">
|
||||
<div class="leftmenu_firstindent">
|
||||
<div class="leftmenu_arrows_firstlevel_open" id="expandable_first_level_arrow" style="display:none;"></div>
|
||||
<div class="leftmenu_list_icons">
|
||||
<img src="images/storage_leftmenuicon.png" alt="Storage" /></div>
|
||||
<%=t.t("storage")%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedbox" style="display: none">
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_volume">
|
||||
<div class="leftmenu_secondindent">
|
||||
|
||||
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("volume")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_snapshot">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("snapshot")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_list">
|
||||
<div class="leftmenu_content_flevel" id="leftmenu_network">
|
||||
<div class="leftmenu_firstindent">
|
||||
<div class="leftmenu_arrows_firstlevel_open" id="expandable_first_level_arrow" style="display:none;"></div>
|
||||
<div class="leftmenu_list_icons">
|
||||
<img src="images/network_leftmenuicon.png" alt="Network" /></div>
|
||||
<%=t.t("Network")%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedbox" style="display: none">
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_ip">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("ip.address")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_list">
|
||||
<div class="leftmenu_content_flevel" id="leftmenu_templates">
|
||||
<div class="leftmenu_firstindent">
|
||||
<div class="leftmenu_arrows_firstlevel_open" id="expandable_first_level_arrow" style="display:none;"></div>
|
||||
<div class="leftmenu_list_icons">
|
||||
<img src="images/templates_leftmenuicon.png" alt="Template" /></div>
|
||||
<%=t.t("template")%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedbox" style="display: none">
|
||||
<div id="leftmenu_itemplate_filter">
|
||||
<div class="leftmenu_content" id="leftmenu_template_filter_header">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows expanded_open" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("template")%>
|
||||
</div>
|
||||
</div>
|
||||
<div id="leftmenu_template_filter_container">
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_submenu_my_template">
|
||||
<div class="leftmenu_thirdindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<%=t.t("my.template")%></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_submenu_featured_template">
|
||||
<div class="leftmenu_thirdindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<%=t.t("featured.template")%></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_submenu_community_template">
|
||||
<div class="leftmenu_thirdindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<%=t.t("community.template")%></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="leftmenu_iso_filter">
|
||||
<div class="leftmenu_content" id="leftmenu_iso_filter_header">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows expanded_open" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("iso")%>
|
||||
</div>
|
||||
</div>
|
||||
<div id="leftmenu_iso_filter_container">
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_submenu_my_iso">
|
||||
<div class="leftmenu_thirdindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<%=t.t("my.iso")%></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_submenu_featured_iso">
|
||||
<div class="leftmenu_thirdindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<%=t.t("featured.iso")%></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_submenu_community_iso">
|
||||
<div class="leftmenu_thirdindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<%=t.t("community.iso")%></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_list">
|
||||
<div class="leftmenu_content_flevel" id="leftmenu_account">
|
||||
<div class="leftmenu_firstindent">
|
||||
<!-- <div class="leftmenu_arrows_firstlevel_open" id="expandable_first_level_arrow" style="display:none;"></div> -->
|
||||
<div class="leftmenu_list_icons">
|
||||
<img src="images/accounts_leftmenuicon.png" alt="Account" /></div>
|
||||
<%=t.t("account")%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="leftmenu_list">
|
||||
<div class="leftmenu_content_flevel" id="leftmenu_domain">
|
||||
<div class="leftmenu_firstindent">
|
||||
<div class="leftmenu_arrows_firstlevel_open" id="expandable_first_level_arrow" style="display:none;"></div>
|
||||
<div class="leftmenu_list_icons">
|
||||
<img src="images/domain_leftmenuicon.png" alt="Domain" /></div>
|
||||
<%=t.t("domain")%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedbox" style="display: none">
|
||||
<div class="leftmenu_expandedlist" id="leftmenu_domain_tree">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_list">
|
||||
<div class="leftmenu_content_flevel" id="leftmenu_events">
|
||||
<div class="leftmenu_firstindent">
|
||||
<div class="leftmenu_arrows_firstlevel_open" id="expandable_first_level_arrow" style="display:none;"></div>
|
||||
<div class="leftmenu_list_icons">
|
||||
<img src="images/events_leftmenuicon.png" alt="Event" /></div>
|
||||
<%=t.t("event")%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedbox" style="display: none">
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_event">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("event")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_alert">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("alert")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_list">
|
||||
<div class="leftmenu_content_flevel" id="leftmenu_system">
|
||||
<div class="leftmenu_firstindent">
|
||||
<div class="leftmenu_arrows_firstlevel_open" id="expandable_first_level_arrow" style="display:none;"></div>
|
||||
<div class="leftmenu_list_icons">
|
||||
<img src="images/configuration_leftmenuicon.png" alt="System" /></div>
|
||||
<%=t.t("system")%>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedbox" style="display: none">
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_resource">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows expanded_close" id="resource_arrow">
|
||||
</div>
|
||||
|
||||
<%=t.t("resources")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="leftmenu_zone_tree">
|
||||
<div class="leftmenu_loadingbox" style="display:none;" id="loading_container">
|
||||
<div class="leftmenu_loader"></div>
|
||||
<p> Loading … </p>
|
||||
</div>
|
||||
<div id="tree_container"></div>
|
||||
</div>
|
||||
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" style="border-bottom: 1px dashed b4c8d6;" id="leftmenu_service_offering">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows expanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("service.offerings")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_disk_offering">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows expanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("disk.offerings")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="leftmenu_expandedlist">
|
||||
<div class="leftmenu_content" id="leftmenu_global_setting">
|
||||
<div class="leftmenu_secondindent">
|
||||
<div class="leftmenu_arrows expanded_close" id="arrowIcon">
|
||||
</div>
|
||||
|
||||
<%=t.t("global.settings")%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Left Menu ends here-->
|
||||
</div>
|
||||
<div id="footer">
|
||||
<p>
|
||||
<%=t.t("version")%>: <span>2.2</span>
|
||||
</p>
|
||||
<div class="poweredby_box">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Dialogs 1 -->
|
||||
<div id="dialog_confirmation" title="Confirmation" style="display: none">
|
||||
</div>
|
||||
<div id="dialog_info" title="Info" style="display: none">
|
||||
</div>
|
||||
<div id="dialog_alert" title="Alert" style="display: none">
|
||||
</div>
|
||||
<div id="dialog_error" title="Error" style="display: none; color: red">
|
||||
</div>
|
||||
<div id="dialog_session_expired" title="Session Expired" style="display: none">
|
||||
<p>
|
||||
<%=t.t("your.session.has.expired")%>
|
||||
</p>
|
||||
</div>
|
||||
<div id="dialog_error_internet_not_resolved" title="Error" style="display: none">
|
||||
<p style="color: red">
|
||||
<%=t.t("internet.name.can.not.be.resolved")%>
|
||||
</p>
|
||||
</div>
|
||||
<div id="dialog_error_management_server_not_accessible" title="Error" style="display: none">
|
||||
<p style="color: red">
|
||||
<%=t.t("management.server.is.not.accessible")%>
|
||||
</p>
|
||||
</div>
|
||||
<!-- Dialogs 2 -->
|
||||
<div id="dialog_info_please_select_one_item_in_middle_menu" title="Alert" style="display: none">
|
||||
<p>
|
||||
<%=t.t("please.select.at.least.one.item.in.middle.menu")%>
|
||||
</p>
|
||||
</div>
|
||||
<!-- ***** templates (begin) *************************************************************************************************-->
|
||||
<div class="leftmenu_content" id="leftmenu_submenu_template" style="display: none">
|
||||
<div class="leftmenu_thirdindent">
|
||||
<div class="leftmenu_list_icons">
|
||||
<img id="icon" style="display: none" /></div>
|
||||
<div id="submenu_name">
|
||||
(submenu)</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="midmenu_list" id="midmenu_item" style="display: none;">
|
||||
<div class="midmenu_content" id="content">
|
||||
<div class="midmenu_icons" id="icon_container" style="display: none">
|
||||
<img id="icon" /></div>
|
||||
<div class="midmenu_textbox">
|
||||
<p style="font-size: 11px;">
|
||||
<strong id="first_row"> </strong>
|
||||
</p>
|
||||
<p id="second_row_container">
|
||||
<span id="second_row"> </span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="midmenu_inactionloader" id="spinning_wheel" style="display: none;">
|
||||
</div>
|
||||
<div class="midmenu_infoicon" id="info_icon" style="display: none;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- action list item for middle menu -->
|
||||
<li id="action_list_item_middle_menu" style="display: none; width: 94px;"><a id="link"
|
||||
href="#">(middle menu action)</a></li>
|
||||
<!-- action list item for details tab, subgrid item-->
|
||||
<li id="action_list_item" style="display: none;"><a id="link" href="#">(action)</a></li>
|
||||
<li id="no_available_actions" style="display: none">
|
||||
<%=t.t("no.available.actions")%></li>
|
||||
|
||||
<!-- Zonetree Template (begin) -->
|
||||
<div class="leftmenu_expandedlist" id="leftmenu_zone_node_template" style="display:none">
|
||||
<div class="leftmenu_loadingbox" style="display:none;" id="loading_container">
|
||||
<div class="leftmenu_loader"></div>
|
||||
<p> Adding Zone … </p>
|
||||
</div>
|
||||
<div id="row_container">
|
||||
<div class="leftmenu_content" id="header">
|
||||
<div class="leftmenu_thirdindent">
|
||||
<div class="leftmenu_arrows expanded_close" id="zone_arrow">
|
||||
</div>
|
||||
<span id="zone_name_label">Zone: </span>
|
||||
<span id="zone_name"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="zone_content" style="display: none">
|
||||
<div id="pods_container">
|
||||
</div>
|
||||
<div id="systemvms_container">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="header_bot" id="global_nav">
|
||||
<div class="globalnav_container" id="menutab_role_user" style="display:none">
|
||||
<div id="menutab_dashboard_user" class="menutab_off">Dashboard</div>
|
||||
<div id="menutab_vm" class="menutab_off">Instances</div>
|
||||
<div id="menutab_storage" class="menutab_off">Storage</div>
|
||||
<div id="menutab_networking" class="menutab_off">Network</div>
|
||||
<div id="menutab_templates" class="menutab_off">Templates</div>
|
||||
<div id="menutab_events" class="menutab_off">Events</div>
|
||||
</div>
|
||||
<div class="globalnav_container" id="menutab_role_root" style="display:none">
|
||||
<div id="menutab_dashboard_root" class="admin_menutab_off">Dashboard</div>
|
||||
<div id="menutab_vm" class="admin_menutab_off">Instances</div>
|
||||
<div id="menutab_hosts" class="admin_menutab_off">Hosts</div>
|
||||
<div id="menutab_storage" class="admin_menutab_off">Storage</div>
|
||||
<div id="menutab_networking" class="admin_menutab_off">Network</div>
|
||||
<div id="menutab_templates" class="admin_menutab_off">Templates</div>
|
||||
<div id="menutab_accounts" class="admin_menutab_off">Accounts</div>
|
||||
<div id="menutab_domain" class="admin_menutab_off">Domains</div>
|
||||
<div id="menutab_events" class="admin_menutab_off">Events</div>
|
||||
<div id="menutab_configuration" class="admin_menutab_off">Configuration</div>
|
||||
</div>
|
||||
<div class="globalnav_container" id="menutab_role_domain" style="display:none">
|
||||
<div id="menutab_dashboard_domain" class="admin_menutab_off">Dashboard</div>
|
||||
<div id="menutab_vm" class="admin_menutab_off">Instances</div>
|
||||
<div id="menutab_storage" class="admin_menutab_off">Storage</div>
|
||||
<div id="menutab_networking" class="admin_menutab_off">Network</div>
|
||||
<div id="menutab_templates" class="admin_menutab_off">Templates</div>
|
||||
<div id="menutab_accounts" class="admin_menutab_off">Accounts</div>
|
||||
<div id="menutab_domain" class="admin_menutab_off">Domains</div>
|
||||
<div id="menutab_events" class="admin_menutab_off">Events</div>
|
||||
<!-- Zone Template (end) -->
|
||||
<!-- Pod Template (begin) -->
|
||||
<div class="leftmenu_expandedlist" id="leftmenu_pod_node_template" style="display:none">
|
||||
<div class="leftmenu_loadingbox" style="display:none;" id="loading_container">
|
||||
<div class="leftmenu_loader"></div>
|
||||
<p> Adding Pod … </p>
|
||||
</div>
|
||||
<div id="row_container">
|
||||
<div class="leftmenu_content" id="header">
|
||||
<div class="leftmenu_fourthindent">
|
||||
<div class="leftmenu_arrows expanded_close" id="pod_arrow">
|
||||
</div>
|
||||
<span id="pod_name_label">Pod: </span>
|
||||
<span id="pod_name"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="pod_content" style="display: none">
|
||||
<div id="clusters_container">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END Header -->
|
||||
|
||||
<!-- submenus -->
|
||||
<div class="submenu_tab">
|
||||
<div class="title_testlinks" id="launch_test" style="display:none">Launch Test Provisioning Tool</div>
|
||||
</div>
|
||||
|
||||
<!-- Main Content Area -->
|
||||
<div id="maincontentarea"></div>
|
||||
<!-- END Main Content Area -->
|
||||
|
||||
<!-- Dialogs -->
|
||||
<div id="dialog_confirmation" title="Confirmation" style="display:none"></div>
|
||||
<div id="dialog_info" title="Info" style="display:none"></div>
|
||||
<div id="dialog_alert" title="Alert" style="display:none"></div>
|
||||
<div id="dialog_error" title="Error" style="display:none"></div>
|
||||
<div id="dialog_session_expired" title="Session Expired" style="display:none">
|
||||
<p>Your session has expired. Please click 'OK' to return to the login screen.</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Pod Template (end) -->
|
||||
<!-- Cluster Template (begin) -->
|
||||
<div class="leftmenu_expandedlist" id="leftmenu_cluster_node_template" style="display:none">
|
||||
<div class="leftmenu_loadingbox" style="display:none;" id="loading_container">
|
||||
<div class="leftmenu_loader"></div>
|
||||
<p> Adding Cluster … </p>
|
||||
</div>
|
||||
<div id="row_container">
|
||||
<div class="leftmenu_content" id="header">
|
||||
<div class="leftmenu_fifthindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="cluster_arrow">
|
||||
</div>
|
||||
<span id="cluster_name_label">Cluster: </span>
|
||||
<span id="cluster_name"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="cluster_content">
|
||||
<div id="hosts_container">
|
||||
</div>
|
||||
<div id="primarystorages_container">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Cluster Template (end) -->
|
||||
<!-- SystemVM Template (begin) -->
|
||||
<div class="leftmenu_expandedlist" id="leftmenu_systemvm_node_template" style="display:none">
|
||||
<div id="row_container">
|
||||
<div class="leftmenu_content" id="header">
|
||||
<div class="leftmenu_fourthindent">
|
||||
<div class="leftmenu_arrows white_nonexpanded_close" id="systemvm_arrow">
|
||||
</div>
|
||||
<span id="systemvm_name_label">System VM: </span>
|
||||
<span id="systemvm_name"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- SystemVM Template (end) -->
|
||||
<!-- domain tree node template (begin) -->
|
||||
<div id="domain_tree_node_template" style="display:none">
|
||||
|
||||
<div id="domain_title_container" class="leftmenu_content">
|
||||
<div class="leftmenu_domainindent" id="domain_indent">
|
||||
<div class="leftmenu_arrows expanded_close" id="domain_expand_icon">
|
||||
</div>
|
||||
<span id="domain_name">
|
||||
Domain Name</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="domain_children_container" style="display: none">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- domain tree node template (end) -->
|
||||
<!-- ***** templates (end) *************************************************************************************************-->
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 58%; border: none;">
|
||||
<div class="db_barbox low" id="bar_chart" style="width: 18%;">
|
||||
<div class="db_barbox low" id="bar_chart">
|
||||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 12%; border: none;">
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 58%; border: none;">
|
||||
<div class="db_barbox low" id="bar_chart" style="width: 20%;">
|
||||
<div class="db_barbox low" id="bar_chart">
|
||||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 12%; border: none;">
|
||||
|
|
@ -89,7 +89,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 58%; border: none;">
|
||||
<div class="db_barbox mid" id="bar_chart" style="width: 66%;">
|
||||
<div class="db_barbox mid" id="bar_chart" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 12%; border: none;">
|
||||
|
|
@ -110,7 +110,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 58%; border: none;">
|
||||
<div class="db_barbox high" id="bar_chart" style="width: 83%;">
|
||||
<div class="db_barbox high" id="bar_chart">
|
||||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 12%; border: none;">
|
||||
|
|
@ -131,7 +131,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 58%; border: none;">
|
||||
<div class="db_barbox low" id="bar_chart" style="width: 15%;">
|
||||
<div class="db_barbox low" id="bar_chart">
|
||||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 12%; border: none;">
|
||||
|
|
@ -152,7 +152,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 58%; border: none;">
|
||||
<div class="db_barbox low" id="bar_chart" style="width: 40%;">
|
||||
<div class="db_barbox low" id="bar_chart">
|
||||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 12%; border: none;">
|
||||
|
|
@ -173,7 +173,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 58%; border: none;">
|
||||
<div class="db_barbox low" id="bar_chart" style="width: 20%;">
|
||||
<div class="db_barbox low" id="bar_chart">
|
||||
</div>
|
||||
</div>
|
||||
<div class="dbrow_cell" style="width: 12%; border: none;">
|
||||
|
|
|
|||
|
|
@ -705,6 +705,7 @@
|
|||
<!-- Add Zone Dialog -->
|
||||
<div id="dialog_add_zone" title="Add Zone" style="display:none">
|
||||
<p>Please enter the following info to add a new zone:</p>
|
||||
|
||||
<div class="dialog_formcontent">
|
||||
<form action="#" method="post" id="form_acquire">
|
||||
<ol>
|
||||
|
|
@ -748,6 +749,18 @@
|
|||
</ol>
|
||||
</form>
|
||||
</div>
|
||||
<!--Loading box-->
|
||||
<div class="ui_dialog_loaderbox" style="display:none;">
|
||||
<div class="ui_dialog_loader"></div>
|
||||
<p>Loading</p>
|
||||
</div>
|
||||
|
||||
<!--Confirmation msg box-->
|
||||
<!--Note: for error msg, just have to add error besides everything for eg. add error(class) next to ui_dialog_messagebox error, ui_dialog_msgicon error, ui_dialog_messagebox_text error. -->
|
||||
<div class="ui_dialog_messagebox error" style="display:none;">
|
||||
<div class="ui_dialog_msgicon error"></div>
|
||||
<div class="ui_dialog_messagebox_text error">Confirmation message will appear here</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- END Add Zone Dialog -->
|
||||
<!-- Add Pod Dialog -->
|
||||
|
|
|
|||
|
|
@ -1,63 +0,0 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<title>Untitled Document</title>
|
||||
<link rel="stylesheet" href="css/main.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="login_wrapper">
|
||||
<div class="login_main">
|
||||
<div class="login_logopanel">
|
||||
<div class="login_logobox"></div>
|
||||
</div>
|
||||
<div class="main_loginbox">
|
||||
<div class="main_loginbox_top"></div>
|
||||
<div class="main_loginbox_mid">
|
||||
<div class="login_contentbox">
|
||||
<div class="login_contentbox_title">
|
||||
<h1>Welcome to Management Console …</h1>
|
||||
</div>
|
||||
|
||||
<div class="login_formbox">
|
||||
<form id="loginForm" action="#" method="post" name="loginForm">
|
||||
<ol>
|
||||
<li>
|
||||
<label for="user_name">Username: </label>
|
||||
<div class="login_formbox_textbg">
|
||||
<input id="account_username" class="text" type="text" name="account_username" />
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="user_name">Password: </label>
|
||||
<div class="login_formbox_textbg">
|
||||
<input id="account_username" class="text" type="text" name="account_password" />
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<label for="user_name">Domain: </label>
|
||||
<div class="login_formbox_textbg">
|
||||
<input id="account_domain" class="text" type="text" name="account_domain" />
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
<div class="loginbutton_box">
|
||||
<div class="login_button">Login</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="error_box" style="display:block;">
|
||||
<p>Your username/password does not match our records.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main_loginbox_bot"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
var systemAccountId = 1;
|
||||
var adminAccountId = 2;
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadAlertJSP() {
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
/*
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadDashboardJSP() {
|
||||
var $alertTemplate = $("#alert_template");
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadDiskOfferingJSP() {
|
||||
var $detailsTab = $("#right_panel_content #tab_content_details");
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
var $selectedDomainTreeNode;
|
||||
var defaultRootLevel = 0;
|
||||
var childParentMap = {}; //map childDomainId to parentDomainId
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadEventJSP() {
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadGlobalSettingJSP() {
|
||||
var $detailsTab = $("#right_panel_content #tab_content_details");
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadIpJSP() {
|
||||
//***** switch between different tabs (begin) ********************************************************************
|
||||
var tabArray = [$("#tab_details"), $("#tab_port_forwarding"), $("#tab_load_balancer")];
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
var g_zoneIds = [];
|
||||
var g_zoneNames = [];
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function buildZoneTree() {
|
||||
//***** build zone tree (begin) ***********************************************************************************************
|
||||
var forceLogout = true; // We force a logout only if the user has first added a POD for the very first time
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadRouterJSP() {
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadServiceOfferingJSP() {
|
||||
var $detailsTab = $("#right_panel_content #tab_content_details");
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadSnapshotJSP() {
|
||||
//initialize dialog
|
||||
activateDialog($("#dialog_add_volume_from_snapshot").dialog({
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
var g_zoneIds = [];
|
||||
var g_zoneNames = [];
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
// Version: @VERSION@
|
||||
|
||||
function afterLoadVolumeJSP() {
|
||||
activateDialog($("#dialog_create_template").dialog({
|
||||
width: 400,
|
||||
|
|
|
|||
Loading…
Reference in New Issue