Widgitized the output

This commit is contained in:
Deon George 2012-11-30 09:58:15 +11:00
parent 808730e1e3
commit 4b51fc2727
40 changed files with 1139 additions and 1165 deletions

View File

@ -65,8 +65,8 @@ class Controller_Domain extends Controller_TemplateDefault {
Block::add(array(
'title'=>sprintf(_('Node Information for Domain %s'),$do->DOMAIN_NAME),
'body'=>View::factory('domain/detail')->set('do',$do)
));
'body'=>View::factory('domain/detail')->set('o',$do)
));
}
}
?>

View File

@ -65,10 +65,8 @@ class Controller_Library extends Controller_TemplateDefault {
Block::add(array(
'title'=>sprintf(_('Library Information for %s'),$lo->LIBRARY_NAME),
'body'=>View::factory('library/detail')
->set('lo',$lo)
->set('slots',$lo->slots())
));
'body'=>View::factory('library/detail')->set('o',$lo)
));
}
}
?>

View File

@ -65,22 +65,22 @@ class Controller_Node extends Controller_TemplateDefault {
Block::add(array(
'title'=>sprintf('%s %s',_('Detailed Node Information for'),$no->NODE_NAME),
'body'=>View::factory('node/detail')->set('node',$no),
'body'=>View::factory('node/detail')->set('o',$no),
));
Block::add(array(
'title'=>_('Protected File System Information'),
'body'=>View::factory('node/detail_filesystem')->set('node',$no),
'body'=>View::factory('node/filesystems')->set('o',$no),
));
Block::add(array(
'title'=>_('Sequential Volume Usage Information'),
'body'=>View::factory('node/detail_volumes')->set('node',$no),
'body'=>View::factory('node/volumes')->set('o',$no),
));
Block::add(array(
'title'=>_('Schedule Information'),
'body'=>View::factory('node/detail_schedule')->set('node',$no),
'body'=>View::factory('node/schedule')->set('o',$no),
));
}
}

View File

@ -65,7 +65,7 @@ class Controller_Stgpool extends Controller_TemplateDefault {
Block::add(array(
'title'=>sprintf(_('Storage Pool Information for %s'),$so->STGPOOL_NAME),
'body'=>View::factory('stgpool/detail')->set('so',$so)
'body'=>View::factory('stgpool/detail')->set('o',$so)
));
}
}

View File

@ -18,8 +18,10 @@ class Database_TSM_Show extends Database_Result {
$sql = strtolower($sql);
$start = FALSE;
$barcodewarn = FALSE;
$eid = $sid = FALSE;
$ec = 0;
foreach ($result as $line) {
if (! trim($line))
continue;
@ -28,9 +30,6 @@ class Database_TSM_Show extends Database_Result {
$library = strtoupper(preg_replace('/^show slots /','',$sql));
if (preg_match('/^Slot /',$line)) {
if ($start)
$this->_internal_row++;
$slot = array();
foreach ((preg_split('/,\s*/',$line,-1)) as $slotkey => $val)
if (preg_match('/^element number\s+/',$val))
@ -44,9 +43,34 @@ class Database_TSM_Show extends Database_Result {
elseif (preg_match('/^barcode\s+/',$val))
$slot['barcode'] = preg_replace('/^barcode /','',$val);
// We assume that the element numbers are sequential
// @todo This routine would miss the first empty slots, there is no way to work this out?
if ($eid AND $eid+1 != $slot['element']) {
while ($eid+1 != $slot['element']) {
if ($ec++ > $this->Slots OR $sid == $slot['slot'])
throw new Kohana_Exception('Had a problem calculating EMPTY slots (:ec, :slots, :sid, :slot)',
array(':ec'=>$ec,':slots'=>$this->Slots,':sid'=>$sid,':slot'=>$slot['slot'])
);
$eid++;
$sid++;
$this->_rows[$this->_internal_row++] = new Slot(array(
'element'=>"$eid",
'slot'=>"$sid",
'status'=>'Empty',
'barcodelabel'=>'',
'barcode'=>'',
));
}
}
$slot['library'] = $library;
$this->_rows[$this->_internal_row] = new Slot($slot);
$start = TRUE;
$this->_rows[$this->_internal_row++] = new Slot($slot);
// Counters to keep track of empty slots
$eid = $slot['element'];
$sid = $slot['slot'];
$ec++;
if (! $barcodewarn AND $slot['status'] == 'Allocated' AND $slot['barcode'] == 'not present') {
SystemMessage::add(array(

View File

@ -56,7 +56,14 @@ class Model_LIBRARY extends TSM_ORM {
// Return the number of slots that are empty.
public function numemptyslot() {
return $this->slots->Slots-$this->slots->Changers-count($this->slots);
$return = array();
foreach ($this->slots() as $slot)
if ($slot->status == 'Empty')
array_push($return,$slot->LIBVOLUME->VOLUME);
return count($return);
//return $this->slots->Slots-$this->slots->Changers-count($this->slots);
}
// Return the slots that are used, but not checked in.

View File

@ -25,7 +25,9 @@ class Model_LIBVOLUME extends TSM_ORM {
public function usage() {
switch (strtolower($this->STATUS)) {
case NULL: return 'empty';
case 'scratch': return strtolower($this->STATUS);
case 'private':
if ($this->VOLUME->STATUS == 'EMPTY')
return 'empty';
@ -58,7 +60,6 @@ class Model_LIBVOLUME extends TSM_ORM {
switch ($this->usage()) {
case 'data': return sprintf('%s/%s',$this->VOLUME->display('STATUS'),$this->VOLUME->display('ACCESS'));
case 'dbbackup': return $this->VOLHISTORY->lastuse()->backupid();
case 'empty': return _('Empty');
default: return '';
}

View File

@ -45,5 +45,9 @@ class Slot {
else
return $this->barcodelabel;
}
public function usage() {
return $this->status == 'Empty' ? $this->status : $this->LIBVOLUME->volusage();
}
}
?>

View File

@ -1,209 +1,29 @@
<table width="100%">
<tr>
<td style="width: 100%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="5">Nodes in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Node</td>
<td>Version</td>
<td>OS</td>
<td>Last Access</td>
<td>Last IP Addr</td>
<td>Client Opt</td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td><?php echo $ctype[0]; ?></td>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<td colspan="3" class="right"><?php echo $type; ?>(Vol/Fil/Dat)</td>
<?php } ?>
</tr>
<?php $i=0; foreach ($do->NODE->find_all() as $no) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><abbr title="<?php printf('%s (%s)',$no->display('CONTACT'),$no->display('EMAIL_ADDRESS')); ?>"><?php echo HTML::anchor('node/detail/'.$no->NODE_NAME,$no->NODE_NAME); ?></abbr></td>
<td class="data"><?php echo $no->tsmclientversion(); ?></td>
<td class="data"><?php echo $no->platform(); ?></td>
<td class="data"><?php echo $no->display('LASTACC_TIME'); ?></td>
<td class="data"><?php echo $no->display('TCP_ADDRESS'); ?></td>
<td class="data"><?php echo $no->display('OPTION_SET'); ?></td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td class="data"><?php echo $no->hasData($btype) ? 'Y' : 'N'; ?></td>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<td class="data-right"><?php echo count($no->getStorageTypeVols($type)); ?></td>
<td class="data-right"><?php echo $no->getStorageTypeFiles($type); ?></td>
<td class="data-right"><?php echo $no->getStorageTypeData($type); ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/nodes')->set('o',$o); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="15">Storage Pools used by nodes in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="3">Storage Pool</td>
<td class="right">Scr Use</td>
<td class="right">Scr Avl</td>
<td class="right">Access</td>
<td class="right">Rec %</td>
<td class="right">Util %</td>
<td class="right">Migr %</td>
<td class="right">High/Low</td>
<td class="right">Next</td>
<td class="right">Nodes</td>
<td class="right">Vols</td>
<td class="right">Files</td>
<td class="right">MB</td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<tr class="subhead">
<td colspan="15"><?php echo $btype; ?></td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="subhead">
<td>&nbsp;</td>
<td colspan="14"><?php echo $type; ?></td>
</tr>
<?php $i=0; foreach ($do->getStoragePoolsType($btype,$type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td colspan="2">&nbsp;</td>
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$spo->STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?></td>
<td class="data-right"><?php echo $spo->display('NUMSCRATCHUSED'); ?></td>
<td class="data-right"><?php echo $spo->display('MAXSCRATCH'); ?></td>
<td class="data-right"><?php echo $spo->display('ACCESS'); ?></td>
<td class="data-right"><?php echo $spo->display('RECLAIM'); ?></td>
<td class="data-right"><?php echo $spo->display('PCT_UTILIZED'); ?></td>
<td class="data-right"><?php echo $spo->display('PCT_MIGR'); ?></td>
<td class="data-right"><?php printf('%s/%s',$spo->HIGHMIG,$spo->LOWMIG); ?></td>
<td class="data-right"><?php echo $spo->NEXTSTGPOOL ? HTML::anchor('stgpool/detail/'.$spo->NEXTSTGPOOL,$spo->display('NEXTSTGPOOL')) : '&nbsp;'; ?></td>
<td class="data-right"><?php echo count($do->getStorageModeNodes($btype,$type,$spo)); ?></td>
<td class="data-right"><?php echo count($do->getStorageModeVols($ctype,$type,$spo)); ?></td>
<td class="data-right"><?php echo $do->getStorageModeFiles($btype,$type,$spo); ?></td>
<td class="data-right"><?php echo $do->getStorageModeData($btype,$type,$spo); ?></td>
</tr>
<?php } ?>
<?php } ?>
<?php } ?>
</table>
</td>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/stgpools')->set('o',$o); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="14">Sequential Volumes needed to restore Data for Nodes in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="4">Volume</td>
<td>Status</td>
<td>Access</td>
<td>Scr</td>
<td class="right">Pct %</td>
<td class="right">Rec %</td>
<td class="right">Mounted</td>
<td class="right">R/W Err</td>
<td class="right">FS</td>
<td class="right">Nodes</td>
<td class="right">Location</td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<tr class="subhead">
<td colspan="14"><?php echo $btype; ?></td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="subhead">
<td>&nbsp;</td>
<td colspan="13"><?php echo $type; ?></td>
</tr>
<?php $i=0;foreach ($do->getStoragePoolsType($btype,$type) as $spo) { ?>
<tr class="subhead">
<td colspan="2">&nbsp;</td>
<td colspan="13"><?php echo $spo->DISPLAY('STGPOOL_NAME'); ?></td>
</tr>
<?php foreach ($do->getStorageModeVols($ctype,$type,$spo) as $vuo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td colspan="3">&nbsp;</td>
<td class="data"><?php echo $vuo->VOLUME_NAME; ?></td>
<td class="data"><?php echo $vuo->VOLUME->display('STATUS'); ?></td>
<td class="data"><?php echo $vuo->VOLUME->display('ACCESS'); ?></td>
<td class="data"><?php echo $vuo->VOLUME->isScratch() ? 'Y' : 'N'; ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_UTILIZED'); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_RECLAIM'); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->display('TIMES_MOUNTED'); ?></td>
<td class="data-right"><?php printf('%s/%s',$vuo->VOLUME->READ_ERRORS,$vuo->VOLUME->WRITE_ERRORS); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->getFSOnVol($ctype); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->getNodesOnVol($ctype); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->location(); ?></td>
</tr>
<?php } ?>
<?php } ?>
<?php } ?>
<?php } ?>
</table>
</td>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/volumes')->set('o',$o); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>
<?php echo View::factory('node/policy')->set('domain',$do); ?>
</td>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/policy')->set('o',$o); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="7">Schedules used in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Schedule</td>
<td>Start Time</td>
<td>Duration</td>
<td>Repeat</td>
<td>Valid Day</td>
<td>Priority</td>
<td>Nodes</td>
</tr>
<?php $i=0;foreach ($do->SCHEDULE_CLIENT->find_all() as $so) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $so->display('SCHEDULE_NAME'); ?></td>
<td class="data"><?php echo $so->display('STARTTIME'); ?></td>
<td class="data"><?php printf('%s %s',$so->DURATION,$so->DURUNITS); ?></td>
<td class="data"><?php printf('%s %s',$so->PERIOD,$so->PERUNITS); ?></td>
<td class="data"><?php echo $so->display('DAYOFWEEK'); ?></td>
<td class="data"><?php echo $so->display('PRIORITY'); ?></td>
<td class="data"><?php echo count($so->getNodes()); ?></td>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 100%; vertical-align: top;"><?php echo View::factory('domain/schedules')->set('o',$o); ?></td>
</tr>
</table>

View File

@ -0,0 +1,41 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="5">Nodes in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Node</td>
<td>Version</td>
<td>OS</td>
<td>Last Access</td>
<td>Last IP Addr</td>
<td>Client Opt</td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td><?php echo $ctype[0]; ?></td>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<td colspan="3" class="right"><?php echo $type; ?>(Vol/Fil/Dat)</td>
<?php } ?>
</tr>
<?php $i=0; foreach ($o->NODE->find_all() as $no) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><abbr title="<?php printf('%s (%s)',$no->display('CONTACT'),$no->display('EMAIL_ADDRESS')); ?>"><?php echo HTML::anchor('node/detail/'.$no->NODE_NAME,$no->NODE_NAME); ?></abbr></td>
<td class="data"><?php echo $no->tsmclientversion(); ?></td>
<td class="data"><?php echo $no->platform(); ?></td>
<td class="data"><?php echo $no->display('LASTACC_TIME'); ?></td>
<td class="data"><?php echo $no->display('TCP_ADDRESS'); ?></td>
<td class="data"><?php echo $no->display('OPTION_SET'); ?></td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td class="data"><?php echo $no->hasData($btype) ? 'Y' : 'N'; ?></td>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<td class="data-right"><?php echo count($no->getStorageTypeVols($type)); ?></td>
<td class="data-right"><?php echo $no->getStorageTypeFiles($type); ?></td>
<td class="data-right"><?php echo $no->getStorageTypeData($type); ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>

View File

@ -1,3 +1,4 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="2">Policy Settings</td>
@ -16,7 +17,7 @@
<td>Ver Del</td>
<td>Frequency</td>
</tr>
<?php $i=0; foreach ($domain->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
<?php $i=0; foreach ($o->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $mco->display('CLASS_NAME'); ?><?php echo $mco->DEFAULTMC=='Yes' ? ' <sup>*</sup>' : ''; ?></td>
<td class="data"><?php echo $mco->display('MIGDESTINATION'); ?></td>
@ -37,7 +38,7 @@
<td>Destination</td>
<td>Retain</td>
</tr>
<?php $i=0; foreach ($domain->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
<?php $i=0; foreach ($o->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mco) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $mco->display('CLASS_NAME'); ?><?php echo $mco->DEFAULTMC=='Yes' ? ' <sup>*</sup>' : ''; ?></td>
<td class="data"><?php echo $mco->COPYGROUP_AR->display('DESTINATION'); ?></td>

View File

@ -0,0 +1,29 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="7">Schedules used in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Schedule</td>
<td>Start Time</td>
<td>Duration</td>
<td>Repeat</td>
<td>Valid Day</td>
<td>Priority</td>
<td>Nodes</td>
</tr>
<?php $i=0;foreach ($o->SCHEDULE_CLIENT->find_all() as $so) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $so->display('SCHEDULE_NAME'); ?></td>
<td class="data"><?php echo $so->display('STARTTIME'); ?></td>
<td class="data"><?php printf('%s %s',$so->DURATION,$so->DURUNITS); ?></td>
<td class="data"><?php printf('%s %s',$so->PERIOD,$so->PERUNITS); ?></td>
<td class="data"><?php echo $so->display('DAYOFWEEK'); ?></td>
<td class="data"><?php echo $so->display('PRIORITY'); ?></td>
<td class="data"><?php echo count($so->getNodes()); ?></td>
</tr>
<?php } ?>
</table>

View File

@ -0,0 +1,53 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="15">Storage Pools used by nodes in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="3">Storage Pool</td>
<td class="right">Scr Use</td>
<td class="right">Scr Avl</td>
<td class="right">Access</td>
<td class="right">Rec %</td>
<td class="right">Util %</td>
<td class="right">Migr %</td>
<td class="right">High/Low</td>
<td class="right">Next</td>
<td class="right">Nodes</td>
<td class="right">Vols</td>
<td class="right">Files</td>
<td class="right">MB</td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<tr class="subhead">
<td colspan="15"><?php echo $btype; ?></td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="subhead">
<td>&nbsp;</td>
<td colspan="14"><?php echo $type; ?></td>
</tr>
<?php $i=0; foreach ($o->getStoragePoolsType($btype,$type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td colspan="2">&nbsp;</td>
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$spo->STGPOOL_NAME,$spo->display('STGPOOL_NAME')); ?></td>
<td class="data-right"><?php echo $spo->display('NUMSCRATCHUSED'); ?></td>
<td class="data-right"><?php echo $spo->display('MAXSCRATCH'); ?></td>
<td class="data-right"><?php echo $spo->display('ACCESS'); ?></td>
<td class="data-right"><?php echo $spo->display('RECLAIM'); ?></td>
<td class="data-right"><?php echo $spo->display('PCT_UTILIZED'); ?></td>
<td class="data-right"><?php echo $spo->display('PCT_MIGR'); ?></td>
<td class="data-right"><?php printf('%s/%s',$spo->HIGHMIG,$spo->LOWMIG); ?></td>
<td class="data-right"><?php echo $spo->NEXTSTGPOOL ? HTML::anchor('stgpool/detail/'.$spo->NEXTSTGPOOL,$spo->display('NEXTSTGPOOL')) : '&nbsp;'; ?></td>
<td class="data-right"><?php echo count($o->getStorageModeNodes($btype,$type,$spo)); ?></td>
<td class="data-right"><?php echo count($o->getStorageModeVols($ctype,$type,$spo)); ?></td>
<td class="data-right"><?php echo $o->getStorageModeFiles($btype,$type,$spo); ?></td>
<td class="data-right"><?php echo $o->getStorageModeData($btype,$type,$spo); ?></td>
</tr>
<?php } ?>
<?php } ?>
<?php } ?>
</table>

View File

@ -0,0 +1,55 @@
<!-- $o = ORM::factory('DOMAIN') -->
<table class="box-full">
<tr>
<td class="head" colspan="14">Sequential Volumes needed to restore Data for Nodes in this Domain</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="4">Volume</td>
<td>Status</td>
<td>Access</td>
<td>Scr</td>
<td class="right">Pct %</td>
<td class="right">Rec %</td>
<td class="right">Mounted</td>
<td class="right">R/W Err</td>
<td class="right">FS</td>
<td class="right">Nodes</td>
<td class="right">Location</td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<tr class="subhead">
<td colspan="14"><?php echo $btype; ?></td>
</tr>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="subhead">
<td>&nbsp;</td>
<td colspan="13"><?php echo $type; ?></td>
</tr>
<?php $i=0;foreach ($o->getStoragePoolsType($btype,$type) as $spo) { ?>
<tr class="subhead">
<td colspan="2">&nbsp;</td>
<td colspan="13"><?php echo $spo->DISPLAY('STGPOOL_NAME'); ?></td>
</tr>
<?php foreach ($o->getStorageModeVols($ctype,$type,$spo) as $vuo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td colspan="3">&nbsp;</td>
<td class="data"><?php echo $vuo->VOLUME_NAME; ?></td>
<td class="data"><?php echo $vuo->VOLUME->display('STATUS'); ?></td>
<td class="data"><?php echo $vuo->VOLUME->display('ACCESS'); ?></td>
<td class="data"><?php echo $vuo->VOLUME->isScratch() ? 'Y' : 'N'; ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_UTILIZED'); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->display('PCT_RECLAIM'); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->display('TIMES_MOUNTED'); ?></td>
<td class="data-right"><?php printf('%s/%s',$vuo->VOLUME->READ_ERRORS,$vuo->VOLUME->WRITE_ERRORS); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->getFSOnVol($ctype); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->getNodesOnVol($ctype); ?></td>
<td class="data-right"><?php echo $vuo->VOLUME->location(); ?></td>
</tr>
<?php } ?>
<?php } ?>
<?php } ?>
<?php } ?>
</table>

View File

@ -1,257 +1,15 @@
<table width="100%">
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">Information for this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Name</td>
<td style="width: 60%;" class="data"><?php printf('%s (%s)',$lo->display('LIBRARY_NAME'),$slots->ProductId); ?></td>
</tr>
<tr>
<td>Serial Number</td>
<td class="data"><?php echo $lo->display('LIBRARY_SERIAL'); ?></td>
</tr>
<tr>
<td>Type</td>
<td class="data"><?php echo $lo->display('LIBRARY_TYPE'); ?></td>
</tr>
<tr>
<td>Drives</td>
<td class="data"><?php echo $slots->Drives; ?></td>
</tr>
<tr>
<td>Slots/Changers</td>
<td class="data"><?php printf('%s/%s',$slots->Slots-$slots->Changers,$slots->Changers); ?></td>
</tr>
<tr>
<td>Shared</td>
<td class="data"><?php echo $lo->display('SHARED'); ?></td>
</tr>
<tr>
<td>LAN Free</td>
<td class="data"><?php echo $lo->display('LANFREE'); ?></td>
</tr>
<tr>
<td>Auto Label</td>
<td class="data"><?php echo $lo->display('AUTOLABEL'); ?></td>
</tr>
<tr>
<td>Paths</td>
<td>
<table style="width: 100%;">
<?php $i=0; foreach ($lo->PATH->find_all() as $po) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td><?php echo $po->display('SOURCE_NAME'); ?></td>
<td><?php echo $po->display('SOURCE_TYPE'); ?></td>
<td><?php echo $po->display('DESTINATION_TYPE'); ?></td>
<td><?php echo $po->display('DEVICE'); ?></td>
</tr>
</table>
</td>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 100%; vertical-align: top;" rowspan="2">
<table class="box-full">
<tr>
<td class="head" colspan="10">Library Volume Summary</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;" colspan="2">Empty Slots</td>
<td style="width: 60%;" class="data" colspan="8"><?php echo $lo->numemptyslot(); ?></td>
</tr>
<tr>
<td colspan="2">Not Checked In</td>
<td class="data" colspan="8"><?php echo count($lo->notcheckedinvol()); ?></td>
</tr>
<tr>
<td colspan="2">Scratch</td>
<td class="data" colspan="8"><?php echo count($lo->scratchvol()); ?></td>
</tr>
<tr>
<td colspan="2">Read Only</td>
<td class="data" colspan="8"><?php echo count($lo->readonlyvol()); ?></td>
</tr>
<tr>
<td colspan="2">&sup1; Stale Storage Pool Volumes (<span class="data"><?php echo Kohana::$config->load('config')->tsmtapeage; ?></span> days)</td>
<td class="data" colspan="8"><?php echo count($lo->stalevol()); ?></td>
</tr>
<tr>
<td colspan="2">&sup2; Removable Volumes</td>
<td class="data" colspan="8"><?php echo count($lo->removablelibvol()); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td class="head" colspan="10">Storage Pool Volumes for this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="2">Storage Type</td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
<td class="right"><?php printf('%s: %s',$inout,$status); ?></td>
<?php } ?>
<?php } ?>
</tr>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data" colspan="2">DB VOLS</td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<td class="data-right"><?php echo count($lo->dbvolsloc($inout)); ?></td>
<td colspan="3">&nbsp;</td>
<?php } ?>
</tr>
<?php $i=0; foreach (Kohana::$config->load('config')->tsmdbtypes as $type) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo $type; ?></td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<td class="right"><?php echo count($lo->dbvolstype($inout,$type)); ?></td>
<td colspan="3">&nbsp;</td>
<?php } ?>
</tr>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data" colspan="2"><?php echo $type; ?></td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
<td class="data-right"><?php echo count($lo->volstype($type,$inout,$status)); ?></td>
<?php } ?>
<?php } ?>
</tr>
<?php foreach ($lo->storagepoolstype($type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo $spo; ?></td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
<td class="right"><?php echo count($spo->libvolstype($inout,$status)); ?></td>
<?php } ?>
<?php } ?>
</tr>
<?php } ?>
<?php } ?>
</table>
</td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('library/info')->set('o',$o); ?></td>
<td style="width: 100%; vertical-align: top;" rowspan="2"><?php echo View::factory('library/summary')->set('o',$o); ?></td>
</tr>
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="5">Drives in this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Name</td>
<td>Serial Number</td>
<td>Online</td>
<td>State</td>
<td>Volume</td>
</tr>
<?php $i=0;foreach ($lo->DRIVE->find_all() as $do) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $do->display('DRIVE_NAME'); ?></td>
<td class="data"><?php echo $do->display('DRIVE_SERIAL'); ?></td>
<td class="data"><?php echo $do->display('ONLINE'); ?></td>
<td class="data"><?php echo $do->display('DRIVE_STATE'); ?></td>
<td class="data"><?php echo $do->display('VOLUME_NAME'); ?></td>
</tr>
<?php foreach ($do->PATH->find_all() as $po) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo $po->display('SOURCE_NAME'); ?></td>
<td><?php echo $po->display('SOURCE_TYPE'); ?></td>
<td><?php echo $po->display('DESTINATION_TYPE'); ?></td>
<td><?php echo $po->display('DEVICE'); ?></td>
</tr>
<?php } ?>
<?php } ?>
</table>
</td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('library/drives')->set('o',$o); ?></td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;" colspan="2">
<table class="box-full">
<tr>
<td class="head" colspan="5">Volumes in this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Barcode</td>
<td>Usage</td>
<td>Status/Access</td>
<td>Utilisation</td>
<td>Reclaim</td>
<td>Last Read</td>
<td>Last Write</td>
<td>Slot</td>
<td>Library Access</td>
</tr>
<?php $i=0; foreach ($slots as $slot) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo HTML::nbsp($slot->barcodelabel().($slot->LIBVOLUME->VOLUME->recycle() ? ' &sup1' : '').($slot->LIBVOLUME->removable() ? ' &sup2' : '')); ?></td>
<td class="data"><?php echo $slot->LIBVOLUME->volusage(); ?></td>
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->status()); ?></td>
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('PCT_UTILIZED'); ?></td>
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('PCT_RECLAIM'); ?></td>
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('LAST_READ_DATE'); ?></td>
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->lastwrite()); ?></td>
<td class="data"><acronym title="<?php printf('%s: %s',_('Element'),$slot->element); ?>"><?php echo $slot; ?></acronym></td>
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->access()); ?></td>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 100%; vertical-align: top;" colspan="2"><?php echo View::factory('library/volumes-in')->set('o',$o); ?></td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;" colspan="2">
<table class="box-full">
<tr>
<td class="head" colspan="5">Volumes out of this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Volume</td>
<td>Usage</td>
<td>Status/Access</td>
<td>Utilisation</td>
<td>Reclaim</td>
<td>Last Read</td>
<td>Last Write</td>
<td>Location</td>
</tr>
<?php $i=0; foreach ($lo->volsnotinlib() as $vo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $vo.($vo->recycle() ? ' &sup1' : ''); ?></td>
<td class="data"><?php echo $vo->STGPOOL_NAME; ?></td>
<td class="data"><?php printf('%s/%s',$vo->display('STATUS'),$vo->display('ACCESS')); ?></td>
<td class="data"><?php echo $vo->display('PCT_UTILIZED'); ?></td>
<td class="data"><?php echo $vo->display('PCT_RECLAIM'); ?></td>
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>
<td class="data"><?php echo $vo->display('LAST_WRITE_DATE'); ?></td>
<td class="data"><?php echo $vo->display('LOCATION'); ?></td>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 100%; vertical-align: top;" colspan="2"><?php echo View::factory('library/volumes-out')->set('o',$o); ?></td>
</tr>
</table>

View File

@ -0,0 +1,34 @@
<!-- $o = ORM::factory('LIBRARY') -->
<table class="box-full">
<tr>
<td class="head" colspan="5">Drives in this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Name</td>
<td>Serial Number</td>
<td>Online</td>
<td>State</td>
<td>Volume</td>
</tr>
<?php $i=0;foreach ($o->DRIVE->find_all() as $do) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $do->display('DRIVE_NAME'); ?></td>
<td class="data"><?php echo $do->display('DRIVE_SERIAL'); ?></td>
<td class="data"><?php echo $do->display('ONLINE'); ?></td>
<td class="data"><?php echo $do->display('DRIVE_STATE'); ?></td>
<td class="data"><?php echo $do->display('VOLUME_NAME'); ?></td>
</tr>
<?php foreach ($do->PATH->find_all() as $po) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo $po->display('SOURCE_NAME'); ?></td>
<td><?php echo $po->display('SOURCE_TYPE'); ?></td>
<td><?php echo $po->display('DESTINATION_TYPE'); ?></td>
<td><?php echo $po->display('DEVICE'); ?></td>
</tr>
<?php } ?>
<?php } ?>
</table>

View File

@ -0,0 +1,57 @@
<!-- $o = ORM::factory('LIBRARY') -->
<!-- <?php $slots = $o->slots(); ?> -->
<table class="box-full">
<tr>
<td class="head" colspan="2">Information for this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Name</td>
<td style="width: 60%;" class="data"><?php printf('%s (%s)',$o->display('LIBRARY_NAME'),$slots->ProductId); ?></td>
</tr>
<tr>
<td>Serial Number</td>
<td class="data"><?php echo $o->display('LIBRARY_SERIAL'); ?></td>
</tr>
<tr>
<td>Type</td>
<td class="data"><?php echo $o->display('LIBRARY_TYPE'); ?></td>
</tr>
<tr>
<td>Drives</td>
<td class="data"><?php echo $slots->Drives; ?></td>
</tr>
<tr>
<td>Slots/Changers</td>
<td class="data"><?php printf('%s/%s',$slots->Slots-$slots->Changers,$slots->Changers); ?></td>
</tr>
<tr>
<td>Shared</td>
<td class="data"><?php echo $o->display('SHARED'); ?></td>
</tr>
<tr>
<td>LAN Free</td>
<td class="data"><?php echo $o->display('LANFREE'); ?></td>
</tr>
<tr>
<td>Auto Label</td>
<td class="data"><?php echo $o->display('AUTOLABEL'); ?></td>
</tr>
<tr>
<td>Paths</td>
<td>
<table style="width: 100%;">
<?php $i=0; foreach ($o->PATH->find_all() as $po) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td><?php echo $po->display('SOURCE_NAME'); ?></td>
<td><?php echo $po->display('SOURCE_TYPE'); ?></td>
<td><?php echo $po->display('DESTINATION_TYPE'); ?></td>
<td><?php echo $po->display('DEVICE'); ?></td>
</tr>
</table>
</td>
</tr>
<?php } ?>
</table>

View File

@ -0,0 +1,89 @@
<!-- $o = ORM::factory('LIBRARY') -->
<!-- <?php $slots = $o->slots(); ?> -->
<table class="box-full">
<tr>
<td class="head" colspan="10">Library Volume Summary</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;" colspan="2">Empty Slots</td>
<td style="width: 60%;" class="data" colspan="8"><?php echo $o->numemptyslot(); ?></td>
</tr>
<tr>
<td colspan="2">Not Checked In</td>
<td class="data" colspan="8"><?php echo count($o->notcheckedinvol()); ?></td>
</tr>
<tr>
<td colspan="2">Scratch</td>
<td class="data" colspan="8"><?php echo count($o->scratchvol()); ?></td>
</tr>
<tr>
<td colspan="2">Read Only</td>
<td class="data" colspan="8"><?php echo count($o->readonlyvol()); ?></td>
</tr>
<tr>
<td colspan="2">&sup1; Stale Volumes (<span class="data"><?php echo Kohana::$config->load('config')->tsmtapeage; ?></span> days)</td>
<td class="data" colspan="8"><?php echo count($o->stalevol()); ?></td>
</tr>
<tr>
<td colspan="2">&sup2; Removable Volumes</td>
<td class="data" colspan="8"><?php echo count($o->removablelibvol()); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td class="head" colspan="10">Storage Pool Volumes for this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="2">Storage Type</td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
<td class="right"><?php printf('%s: %s',$inout,$status); ?></td>
<?php } ?>
<?php } ?>
</tr>
<tr>
<td class="data" colspan="2">DB VOLS</td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<td class="data-right"><?php echo count($o->dbvolsloc($inout)); ?></td>
<td colspan="3">&nbsp;</td>
<?php } ?>
</tr>
<?php $i=0; foreach (Kohana::$config->load('config')->tsmdbtypes as $type) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo $type; ?></td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<td class="right"><?php echo count($o->dbvolstype($inout,$type)); ?></td>
<td colspan="3">&nbsp;</td>
<?php } ?>
</tr>
<?php } ?>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data" colspan="2"><?php echo $type; ?></td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
<td class="data-right"><?php echo count($o->volstype($type,$inout,$status)); ?></td>
<?php } ?>
<?php } ?>
</tr>
<?php foreach ($o->storagepoolstype($type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo $spo; ?></td>
<?php foreach (array('IN','OUT') as $inout) { ?>
<?php foreach (Kohana::$config->load('config')->tsmvolstatus as $status) { ?>
<td class="right"><?php echo count($spo->libvolstype($inout,$status)); ?></td>
<?php } ?>
<?php } ?>
</tr>
<?php } ?>
<?php } ?>
</table>

View File

@ -0,0 +1,33 @@
<!-- $o = ORM::factory('LIBRARY') -->
<table class="box-full">
<tr>
<td class="head" colspan="5">Volumes in this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Barcode</td>
<td>Usage</td>
<td>Status/Access</td>
<td>Utilisation</td>
<td>Reclaim</td>
<td>Last Read</td>
<td>Last Write</td>
<td>Slot</td>
<td>Library Access</td>
</tr>
<?php $i=0; foreach ($o->slots() as $slot) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo HTML::nbsp($slot->barcodelabel().($slot->LIBVOLUME->VOLUME->recycle() ? ' &sup1' : '').($slot->LIBVOLUME->removable() ? ' &sup2' : '')); ?></td>
<td class="data"><?php echo $slot->usage(); ?></td>
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->status()); ?></td>
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('PCT_UTILIZED'); ?></td>
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('PCT_RECLAIM'); ?></td>
<td class="data"><?php echo $slot->LIBVOLUME->VOLUME->display('LAST_READ_DATE'); ?></td>
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->lastwrite()); ?></td>
<td class="data"><acronym title="<?php printf('%s: %s',_('Element'),$slot->element); ?>"><?php echo $slot; ?></acronym></td>
<td class="data"><?php echo HTML::nbsp($slot->LIBVOLUME->access()); ?></td>
</tr>
<?php } ?>
</table>

View File

@ -0,0 +1,31 @@
<!-- $o = ORM::factory('LIBRARY') -->
<table class="box-full">
<tr>
<td class="head" colspan="5">Volumes out of this Library</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Volume</td>
<td>Usage</td>
<td>Status/Access</td>
<td>Utilisation</td>
<td>Reclaim</td>
<td>Last Read</td>
<td>Last Write</td>
<td>Location</td>
</tr>
<?php $i=0; foreach ($o->volsnotinlib() as $vo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $vo.($vo->recycle() ? ' &sup1' : ''); ?></td>
<td class="data"><?php echo $vo->STGPOOL_NAME; ?></td>
<td class="data"><?php printf('%s/%s',$vo->display('STATUS'),$vo->display('ACCESS')); ?></td>
<td class="data"><?php echo $vo->display('PCT_UTILIZED'); ?></td>
<td class="data"><?php echo $vo->display('PCT_RECLAIM'); ?></td>
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>
<td class="data"><?php echo $vo->display('LAST_WRITE_DATE'); ?></td>
<td class="data"><?php echo $vo->display('LOCATION'); ?></td>
</tr>
<?php } ?>
</table>

View File

@ -0,0 +1,29 @@
<!-- $o = ORM::factory('NODE') -->
<table class="box-full">
<tr>
<td class="head" colspan="2">Server Side Client Options</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Client Option</td>
<td>Seq #</td>
<td>Setting</td>
<td>Forced</td>
</tr>
<?php if ($o->OPTION_SET) { ?>
<?php $i=0; foreach ($o->CLIENTOPT->find_all() as $coo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $coo->display('OPTION_NAME'); ?></td>
<td class="data"><?php echo $coo->display('SEQNUMBER'); ?></td>
<td class="data"><?php echo $coo->display('OPTION_VALUE'); ?></td>
<td class="data"><?php echo $coo->display('FORCE'); ?></td>
</tr>
<?php } ?>
<?php } else { ?>
<tr>
<td>This node is not configured for any server side Client Options</td>
</tr>
<?php } ?>
</table>

View File

@ -1,184 +1,14 @@
<table width="100%">
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">Node Information</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Node Name</td>
<td style="width: 60%;" class="data"><?php echo $node->display('NODE_NAME'); ?> (<?php echo $node->URL ? HTML::anchor($node->URL,$node->display('TCP_ADDRESS')) : $node->display('TCP_ADDRESS'); ?>)</td>
</tr>
<tr>
<td>Node Contact</td>
<td class="data"><?php echo $node->display('CONTACT'); echo $node->EMAIL_ADDRESS ? ' ('.HTML::mailto($node->EMAIL_ADDRESS).')' : ''; ?> </td>
</tr>
<tr>
<td>Operating Sytem</td>
<td class="data"><?php echo $node->platform(); ?></td>
</tr>
<tr>
<td>TSM Client Version</td>
<td class="data"><?php echo $node->tsmclientversion(); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Date Registered</td>
<td class="data"><?php echo $node->display('REG_TIME'); ?> (by <?php echo $node->display('REG_ADMIN'); ?>)</td>
</tr>
<tr>
<td>Date Last Password Change</td>
<td class="data"><?php echo $node->display('PWSET_TIME'); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Password Expiry</td>
<td class="data"><?php echo $node->passexp(); ?></td>
</tr>
<tr>
<td>Invalid Password Count</td>
<td class="data"><?php echo $node->display('INVALID_PW_COUNT'); ?> (<?php echo $node->LOCKED == 'NO' ? _('Not Locked') : _('Locked'); ?>)</td>
</tr>
</table>
</td>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">Last Session Performance Information</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Last Access</td>
<td style="width: 60%;" class="data"><?php echo $node->display('LASTACC_TIME'); ?></td>
</tr>
<tr>
<td>Last Sent</td>
<td class="data"><?php echo number_format($node->LASTSESS_SENT/1024/1024,2); ?> MB</td>
</tr>
<tr>
<td>Last Receive</td>
<td class="data"><?php echo number_format($node->LASTSESS_RECVD/1024/1024,2); ?> MB</td>
</tr>
<tr>
<td>Last Duration</td>
<td class="data"><?php echo number_format($node->LASTSESS_DURATION/60,2); ?> min</td>
</tr>
<tr>
<td>Last Session Idle Wait Percent</td>
<td class="data"><?php echo $node->display('LASTSESS_IDLEWAIT'); ?>% (<?php echo number_format($node->LASTSESS_DURATION*($node->LASTSESS_IDLEWAIT/100),2); ?>s)</td>
</tr>
<tr>
<td>Last Session Comm Wait Percent</td>
<td class="data"><?php echo $node->display('LASTSESS_COMMWAIT'); ?>% (<?php echo number_format($node->LASTSESS_DURATION*($node->LASTSESS_COMMWAIT/100),2); ?>s)</td>
</tr>
<tr>
<td>Last Session Media Wait Percent</td>
<td class="data"><?php echo $node->display('LASTSESS_MEDIAWAIT'); ?>% (<?php echo number_format($node->LASTSESS_DURATION*($node->LASTSESS_MEDIAWAIT/100),2); ?>s)</td>
</tr>
<tr>
<td>Last Session Transfer Percent</td>
<td class="data"><?php echo number_format($node->lasttransferpercent(),2); ?>% (<?php echo number_format($node->lasttransfertime(),2); ?>s)</td>
</tr>
<tr>
<td>Last Session Send Performance</td>
<td class="data"><?php echo number_format($node->lastsendperformance(),2); ?> MB/s (<?php echo number_format($node->lastsendaggperformance(),2); ?> MB/s Aggregate)</td>
</tr>
<tr>
<td>Last Session Receive Performance</td>
<td class="data"><?php echo number_format($node->lastreceiveperformance(),2); ?> MB/s (<?php echo number_format($node->lastreceiveaggperformance(),2); ?> MB/s Aggregate)</td>
</tr>
</table>
</td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/info')->set('o',$o); ?></td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/session')->set('o',$o); ?></td>
</tr>
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">Backup Settings</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Domain</td>
<td style="width: 60%;" class="data"><?php echo HTML::anchor('domain/detail/'.$node->DOMAIN,$node->display('DOMAIN')); ?></td>
</tr>
<tr>
<td>Client Option Set</td>
<td class="data"><?php echo $node->display('OPTION_SET'); ?></td>
</tr>
<tr>
<td>Collocation Group</td>
<td class="data"><?php echo $node->COLLOCGROUP_NAME ? $node->display('COLLOCGROUP_NAME') : 'Not Set'; ?></td>
</tr>
<tr>
<td>Client Compression</td>
<td class="data"><?php echo $node->display('COMPRESSION'); ?></td>
</tr>
<tr>
<td>TXN Group Max</td>
<td class="data"><?php echo $node->txngroupmax(); ?></td>
</tr>
<tr>
<td>Delete Archives</td>
<td class="data"><?php echo $node->display('ARCHDELETE'); ?></td>
</tr>
<tr>
<td>Delete Backups</td>
<td class="data"><?php echo $node->display('BACKDELETE'); ?></td>
</tr>
<tr>
<td>Keep Mount Points</td>
<td class="data"><?php echo $node->display('KEEP_MP'); ?> (<?php echo $node->display('MAX_MP_ALLOWED'); ?>)</td>
</tr>
</table>
</td>
<td style="width: 50%; vertical-align: top;">
&nbsp;
</td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/settings')->set('o',$o); ?></td>
<td style="width: 50%; vertical-align: top;">&nbsp;</td>
</tr>
<tr>
<td style="width: 50%; vertical-align: top;">
<?php echo View::factory('node/policy')->set('domain',$node->DOMAIN); ?>
</td>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">Server Side Client Options</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Client Option</td>
<td>Seq #</td>
<td>Setting</td>
<td>Forced</td>
</tr>
<?php if ($node->OPTION_SET) { ?>
<?php $i=0; foreach ($node->CLIENTOPT->find_all() as $coo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $coo->display('OPTION_NAME'); ?></td>
<td class="data"><?php echo $coo->display('SEQNUMBER'); ?></td>
<td class="data"><?php echo $coo->display('OPTION_VALUE'); ?></td>
<td class="data"><?php echo $coo->display('FORCE'); ?></td>
</tr>
<?php } ?>
<?php } else { ?>
<tr>
<td>This node is not configured for any server side Client Options</td>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('domain/policy')->set('o',$o->DOMAIN); ?></td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/cloptset')->set('o',$o); ?></td>
</tr>
</table>

View File

@ -1,147 +0,0 @@
<table width="100%">
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">Backup Information</td>
</tr>
<?php if ($node->getStoragePools('Bkup')) { ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>File Space</td>
<td>Last Date</td>
<td class="right">Utilisation</td>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
if (count($pools = $node->getStoragePoolsType('Bkup',$type)))
foreach ($pools as $pool_name) { ?>
<td class="right"><?php echo $pool_name; ?> <span style="vertical-align: super; font-size: 60%;"><?echo $type; ?></span></td>
<?php } ?>
</tr>
<?php $i=0;foreach ($node->FILESPACE->find_all() as $fso) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $fso->display('FILESPACE_NAME'); ?></td>
<td class="data"><?php echo $fso->display('BACKUP_END'); ?></td>
<td class="data-right"><?php echo number_format($fso->utilsation(),2); ?></td>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
if (count($pools = $node->getStoragePoolsType('Bkup',$type)))
foreach ($pools as $pool_name) { ?>
<td class="data-right"><?php echo number_format($fso->pool_logical_util($pool_name,'Bkup'),2); ?> (<?php echo $fso->pool_numvols($pool_name,'BACKUP'); ?>)</td>
<?php } ?>
</tr>
<?php } ?>
<?php } else { ?>
<tr><td>There is NO Backup Data for this Node.</td></tr>
<?php } ?>
</table>
</td>
<td style="width: 50%; vertical-align: top;" rowspan="2">
<table class="box-full">
<tr>
<td class="head" colspan="2">Storage Summary</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="2">Storage Type</td>
<td class="right">Vols</td>
<td class="right">Files</td>
<td class="right">MB</td>
</tr>
<?php $i=0; foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data" colspan="2"><?php echo $type; ?></td>
<td class="data-right"><?php echo count($node->getStorageTypeVols($type)); ?></td>
<td class="data-right"><?php echo $node->getStorageTypeFiles($type); ?></td>
<td class="data-right"><?php echo $node->getStorageTypeData($type); ?></td>
</tr>
<?php foreach ($node->getAllStoragePoolsType($type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo $spo; ?></td>
<td class="right"><?php echo count($node->getStorageTypeVols($type,$spo)); ?></td>
<td class="right"><?php echo $node->getStorageTypeFiles($type,$spo); ?></td>
<td class="right"><?php echo $node->getStorageTypeData($type,$spo); ?></td>
</tr>
<?php } ?>
<?php } ?>
</table>
</td>
</tr>
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">Archive Information</td>
</tr>
<?php if ($node->getStoragePools('Arch')) { ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>File Space</td>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
if (count($pools = $node->getStoragePoolsType('Arch',$type)))
foreach ($pools as $pool_name) { ?>
<td class="right"><?php echo $pool_name; ?> <span style="vertical-align: super; font-size: 60%;"><?echo $type; ?></span></td>
<?php } ?>
</tr>
<?php $i=0;foreach ($node->FILESPACE->find_all() as $fso) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $fso->display('FILESPACE_NAME'); ?></td>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
if (count($pools = $node->getStoragePoolsType('Arch',$type)))
foreach ($pools as $pool_name) { ?>
<td class="data-right"><?php echo number_format($fso->pool_logical_util($pool_name,'Arch'),2); ?> (<?php echo $fso->pool_numvols($pool_name,'ARCHIVE'); ?>)</td>
<?php } ?>
</tr>
<?php } ?>
<?php } else { ?>
<tr><td>There is NO Archive Data for this Node.</td></tr>
<?php } ?>
</table>
</td>
<td style="width: 50%; vertical-align: top;">
&nbsp;
</td>
</tr>
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">HSM Information</td>
</tr>
<?php if ($node->getStoragePools('SpMg')) { ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>File Space</td>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
if (count($pools = $node->getStoragePoolsType('SpMg',$type)))
foreach ($pools as $pool_name) { ?>
<td class="right"><?php echo $pool_name; ?> <span style="vertical-align: super; font-size: 60%;"><?echo $type; ?></span></td>
<?php } ?>
</tr>
<?php $i=0;foreach ($node->FILESPACE->find_all() as $fso) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $fso->display('FILESPACE_NAME'); ?></td>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
if (count($pools = $node->getStoragePoolsType('SpMg',$type)))
foreach ($pools as $pool_name) { ?>
<td class="data-right"><?php echo number_format($fso->pool_logical_util($pool_name,'SpMg'),2); ?> (<?php echo $fso->pool_numvols($pool_name,'SPACE MANAGED'); ?>)</td>
<?php } ?>
</tr>
<?php } ?>
<?php } else { ?>
<tr><td>There is NO HSM Data for this Node.</td></tr>
<?php } ?>
</table>
</td>
<td style="width: 50%; vertical-align: top;">
&nbsp;
</td>
</tr>
</table>

View File

@ -1,92 +0,0 @@
<table width="100%">
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">TSM Node Schedules</td>
</tr>
<?php if ($node->ASSOCIATION->find_all()) { ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Schedule</td>
<td>Start Time</td>
<td>Duration</td>
<td>Repeat</td>
<td>Valid Day</td>
<td>Priority</td>
</tr>
<?php $i=0;foreach ($node->ASSOCIATION->find_all() as $ao) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $ao->display('SCHEDULE_NAME'); ?></td>
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('STARTTIME'); ?></td>
<td class="data"><?php printf('%s %s',$ao->SCHEDULE_CLIENT->DURATION,$ao->SCHEDULE_CLIENT->DURUNITS); ?></td>
<td class="data"><?php printf('%s %s',$ao->SCHEDULE_CLIENT->PERIOD,$ao->SCHEDULE_CLIENT->PERUNITS); ?></td>
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('DAYOFWEEK'); ?></td>
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('PRIORITY'); ?></td>
</tr>
<?php } ?>
<?php } else { ?>
<tr><td>There are no TSM schedules define for this Node.</td></tr>
<?php } ?>
</table>
</td>
<td style="width: 50%; vertical-align: top;" rowspan="2">
<table class="box-full">
<tr>
<td class="head" colspan="2">Summary Activity</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Start</td>
<td>End</td>
<td>Activity</td>
<td>Schedule</td>
<td>MB</td>
</tr>
<?php $i=0;foreach ($node->SUMMARY->find_all() as $so) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $so->display('START_TIME'); ?></td>
<td class="data"><?php echo $so->display('END_TIME'); ?></td>
<td class="data"><?php echo $so->display('ACTIVITY'); ?></td>
<td class="data"><?php echo $so->display('SCHEDULE_NAME'); ?></td>
<td class="data" style="text-align: right;"><?php printf('%3.2f',round($so->display('BYTES')/1024/1024,2)); ?></td>
</tr>
<?php } ?>
</table>
</td>
</tr>
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="2">Schedule Activity</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Sched Start</td>
<td>Act Start</td>
<td>Schedule Name</td>
<td>Status</td>
<td>Completed</td>
<td>Result</td>
</tr>
<?php $i=0;foreach ($node->EVENT->find_all() as $eo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $eo->display('SCHEDULED_START'); ?></td>
<td class="data"><?php echo HTML::nbsp($eo->display('ACTUAL_START')); ?></td>
<td class="data"><?php echo $eo->display('SCHEDULE_NAME'); ?></td>
<td class="data"><?php echo $eo->display('STATUS'); ?></td>
<td class="data"><?php echo HTML::nbsp($eo->display('COMPLETED')); ?></td>
<td class="data"><?php printf('%s %s',$eo->RESULT,$eo->display('REASON')); ?></td>
</tr>
<?php } ?>
</table>
</td>
</tr>
</table>

View File

@ -0,0 +1,45 @@
<!-- $o = ORM::factory('NODE') -->
<table width="100%">
<tr>
<td style="width: 50%; vertical-align: top;">
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<table class="box-full">
<tr>
<td class="head" colspan="2"><?php echo $ctype; ?> Information</td>
</tr>
<?php if ($o->getStoragePools($btype)) { ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>File Space</td>
<td><?php echo ($btype == 'Bkup') ? 'Last Date' : '&nbsp'; ?></td>
<td class="right">Utilisation</td>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
if (count($pools = $o->getStoragePoolsType($btype,$type)))
foreach ($pools as $pool_name) { ?>
<td class="right"><?php echo $pool_name; ?> <span style="vertical-align: super; font-size: 60%;"><?echo $type; ?></span></td>
<?php } ?>
</tr>
<?php $i=0;foreach ($o->FILESPACE->find_all() as $fso) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $fso->display('FILESPACE_NAME'); ?></td>
<td class="data"><?php echo ($btype == 'Bkup') ? $fso->display('BACKUP_END') : '&nbsp;'; ?></td>
<td class="data-right"><?php echo number_format($fso->utilsation(),2); ?></td>
<?php foreach (Kohana::$config->load('config')->tsmpooltypes as $type)
if (count($pools = $o->getStoragePoolsType($btype,$type)))
foreach ($pools as $pool_name) { ?>
<td class="data-right"><?php echo number_format($fso->pool_logical_util($pool_name,$btype),2); ?> (<?php echo $fso->pool_numvols($pool_name,$ctype); ?>)</td>
<?php } ?>
</tr>
<?php } ?>
<?php } else { ?>
<tr><td>There is no <?php echo $ctype; ?> Data for this Node.</td></tr>
<?php } ?>
</table>
<br/>
<?php } ?>
</td>
<td style="width: 50%; vertical-align: top;" rowspan="2"><?php echo View::factory('node/stgpool_summary')->set('o',$o); ?></td>
</tr>
</table>

View File

@ -0,0 +1,58 @@
<!-- $o = ORM::factory('NODE') -->
<table class="box-full">
<tr>
<td class="head" colspan="2">Node Information</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Node Name</td>
<td style="width: 60%;" class="data"><?php echo $o->display('NODE_NAME'); ?> (<?php echo $o->URL ? HTML::anchor($o->URL,$o->display('TCP_ADDRESS')) : $o->display('TCP_ADDRESS'); ?>)</td>
</tr>
<tr>
<td>Node Contact</td>
<td class="data"><?php echo $o->display('CONTACT'); echo $o->EMAIL_ADDRESS ? ' ('.HTML::mailto($o->EMAIL_ADDRESS).')' : ''; ?> </td>
</tr>
<tr>
<td>Operating Sytem</td>
<td class="data"><?php echo $o->platform(); ?></td>
</tr>
<tr>
<td>TSM Client Version</td>
<td class="data"><?php echo $o->tsmclientversion(); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Date Registered</td>
<td class="data"><?php echo $o->display('REG_TIME'); ?> (by <?php echo $o->display('REG_ADMIN'); ?>)</td>
</tr>
<tr>
<td>Date Last Password Change</td>
<td class="data"><?php echo $o->display('PWSET_TIME'); ?></td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Password Expiry</td>
<td class="data"><?php echo $o->passexp(); ?></td>
</tr>
<tr>
<td>Invalid Password Count</td>
<td class="data"><?php echo $o->display('INVALID_PW_COUNT'); ?> (<?php echo $o->LOCKED == 'NO' ? _('Not Locked') : _('Locked'); ?>)</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Proxy Target</td>
<td class="data"><?php echo HTML::anchor('node/detail/'.$o->PROXY_TARGET,$o->display('PROXY_TARGET')); ?></td>
</tr>
<tr>
<td>Proxy Agent(s)</td>
<td class="data"><?php echo $o->display('PROXY_AGENT'); ?></td>
</tr>
</table>

View File

@ -0,0 +1,10 @@
<!-- $o = ORM::factory('NODE') -->
<table width="100%">
<tr>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/schedule_list')->set('o',$o); ?></td>
<td style="width: 50%; vertical-align: top;" rowspan="2"><?php echo View::factory('node/schedule_summary')->set('o',$o); ?></td>
</tr>
<tr>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('node/schedule_activity')->set('o',$o); ?></td>
</tr>
</table>

View File

@ -0,0 +1,27 @@
<!-- $o = ORM::factory('NODE') -->
<table class="box-full">
<tr>
<td class="head" colspan="2">Schedule Activity</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Sched Start</td>
<td>Act Start</td>
<td>Schedule Name</td>
<td>Status</td>
<td>Completed</td>
<td>Result</td>
</tr>
<?php $i=0;foreach ($o->EVENT->find_all() as $eo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $eo->display('SCHEDULED_START'); ?></td>
<td class="data"><?php echo HTML::nbsp($eo->display('ACTUAL_START')); ?></td>
<td class="data"><?php echo $eo->display('SCHEDULE_NAME'); ?></td>
<td class="data"><?php echo $eo->display('STATUS'); ?></td>
<td class="data"><?php echo HTML::nbsp($eo->display('COMPLETED')); ?></td>
<td class="data"><?php printf('%s %s',$eo->RESULT,$eo->display('REASON')); ?></td>
</tr>
<?php } ?>
</table>

View File

@ -0,0 +1,31 @@
<!-- $o = ORM::factory('NODE') -->
<table class="box-full">
<tr>
<td class="head" colspan="2">TSM Node Schedules</td>
</tr>
<?php if ($o->ASSOCIATION->find_all()) { ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Schedule</td>
<td>Start Time</td>
<td>Duration</td>
<td>Repeat</td>
<td>Valid Day</td>
<td>Priority</td>
</tr>
<?php $i=0;foreach ($o->ASSOCIATION->find_all() as $ao) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $ao->display('SCHEDULE_NAME'); ?></td>
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('STARTTIME'); ?></td>
<td class="data"><?php printf('%s %s',$ao->SCHEDULE_CLIENT->DURATION,$ao->SCHEDULE_CLIENT->DURUNITS); ?></td>
<td class="data"><?php printf('%s %s',$ao->SCHEDULE_CLIENT->PERIOD,$ao->SCHEDULE_CLIENT->PERUNITS); ?></td>
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('DAYOFWEEK'); ?></td>
<td class="data"><?php echo $ao->SCHEDULE_CLIENT->display('PRIORITY'); ?></td>
</tr>
<?php } ?>
<?php } else { ?>
<tr><td>There are no TSM schedules define for this Node.</td></tr>
<?php } ?>
</table>

View File

@ -0,0 +1,25 @@
<!-- $o = ORM::factory('NODE') -->
<table class="box-full">
<tr>
<td class="head" colspan="2">Summary Activity</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Start</td>
<td>End</td>
<td>Activity</td>
<td>Schedule</td>
<td>MB</td>
</tr>
<?php $i=0;foreach ($o->SUMMARY->find_all() as $so) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $so->display('START_TIME'); ?></td>
<td class="data"><?php echo $so->display('END_TIME'); ?></td>
<td class="data"><?php echo $so->display('ACTIVITY'); ?></td>
<td class="data"><?php echo $so->display('SCHEDULE_NAME'); ?></td>
<td class="data" style="text-align: right;"><?php printf('%3.2f',round($so->display('BYTES')/1024/1024,2)); ?></td>
</tr>
<?php } ?>
</table>

View File

@ -0,0 +1,49 @@
<!-- $o = ORM::factory('NODE') -->
<table class="box-full">
<tr>
<td class="head" colspan="2">Last Session Performance Information</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Last Access</td>
<td style="width: 60%;" class="data"><?php echo $o->display('LASTACC_TIME'); ?></td>
</tr>
<tr>
<td>Last Sent</td>
<td class="data"><?php echo number_format($o->LASTSESS_SENT/1024/1024,2); ?> MB</td>
</tr>
<tr>
<td>Last Receive</td>
<td class="data"><?php echo number_format($o->LASTSESS_RECVD/1024/1024,2); ?> MB</td>
</tr>
<tr>
<td>Last Duration</td>
<td class="data"><?php echo number_format($o->LASTSESS_DURATION/60,2); ?> min</td>
</tr>
<tr>
<td>Last Session Idle Wait Percent</td>
<td class="data"><?php echo $o->display('LASTSESS_IDLEWAIT'); ?>% (<?php echo number_format($o->LASTSESS_DURATION*($o->LASTSESS_IDLEWAIT/100),2); ?>s)</td>
</tr>
<tr>
<td>Last Session Comm Wait Percent</td>
<td class="data"><?php echo $o->display('LASTSESS_COMMWAIT'); ?>% (<?php echo number_format($o->LASTSESS_DURATION*($o->LASTSESS_COMMWAIT/100),2); ?>s)</td>
</tr>
<tr>
<td>Last Session Media Wait Percent</td>
<td class="data"><?php echo $o->display('LASTSESS_MEDIAWAIT'); ?>% (<?php echo number_format($o->LASTSESS_DURATION*($o->LASTSESS_MEDIAWAIT/100),2); ?>s)</td>
</tr>
<tr>
<td>Last Session Transfer Percent</td>
<td class="data"><?php echo number_format($o->lasttransferpercent(),2); ?>% (<?php echo number_format($o->lasttransfertime(),2); ?>s)</td>
</tr>
<tr>
<td>Last Session Send Performance</td>
<td class="data"><?php echo number_format($o->lastsendperformance(),2); ?> MB/s (<?php echo number_format($o->lastsendaggperformance(),2); ?> MB/s Aggregate)</td>
</tr>
<tr>
<td>Last Session Receive Performance</td>
<td class="data"><?php echo number_format($o->lastreceiveperformance(),2); ?> MB/s (<?php echo number_format($o->lastreceiveaggperformance(),2); ?> MB/s Aggregate)</td>
</tr>
</table>

View File

@ -0,0 +1,41 @@
<!-- $o = ORM::factory('NODE') -->
<table class="box-full">
<tr>
<td class="head" colspan="2">Backup Settings</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Domain</td>
<td style="width: 60%;" class="data"><?php echo HTML::anchor('domain/detail/'.$o->DOMAIN,$o->display('DOMAIN')); ?></td>
</tr>
<tr>
<td>Client Option Set</td>
<td class="data"><?php echo $o->display('OPTION_SET'); ?></td>
</tr>
<tr>
<td>Collocation Group</td>
<td class="data"><?php echo $o->COLLOCGROUP_NAME ? $o->display('COLLOCGROUP_NAME') : 'Not Set'; ?></td>
</tr>
<tr>
<td>Client Compression</td>
<td class="data"><?php echo $o->display('COMPRESSION'); ?></td>
</tr>
<tr>
<td>TXN Group Max</td>
<td class="data"><?php echo $o->txngroupmax(); ?></td>
</tr>
<tr>
<td>Delete Archives</td>
<td class="data"><?php echo $o->display('ARCHDELETE'); ?></td>
</tr>
<tr>
<td>Delete Backups</td>
<td class="data"><?php echo $o->display('BACKDELETE'); ?></td>
</tr>
<tr>
<td>Keep Mount Points</td>
<td class="data"><?php echo $o->display('KEEP_MP'); ?> (<?php echo $o->display('MAX_MP_ALLOWED'); ?>)</td>
</tr>
</table>

View File

@ -0,0 +1,32 @@
<!-- $o = ORM::factory('NODE') -->
<table class="box-full">
<tr>
<td class="head" colspan="2">Storage Summary</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td colspan="2">Storage Type</td>
<td class="right">Vols</td>
<td class="right">Files</td>
<td class="right">MB</td>
</tr>
<?php $i=0; foreach (Kohana::$config->load('config')->tsmpooltypes as $type) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data" colspan="2"><?php echo $type; ?></td>
<td class="data-right"><?php echo count($o->getStorageTypeVols($type)); ?></td>
<td class="data-right"><?php echo $o->getStorageTypeFiles($type); ?></td>
<td class="data-right"><?php echo $o->getStorageTypeData($type); ?></td>
</tr>
<?php foreach ($o->getAllStoragePoolsType($type) as $spo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td>&nbsp;</td>
<td><?php echo $spo; ?></td>
<td class="right"><?php echo count($o->getStorageTypeVols($type,$spo)); ?></td>
<td class="right"><?php echo $o->getStorageTypeFiles($type,$spo); ?></td>
<td class="right"><?php echo $o->getStorageTypeData($type,$spo); ?></td>
</tr>
<?php } ?>
<?php } ?>
</table>

View File

@ -1,3 +1,4 @@
<!-- $o = ORM::factory('NODE') -->
<table width="100%">
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<tr>
@ -6,7 +7,7 @@
<tr>
<td class="head" colspan="2"><?php echo $ctype.' '._('Volumes'); ?></td>
</tr>
<?php if ($node->volumes($ctype)) { ?>
<?php if ($o->volumes($ctype)) { ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
@ -22,7 +23,7 @@
<td class="right">Other FS</td>
<td class="right">Other Node</td>
</tr>
<?php $i=0; foreach ($node->volumes($ctype) as $stgpool => $vols) {
<?php $i=0; foreach ($o->volumes($ctype) as $stgpool => $vols) {
$spo = ORM::factory('STGPOOL',$stgpool); ?>
<tr class="subhead"><td colspan="10"><?php printf('%s: Reclaim: %s%%, Scratch Usage: %s/%s, Device Type: %s',$spo->STGPOOL_NAME,$spo->RECLAIM,$spo->NUMSCRATCHUSED,$spo->MAXSCRATCH,$spo->DEVCLASSES->DEVTYPE); ?></td></tr>
<?php foreach ($vols as $vo) { ?>

View File

@ -1,305 +1,15 @@
<table width="100%">
<tr>
<td rowspan="2" style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="5">Information for this Storage Pool</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Description</td>
<td style="width: 60%;" class="data"><?php echo $so->display('DESCRIPTION'); ?></td>
</tr>
<tr>
<td>Type</td>
<td class="data"><?php echo $so->display('POOLTYPE'); ?></td>
</tr>
<tr>
<td>Est Capacity</td>
<td class="data"><?php echo $so->display('EST_CAPACITY_MB'); ?></td>
</tr>
<tr>
<td>Util %</td>
<td class="data"><?php echo $so->display('PCT_UTILIZED'); ?></td>
</tr>
<?php if ($so->DEVCLASS != 'DISK') { ?>
<tr>
<td>Scratch Vols</td>
<td class="data"><?php printf('%s/%s',$so->NUMSCRATCHUSED,$so->MAXSCRATCH); ?></td>
</tr>
<tr>
<td>Volume Reuse Delay</td>
<td class="data"><?php echo $so->display('REUSEDELAY'); ?></td>
</tr>
<?php } ?>
<tr>
<td>Access</td>
<td class="data"><?php echo $so->display('ACCESS'); ?></td>
</tr>
<tr>
<td>Max Object Size</td>
<td class="data"><?php echo $so->display('MAXSIZE'); ?></td>
</tr>
<tr>
<td>Collate</td>
<td class="data"><?php echo $so->display('COLLOCATE'); ?></td>
</tr>
<?php if ($so->DEVCLASS === 'DISK') { ?>
<tr>
<td>Cache Migrated Files</td>
<td class="data"><?php echo $so->display('CACHE'); ?></td>
</tr>
<?php } else { ?>
<tr>
<td>Reclaim %</td>
<td class="data"><?php echo $so->display('RECLAIM'); ?></td>
</tr>
<tr>
<td>Reclaim Processes</td>
<td class="data"><?php echo $so->display('RECLAIMPROCESS'); ?></td>
</tr>
<tr>
<td>Reclaim Storage Pool</td>
<td class="data"><?php echo $so->display('RECLAIMSTGPOOL'); ?></td>
</tr>
<?php } ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Next Pool</td>
<?php if ($so->NEXTSTGPOOL AND $so->POOLTYPE === 'PRIMARY') { ?>
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$so->NEXTSTGPOOL,$so->display('NEXTSTGPOOL')); ?></td>
</tr>
<tr>
<td>Migratable %</td>
<td class="data"><?php echo $so->display('PCT_MIGR'); ?></td>
</tr>
<tr>
<td>Hi/Low Migration</td>
<td class="data"><?php printf('%s/%s',$so->HIGHMIG,$so->LOWMIG); ?></td>
</tr>
<tr>
<td>Migration Delay</td>
<td class="data"><?php echo $so->display('MIGDELAY'); ?></td>
</tr>
<tr>
<td>Migration Continue</td>
<td class="data"><?php echo $so->display('MIGCONTINUE'); ?></td>
</tr>
<tr>
<td>Last Migration Time</td>
<td class="data"><?php echo $so->display('MIGR_SECONDS'); ?></td>
</tr>
<tr>
<td>Last Migration Data</td>
<td class="data"><?php echo $so->display('MIGR_MB'); ?></td>
<?php } elseif (! $so->NEXTSTGPOOL AND $so->POOLTYPE === 'PRIMARY') { ?>
<td class="data"><?php echo _('No migration enabled'); ?></td>
<?php } ?>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Active Data Pools</td>
<td class="data"><?php echo $so->display('ACTIVEDATASTGPOOLS'); ?></td>
</tr>
<tr>
<td>Copy Pools</td>
<td class="data"><?php echo $so->display('COPYSTGPOOLS'); ?></td>
</tr>
<tr>
<td>Copy Continue</td>
<td class="data"><?php echo $so->display('COPYCONTINUE'); ?></td>
</tr>
</table>
</td>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="5">Device Class information</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Access</td>
<td style="width: 60%;" class="data"><?php echo $so->DEVCLASSES->display('ACCESS_STRATEGY'); ?></td>
</tr>
<tr>
<td>Device Type</td>
<td class="data"><?php echo $so->DEVCLASSES->display('DEVTYPE'); ?></td>
</tr>
<tr>
<td>Format</td>
<td class="data"><?php echo $so->DEVCLASSES->display('FORMAT'); ?></td>
</tr>
<tr>
<td>Capacity</td>
<td class="data"><?php echo $so->DEVCLASSES->display('CAPACITY'); ?></td>
</tr>
<tr>
<td>Mount Limit</td>
<td class="data"><?php echo $so->DEVCLASSES->display('MOUNTLIMIT'); ?></td>
</tr>
<?php if ($so->DEVCLASSES->DEVTYPE == 'FILE') { ?>
<tr>
<td>Directory</td>
<td class="data"><?php echo $so->DEVCLASSES->display('DIRECTORY'); ?></td>
</tr>
<?php } else { ?>
<tr>
<td>Library</td>
<td class="data"><?php echo $so->DEVCLASSES->display('LIBRARY_NAME'); ?></td>
</tr>
<tr>
<td>Mount Wait</td>
<td class="data"><?php echo $so->DEVCLASSES->display('MOUNTWAIT'); ?></td>
</tr>
<tr>
<td>Mount Retention</td>
<td class="data"><?php echo $so->DEVCLASSES->display('MOUNTRETENTION'); ?></td>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 50%; vertical-align: top;" rowspan="2"><?php echo View::factory('stgpool/info')->set('o',$o); ?></td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('stgpool/devclass')->set('o',$o); ?></td>
</tr>
<tr>
<td style="width: 50%; vertical-align: top;">
<table class="box-full">
<tr>
<td class="head" colspan="5">Management classes that directly store here</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td class="head" colspan="5">Backup Management Classes</td>
</tr>
<tr>
<td>Domain</td>
<td>MgmtClass</td>
<td>Copy Group</td>
</tr>
<?php $i=0; foreach ($so->COPYGROUP_BU->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo HTML::anchor('domain/detail/'.$cgo->DOMAIN_NAME,$cgo->display('DOMAIN_NAME')); ?></td>
<td class="data"><?php echo $cgo->display('CLASS_NAME'); ?></td>
<td class="data"><?php echo $cgo->display('COPYGROUP_NAME'); ?></td>
</tr>
<?php } ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td class="head" colspan="5">Archive Management Classes</td>
</tr>
<tr>
<td>Domain</td>
<td>MgmtClass</td>
<td>Copy Group</td>
</tr>
<?php $i=0; foreach ($so->COPYGROUP_AR->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $cgo->display('DOMAIN_NAME'); ?></td>
<td class="data"><?php echo $cgo->display('CLASS_NAME'); ?></td>
<td class="data"><?php echo $cgo->display('COPYGROUP_NAME'); ?></td>
</tr>
<?php } ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td class="head" colspan="5">HSM Management Classes</td>
</tr>
<tr>
<td>Domain</td>
<td>MgmtClass</td>
</tr>
<?php $i=0; foreach ($so->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $mo->display('DOMAIN_NAME'); ?></td>
<td class="data"><?php echo $mo->display('CLASS_NAME'); ?><?php echo $mo->DEFAULTMC == 'Yes' ? '*' : ''; ?></td>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 50%; vertical-align: top;"><?php echo View::factory('stgpool/mgmtclasses')->set('o',$o); ?></td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;" colspan="2">
<table class="box-full">
<tr>
<td class="head" colspan="5">Volumes in this Storage Pool</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Volume</td>
<td>Last Read Date</td>
<td>Last Write Date</td>
<td>Access</td>
<td>Status</td>
<td class="right">Errors R/W</td>
<td class="right">Util %</td>
<td class="right">Reclaim</td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td class="right"><?php echo 'FS '.$btype; ?></td>
<td class="right"><?php echo 'Node '.$btype; ?></td>
<?php } ?>
</tr>
<?php $i=0; foreach ($so->VOLUME->find_all() as $vo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $vo->display('VOLUME_NAME'); ?></td>
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>
<td class="data"><?php echo $vo->display('LAST_WRITE_DATE'); ?></td>
<td class="data"><?php echo $vo->display('ACCESS'); ?></td>
<td class="data"><?php echo $vo->display('STATUS'); ?></td>
<td class="data-right"><?php printf('%s/%s',$vo->READ_ERRORS,$vo->WRITE_ERRORS); ?></td>
<td class="data-right"><abbr title="<?php echo $vo->display('EST_CAPACITY_MB'); ?>"><?php echo $vo->display('PCT_UTILIZED'); ?></abbr></td>
<td class="data-right"><?php echo $vo->display('PCT_RECLAIM'); ?></td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td class="data-right"><?php echo $vo->getFSOnVol($ctype); ?></td>
<td class="data-right"><?php echo $vo->getNodesOnVol($ctype); ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 100%; vertical-align: top;" colspan="2"><?php echo View::factory('stgpool/volumes')->set('o',$o); ?></td>
</tr>
<tr>
<td style="width: 100%; vertical-align: top;" colspan="2">
<table class="box-full">
<tr>
<td class="head" colspan="5">Nodes with data in this Storage Pool</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Node</td>
<td>Type</td>
<td>File Space</td>
<td>Num Files</td>
<td>Physical</td>
<td>Logical</td>
<td>Reporting</td>
</tr>
<?php $i=0; foreach ($so->OCC->find_all() as $oo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo HTML::anchor('node/detail/'.$oo->NODE_NAME,$oo->NODE_NAME); ?></td>
<td class="data"><?php echo $oo->display('TYPE'); ?></td>
<td class="data"><?php echo $oo->display('FILESPACE_NAME'); ?></td>
<td class="data"><?php echo $oo->display('NUM_FILES'); ?></td>
<td class="data"><?php echo $oo->display('PHYSICAL_MB'); ?></td>
<td class="data"><?php echo $oo->display('LOGICAL_MB'); ?></td>
<td class="data"><?php echo $oo->display('REPORTING_MB'); ?></td>
</tr>
<?php } ?>
</table>
</td>
<td style="width: 100%; vertical-align: top;" colspan="2"><?php echo View::factory('stgpool/nodes')->set('o',$o); ?></td>
</tr>
</table>

View File

@ -0,0 +1,48 @@
<!-- $o = ORM::factory('STGPOOL') -->
<table class="box-full">
<tr>
<td class="head" colspan="5">Device Class information</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Access</td>
<td style="width: 60%;" class="data"><?php echo $o->DEVCLASSES->display('ACCESS_STRATEGY'); ?></td>
</tr>
<tr>
<td>Device Type</td>
<td class="data"><?php echo $o->DEVCLASSES->display('DEVTYPE'); ?></td>
</tr>
<tr>
<td>Format</td>
<td class="data"><?php echo $o->DEVCLASSES->display('FORMAT'); ?></td>
</tr>
<tr>
<td>Capacity</td>
<td class="data"><?php echo $o->DEVCLASSES->display('CAPACITY'); ?></td>
</tr>
<tr>
<td>Mount Limit</td>
<td class="data"><?php echo $o->DEVCLASSES->display('MOUNTLIMIT'); ?></td>
</tr>
<?php if ($o->DEVCLASSES->DEVTYPE == 'FILE') { ?>
<tr>
<td>Directory</td>
<td class="data"><?php echo $o->DEVCLASSES->display('DIRECTORY'); ?></td>
</tr>
<?php } else { ?>
<tr>
<td>Library</td>
<td class="data"><?php echo $o->DEVCLASSES->display('LIBRARY_NAME'); ?></td>
</tr>
<tr>
<td>Mount Wait</td>
<td class="data"><?php echo $o->DEVCLASSES->display('MOUNTWAIT'); ?></td>
</tr>
<tr>
<td>Mount Retention</td>
<td class="data"><?php echo $o->DEVCLASSES->display('MOUNTRETENTION'); ?></td>
</tr>
<?php } ?>
</table>

View File

@ -0,0 +1,116 @@
<!-- $o = ORM::factory('STGPOOL') -->
<table class="box-full">
<tr>
<td class="head" colspan="5">Information for this Storage Pool</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td style="width: 40%;">Description</td>
<td style="width: 60%;" class="data"><?php echo $o->display('DESCRIPTION'); ?></td>
</tr>
<tr>
<td>Type</td>
<td class="data"><?php echo $o->display('POOLTYPE'); ?></td>
</tr>
<tr>
<td>Est Capacity</td>
<td class="data"><?php echo $o->display('EST_CAPACITY_MB'); ?></td>
</tr>
<tr>
<td>Util %</td>
<td class="data"><?php echo $o->display('PCT_UTILIZED'); ?></td>
</tr>
<?php if ($o->DEVCLASS != 'DISK') { ?>
<tr>
<td>Scratch Vols</td>
<td class="data"><?php printf('%s/%s',$o->NUMSCRATCHUSED,$o->MAXSCRATCH); ?></td>
</tr>
<tr>
<td>Volume Reuse Delay</td>
<td class="data"><?php echo $o->display('REUSEDELAY'); ?></td>
</tr>
<?php } ?>
<tr>
<td>Access</td>
<td class="data"><?php echo $o->display('ACCESS'); ?></td>
</tr>
<tr>
<td>Max Object Size</td>
<td class="data"><?php echo $o->display('MAXSIZE'); ?></td>
</tr>
<tr>
<td>Collate</td>
<td class="data"><?php echo $o->display('COLLOCATE'); ?></td>
</tr>
<?php if ($o->DEVCLASS === 'DISK') { ?>
<tr>
<td>Cache Migrated Files</td>
<td class="data"><?php echo $o->display('CACHE'); ?></td>
</tr>
<?php } else { ?>
<tr>
<td>Reclaim %</td>
<td class="data"><?php echo $o->display('RECLAIM'); ?></td>
</tr>
<tr>
<td>Reclaim Processes</td>
<td class="data"><?php echo $o->display('RECLAIMPROCESS'); ?></td>
</tr>
<tr>
<td>Reclaim Storage Pool</td>
<td class="data"><?php echo $o->display('RECLAIMSTGPOOL'); ?></td>
</tr>
<?php } ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Next Pool</td>
<?php if ($o->NEXTSTGPOOL AND $o->POOLTYPE === 'PRIMARY') { ?>
<td class="data"><?php echo HTML::anchor('stgpool/detail/'.$o->NEXTSTGPOOL,$o->display('NEXTSTGPOOL')); ?></td>
</tr>
<tr>
<td>Migratable %</td>
<td class="data"><?php echo $o->display('PCT_MIGR'); ?></td>
</tr>
<tr>
<td>Hi/Low Migration</td>
<td class="data"><?php printf('%s/%s',$o->HIGHMIG,$o->LOWMIG); ?></td>
</tr>
<tr>
<td>Migration Delay</td>
<td class="data"><?php echo $o->display('MIGDELAY'); ?></td>
</tr>
<tr>
<td>Migration Continue</td>
<td class="data"><?php echo $o->display('MIGCONTINUE'); ?></td>
</tr>
<tr>
<td>Last Migration Time</td>
<td class="data"><?php echo $o->display('MIGR_SECONDS'); ?></td>
</tr>
<tr>
<td>Last Migration Data</td>
<td class="data"><?php echo $o->display('MIGR_MB'); ?></td>
<?php } elseif (! $o->NEXTSTGPOOL AND $o->POOLTYPE === 'PRIMARY') { ?>
<td class="data"><?php echo _('No migration enabled'); ?></td>
<?php } ?>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Active Data Pools</td>
<td class="data"><?php echo $o->display('ACTIVEDATASTGPOOLS'); ?></td>
</tr>
<tr>
<td>Copy Pools</td>
<td class="data"><?php echo $o->display('COPYSTGPOOLS'); ?></td>
</tr>
<tr>
<td>Copy Continue</td>
<td class="data"><?php echo $o->display('COPYCONTINUE'); ?></td>
</tr>
</table>

View File

@ -0,0 +1,58 @@
<!-- $o = ORM::factory('STGPOOL') -->
<table class="box-full">
<tr>
<td class="head" colspan="5">Management classes that directly store here</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td class="head" colspan="5">Backup Management Classes</td>
</tr>
<tr>
<td>Domain</td>
<td>MgmtClass</td>
<td>Copy Group</td>
</tr>
<?php $i=0; foreach ($o->COPYGROUP_BU->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo HTML::anchor('domain/detail/'.$cgo->DOMAIN_NAME,$cgo->display('DOMAIN_NAME')); ?></td>
<td class="data"><?php echo $cgo->display('CLASS_NAME'); ?></td>
<td class="data"><?php echo $cgo->display('COPYGROUP_NAME'); ?></td>
</tr>
<?php } ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td class="head" colspan="5">Archive Management Classes</td>
</tr>
<tr>
<td>Domain</td>
<td>MgmtClass</td>
<td>Copy Group</td>
</tr>
<?php $i=0; foreach ($o->COPYGROUP_AR->where('SET_NAME','=','ACTIVE')->find_all() as $cgo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $cgo->display('DOMAIN_NAME'); ?></td>
<td class="data"><?php echo $cgo->display('CLASS_NAME'); ?></td>
<td class="data"><?php echo $cgo->display('COPYGROUP_NAME'); ?></td>
</tr>
<?php } ?>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td class="head" colspan="5">HSM Management Classes</td>
</tr>
<tr>
<td>Domain</td>
<td>MgmtClass</td>
</tr>
<?php $i=0; foreach ($o->MGMTCLASS->where('SET_NAME','=','ACTIVE')->find_all() as $mo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $mo->display('DOMAIN_NAME'); ?></td>
<td class="data"><?php echo $mo->display('CLASS_NAME'); ?><?php echo $mo->DEFAULTMC == 'Yes' ? '*' : ''; ?></td>
</tr>
<?php } ?>
</table>

View File

@ -0,0 +1,29 @@
<!-- $o = ORM::factory('STGPOOL') -->
<table class="box-full">
<tr>
<td class="head" colspan="5">Nodes with data in this Storage Pool</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Node</td>
<td>Type</td>
<td>File Space</td>
<td>Num Files</td>
<td>Physical</td>
<td>Logical</td>
<td>Reporting</td>
</tr>
<?php $i=0; foreach ($o->OCC->find_all() as $oo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo HTML::anchor('node/detail/'.$oo->NODE_NAME,$oo->NODE_NAME); ?></td>
<td class="data"><?php echo $oo->display('TYPE'); ?></td>
<td class="data"><?php echo $oo->display('FILESPACE_NAME'); ?></td>
<td class="data"><?php echo $oo->display('NUM_FILES'); ?></td>
<td class="data"><?php echo $oo->display('PHYSICAL_MB'); ?></td>
<td class="data"><?php echo $oo->display('LOGICAL_MB'); ?></td>
<td class="data"><?php echo $oo->display('REPORTING_MB'); ?></td>
</tr>
<?php } ?>
</table>

View File

@ -0,0 +1,39 @@
<!-- $o = ORM::factory('STGPOOL') -->
<table class="box-full">
<tr>
<td class="head" colspan="5">Volumes in this Storage Pool</td>
</tr>
<tr>
<td class="spacer">&nbsp;</td>
</tr>
<tr>
<td>Volume</td>
<td>Last Read Date</td>
<td>Last Write Date</td>
<td>Access</td>
<td>Status</td>
<td class="right">Errors R/W</td>
<td class="right">Util %</td>
<td class="right">Reclaim</td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td class="right"><?php echo 'FS '.$btype; ?></td>
<td class="right"><?php echo 'Node '.$btype; ?></td>
<?php } ?>
</tr>
<?php $i=0; foreach ($o->VOLUME->find_all() as $vo) { ?>
<tr class="<?php echo $i++%2 ? 'odd' : 'even'; ?>">
<td class="data"><?php echo $vo->display('VOLUME_NAME'); ?></td>
<td class="data"><?php echo $vo->display('LAST_READ_DATE'); ?></td>
<td class="data"><?php echo $vo->display('LAST_WRITE_DATE'); ?></td>
<td class="data"><?php echo $vo->display('ACCESS'); ?></td>
<td class="data"><?php echo $vo->display('STATUS'); ?></td>
<td class="data-right"><?php printf('%s/%s',$vo->READ_ERRORS,$vo->WRITE_ERRORS); ?></td>
<td class="data-right"><abbr title="<?php echo $vo->display('EST_CAPACITY_MB'); ?>"><?php echo $vo->display('PCT_UTILIZED'); ?></abbr></td>
<td class="data-right"><?php echo $vo->display('PCT_RECLAIM'); ?></td>
<?php foreach (Kohana::$config->load('config')->tsmdatatypes as $btype => $ctype) { ?>
<td class="data-right"><?php echo $vo->getFSOnVol($ctype); ?></td>
<td class="data-right"><?php echo $vo->getNodesOnVol($ctype); ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>