diff --git a/server/src/com/cloud/api/commands/ListVolumesCmd.java b/server/src/com/cloud/api/commands/ListVolumesCmd.java index 12f6bbb2493..44f55c1c21f 100755 --- a/server/src/com/cloud/api/commands/ListVolumesCmd.java +++ b/server/src/com/cloud/api/commands/ListVolumesCmd.java @@ -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); diff --git a/server/src/com/cloud/api/response/VolumeResponse.java b/server/src/com/cloud/api/response/VolumeResponse.java index 8d5b643da63..36ffd97513a 100644 --- a/server/src/com/cloud/api/response/VolumeResponse.java +++ b/server/src/com/cloud/api/response/VolumeResponse.java @@ -104,6 +104,9 @@ public class VolumeResponse extends BaseResponse { @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; } @@ -319,4 +322,12 @@ public class VolumeResponse extends BaseResponse { public void setSnapshotId(Long snapshotId) { this.snapshotId = snapshotId; } + + public Date getAttached() { + return attached; + } + + public void setAttached(Date attached) { + this.attached = attached; + } } diff --git a/ui/new/css/main.css b/ui/new/css/main.css index a0acbbddea2..f36f25ec010 100644 --- a/ui/new/css/main.css +++ b/ui/new/css/main.css @@ -3912,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; +} \ No newline at end of file diff --git a/ui/new/images/cross_review.png b/ui/new/images/cross_review.png new file mode 100644 index 00000000000..ba95024d76a Binary files /dev/null and b/ui/new/images/cross_review.png differ diff --git a/ui/new/jsp/resource.jsp b/ui/new/jsp/resource.jsp index 12394990de3..3273c39625a 100644 --- a/ui/new/jsp/resource.jsp +++ b/ui/new/jsp/resource.jsp @@ -705,6 +705,7 @@