diff --git a/application/classes/model/volume.php b/application/classes/model/volume.php
index 71a688b..727cd9f 100644
--- a/application/classes/model/volume.php
+++ b/application/classes/model/volume.php
@@ -30,10 +30,16 @@ class Model_VOLUME extends ORMTSM {
),
);
+ // Show the number of filespaces on a volume
+ // $dtype is BACKUP or ARCHIVE
+ public function getFSOnVol($dtype) {
+ return $this->VOLUMEUSAGE->where('COPY_TYPE','=',$dtype)->find_all()->count();
+ }
+
// Show the number of nodes on a volume
// $dtype is BACKUP or ARCHIVE
public function getNodesOnVol($dtype) {
- return $this->VOLUMEUSAGE->where('COPY_TYPE','=',$dtype)->find_all()->count();
+ return $this->VOLUMEUSAGE->select('NODE_NAME')->distinct(TRUE)->where('COPY_TYPE','=',$dtype)->find_all()->count();
}
}
?>
diff --git a/application/classes/orm.php b/application/classes/orm.php
index 0af7843..86c9f13 100644
--- a/application/classes/orm.php
+++ b/application/classes/orm.php
@@ -63,7 +63,7 @@ class ORM extends Kohana_ORM {
if (isset($this->_object_formated[$column]))
return $this->_object_formated[$column];
else
- return $value ? $value : ' ';
+ return strlen((string)$value) ? $value : ' ';
}
}
?>
diff --git a/application/media/css/default.css b/application/media/css/default.css
index 0da1520..e5fb37a 100644
--- a/application/media/css/default.css
+++ b/application/media/css/default.css
@@ -8,6 +8,8 @@ tr.subhead { background-color: #BBBBDD; }
td.head { font-weight: bold; }
td.bold { font-weight: bold; }
td.bold-right { font-weight: bold; text-align: right; }
+td.data { font-weight: bold; }
+td.data-right { font-weight: bold; text-align: right; }
td.right { text-align: right; }
tr.odd { background-color: #FCFCFE; }
tr.even { background-color: #F6F6F8; }
diff --git a/application/views/nodes/detail.php b/application/views/nodes/detail.php
index e7eba86..9bece46 100644
--- a/application/views/nodes/detail.php
+++ b/application/views/nodes/detail.php
@@ -10,37 +10,37 @@
Node Name |
- display('NODE_NAME'); ?> (display('TCP_ADDRESS'); ?>) |
+ display('NODE_NAME'); ?> (display('TCP_ADDRESS'); ?>) |
Operating Sytem |
- display('PLATFORM_NAME'),$node->display('CLIENT_OS_LEVEL')); ?> |
+ display('PLATFORM_NAME'),$node->display('CLIENT_OS_LEVEL')); ?> |
TSM Client Version |
- tsmclientversion(); ?> |
+ tsmclientversion(); ?> |
|
Date Registered |
- display('REG_TIME'); ?> (by display('REG_ADMIN'); ?>) |
+ display('REG_TIME'); ?> (by display('REG_ADMIN'); ?>) |
Date Last Password Change |
- display('PWSET_TIME'); ?> |
+ display('PWSET_TIME'); ?> |
|
Password Expiry |
- passexp(); ?> |
+ passexp(); ?> |
Invalid Password Count |
- display('INVALID_PW_COUNT'); ?> (LOCKED == 'NO' ? _('Not Locked') : _('Locked'); ?>) |
+ display('INVALID_PW_COUNT'); ?> (LOCKED == 'NO' ? _('Not Locked') : _('Locked'); ?>) |
@@ -54,43 +54,43 @@
Last Access |
- display('LASTACC_TIME'); ?> |
+ display('LASTACC_TIME'); ?> |
Last Sent |
- LASTSESS_SENT/1024/1024,2); ?> MB |
+ LASTSESS_SENT/1024/1024,2); ?> MB |
Last Receive |
- LASTSESS_RECVD/1024/1024,2); ?> MB |
+ LASTSESS_RECVD/1024/1024,2); ?> MB |
Last Duration |
- LASTSESS_DURATION/60,2); ?> min |
+ LASTSESS_DURATION/60,2); ?> min |
Last Session Idle Wait Percent |
- display('LASTSESS_IDLEWAIT'); ?>% (LASTSESS_DURATION*($node->LASTSESS_IDLEWAIT/100),2); ?>s) |
+ display('LASTSESS_IDLEWAIT'); ?>% (LASTSESS_DURATION*($node->LASTSESS_IDLEWAIT/100),2); ?>s) |
Last Session Comm Wait Percent |
- display('LASTSESS_COMMWAIT'); ?>% (LASTSESS_DURATION*($node->LASTSESS_COMMWAIT/100),2); ?>s) |
+ display('LASTSESS_COMMWAIT'); ?>% (LASTSESS_DURATION*($node->LASTSESS_COMMWAIT/100),2); ?>s) |
Last Session Media Wait Percent |
- display('LASTSESS_MEDIAWAIT'); ?>% (LASTSESS_DURATION*($node->LASTSESS_MEDIAWAIT/100),2); ?>s) |
+ display('LASTSESS_MEDIAWAIT'); ?>% (LASTSESS_DURATION*($node->LASTSESS_MEDIAWAIT/100),2); ?>s) |
Last Session Transfer Percent |
- lasttransferpercent(),2); ?>% (lasttransfertime(),2); ?>s) |
+ lasttransferpercent(),2); ?>% (lasttransfertime(),2); ?>s) |
Last Session Send Performance |
- lastsendperformance(),2); ?> MB/s (lastsendaggperformance(),2); ?> MB/s Aggregate) |
+ lastsendperformance(),2); ?> MB/s (lastsendaggperformance(),2); ?> MB/s Aggregate) |
Last Session Receive Performance |
- lastreceiveperformance(),2); ?> MB/s (lastreceiveaggperformance(),2); ?> MB/s Aggregate) |
+ lastreceiveperformance(),2); ?> MB/s (lastreceiveaggperformance(),2); ?> MB/s Aggregate) |
@@ -106,31 +106,31 @@
Client Option Set |
- display('OPTION_SET'); ?> |
+ display('OPTION_SET'); ?> |
Collocation Group |
- COLLOCGROUP_NAME ? $node->display('COLLOCGROUP_NAME') : 'Not Set'; ?> |
+ COLLOCGROUP_NAME ? $node->display('COLLOCGROUP_NAME') : 'Not Set'; ?> |
Client Compression |
- display('COMPRESSION'); ?> |
+ display('COMPRESSION'); ?> |
TXN Group Max |
- txngroupmax(); ?> |
+ txngroupmax(); ?> |
Delete Archives |
- display('ARCHDELETE'); ?> |
+ display('ARCHDELETE'); ?> |
Delete Backups |
- display('BACKDELETE'); ?> |
+ display('BACKDELETE'); ?> |
Keep Mount Points |
- display('KEEP_MP'); ?> (display('MAX_MP_ALLOWED'); ?>) |
+ display('KEEP_MP'); ?> (display('MAX_MP_ALLOWED'); ?>) |
@@ -160,12 +160,12 @@
MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
- display('CLASS_NAME'); ?>DEFAULTMC=='Yes' ? ' *' : ''; ?> |
- display('MIGDESTINATION'); ?> |
- COPYGROUP_BU->display('DESTINATION'); ?> |
- COPYGROUP_BU->display('VEREXISTS'),$mco->COPYGROUP_BU->display('RETEXTRA')); ?> |
- COPYGROUP_BU->display('VERDELETED'),$mco->COPYGROUP_BU->display('RETONLY')); ?> |
- COPYGROUP_BU->display('FREQUENCY'); ?> |
+ display('CLASS_NAME'); ?>DEFAULTMC=='Yes' ? ' *' : ''; ?> |
+ display('MIGDESTINATION'); ?> |
+ COPYGROUP_BU->display('DESTINATION'); ?> |
+ COPYGROUP_BU->display('VEREXISTS'),$mco->COPYGROUP_BU->display('RETEXTRA')); ?> |
+ COPYGROUP_BU->display('VERDELETED'),$mco->COPYGROUP_BU->display('RETONLY')); ?> |
+ COPYGROUP_BU->display('FREQUENCY'); ?> |
@@ -181,9 +181,9 @@
MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
- display('CLASS_NAME'); ?>DEFAULTMC=='Yes' ? ' *' : ''; ?> |
- COPYGROUP_AR->display('DESTINATION'); ?> |
- COPYGROUP_AR->display('RETVER'); ?> |
+ display('CLASS_NAME'); ?>DEFAULTMC=='Yes' ? ' *' : ''; ?> |
+ COPYGROUP_AR->display('DESTINATION'); ?> |
+ COPYGROUP_AR->display('RETVER'); ?> |
@@ -205,10 +205,10 @@
OPTION_SET) { ?>
CLIENTOPT->find_all() as $coo) { ?>
- display('OPTION_NAME'); ?> |
- display('SEQNUMBER'); ?> |
- display('OPTION_VALUE'); ?> |
- display('FORCE'); ?> |
+ display('OPTION_NAME'); ?> |
+ display('SEQNUMBER'); ?> |
+ display('OPTION_VALUE'); ?> |
+ display('FORCE'); ?> |
diff --git a/application/views/nodes/detail_filesystem.php b/application/views/nodes/detail_filesystem.php
index d3378ce..7214754 100644
--- a/application/views/nodes/detail_filesystem.php
+++ b/application/views/nodes/detail_filesystem.php
@@ -12,22 +12,22 @@
File Space |
Last Date |
- Utilisation |
+ Utilisation |
getStoragePoolsType('Bkup',$type)))
foreach ($pools as $pool_name) { ?>
- |
+ |
FILESPACE->find_all() as $fso) { ?>
- display('FILESPACE_NAME'); ?> |
- display('BACKUP_END'); ?> |
- utilsation(),2); ?> |
+ display('FILESPACE_NAME'); ?> |
+ display('BACKUP_END'); ?> |
+ utilsation(),2); ?> |
getStoragePoolsType('Bkup',$type)))
foreach ($pools as $pool_name) { ?>
- pool_logical_util($pool_name,'Bkup'),2); ?> (pool_numvols($pool_name,'BACKUP'); ?>) |
+ pool_logical_util($pool_name,'Bkup'),2); ?> (pool_numvols($pool_name,'BACKUP'); ?>) |
@@ -46,14 +46,14 @@
Storage Type |
- Files |
- MB |
+ Files |
+ MB |
- |
- getStorageTypeFiles($type); ?> |
- getStorageTypeData($type); ?> |
+ |
+ getStorageTypeFiles($type); ?> |
+ getStorageTypeData($type); ?> |
@@ -74,16 +74,16 @@
getStoragePoolsType('Arch',$type)))
foreach ($pools as $pool_name) { ?>
- |
+ |
FILESPACE->find_all() as $fso) { ?>
- display('FILESPACE_NAME'); ?> |
+ display('FILESPACE_NAME'); ?> |
getStoragePoolsType('Arch',$type)))
foreach ($pools as $pool_name) { ?>
- pool_logical_util($pool_name,'Arch'),2); ?> (pool_numvols($pool_name,'ARCHIVE'); ?>) |
+ pool_logical_util($pool_name,'Arch'),2); ?> (pool_numvols($pool_name,'ARCHIVE'); ?>) |
diff --git a/application/views/nodes/detail_schedule.php b/application/views/nodes/detail_schedule.php
index 33bcb43..c244a82 100644
--- a/application/views/nodes/detail_schedule.php
+++ b/application/views/nodes/detail_schedule.php
@@ -19,12 +19,12 @@
ASSOCIATION->find_all() as $ao) { ?>
- display('SCHEDULE_NAME'); ?> |
- SCHEDULE_CLIENT->display('STARTTIME'); ?> |
- SCHEDULE_CLIENT->DURATION,$ao->SCHEDULE_CLIENT->DURUNITS); ?> |
- SCHEDULE_CLIENT->PERIOD,$ao->SCHEDULE_CLIENT->PERUNITS); ?> |
- SCHEDULE_CLIENT->display('DAYOFWEEK'); ?> |
- SCHEDULE_CLIENT->display('PRIORITY'); ?> |
+ display('SCHEDULE_NAME'); ?> |
+ SCHEDULE_CLIENT->display('STARTTIME'); ?> |
+ SCHEDULE_CLIENT->DURATION,$ao->SCHEDULE_CLIENT->DURUNITS); ?> |
+ SCHEDULE_CLIENT->PERIOD,$ao->SCHEDULE_CLIENT->PERUNITS); ?> |
+ SCHEDULE_CLIENT->display('DAYOFWEEK'); ?> |
+ SCHEDULE_CLIENT->display('PRIORITY'); ?> |
@@ -49,11 +49,11 @@
SUMMARY->find_all() as $so) { ?>
- display('START_TIME'); ?> |
- display('END_TIME'); ?> |
- display('ACTIVITY'); ?> |
- display('SCHEDULE_NAME'); ?> |
- display('BYTES')/1024/1024,2)); ?> |
+ display('START_TIME'); ?> |
+ display('END_TIME'); ?> |
+ display('ACTIVITY'); ?> |
+ display('SCHEDULE_NAME'); ?> |
+ display('BYTES')/1024/1024,2)); ?> |
@@ -78,12 +78,12 @@
EVENT->find_all() as $eo) { ?>
- display('SCHEDULED_START'); ?> |
- ACTUAL_START ? $eo->display('ACTUAL_START') : ' '; ?> |
- display('SCHEDULE_NAME'); ?> |
- display('STATUS'); ?> |
- COMPLETED ? $eo->display('COMPLETED') : ' '; ?> |
- RESULT,$eo->display('REASON')); ?> |
+ display('SCHEDULED_START'); ?> |
+ ACTUAL_START ? $eo->display('ACTUAL_START') : ' '; ?> |
+ display('SCHEDULE_NAME'); ?> |
+ display('STATUS'); ?> |
+ COMPLETED ? $eo->display('COMPLETED') : ' '; ?> |
+ RESULT,$eo->display('REASON')); ?> |
diff --git a/application/views/nodes/detail_volumes.php b/application/views/nodes/detail_volumes.php
index ddff308..7b27ec1 100644
--- a/application/views/nodes/detail_volumes.php
+++ b/application/views/nodes/detail_volumes.php
@@ -16,25 +16,27 @@
Last Write Date |
Access |
Status |
- Errors R/W |
- Utilisation |
- Reclaim |
- Nodes on Vol |
+ Errors R/W |
+ Util % |
+ Reclaim |
+ Other FS |
+ Other Node |
volumes($dtype) as $stgpool => $vols) {
$spo = ORM::factory('STGPOOL',$stgpool); ?>
- STGPOOL_NAME,$spo->RECLAIM,$spo->NUMSCRATCHUSED,$spo->MAXSCRATCH,$spo->DEVCLASSES->DEVTYPE); ?> |
+ STGPOOL_NAME,$spo->RECLAIM,$spo->NUMSCRATCHUSED,$spo->MAXSCRATCH,$spo->DEVCLASSES->DEVTYPE); ?> |
- VOLUME_NAME; ?> |
- display('LAST_READ_DATE'); ?> |
- display('LAST_WRITE_DATE'); ?> |
- display('ACCESS'); ?> |
- display('STATUS'); ?> |
- READ_ERRORS,$vol->WRITE_ERRORS); ?> |
- display('EST_CAPACITY_MB'); ?> |
- display('PCT_RECLAIM'); ?> |
- getNodesOnVol($dtype); ?> |
+ VOLUME_NAME; ?> |
+ display('LAST_READ_DATE'); ?> |
+ display('LAST_WRITE_DATE'); ?> |
+ display('ACCESS'); ?> |
+ display('STATUS'); ?> |
+ READ_ERRORS,$vol->WRITE_ERRORS); ?> |
+ display('EST_CAPACITY_MB'); ?> |
+ display('PCT_RECLAIM'); ?> |
+ getFSOnVol($dtype); ?> |
+ getNodesOnVol($dtype); ?> |