summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 8269ae5)
raw | patch | inline | side by side (parent: 8269ae5)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Thu, 8 Apr 2010 12:25:04 +0000 (12:25 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Thu, 8 Apr 2010 12:25:04 +0000 (12:25 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@17549 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-plugins/fai/admin/fai/class_faiDiskEntry.inc | patch | blob | history |
diff --git a/gosa-plugins/fai/admin/fai/class_faiDiskEntry.inc b/gosa-plugins/fai/admin/fai/class_faiDiskEntry.inc
index dec0598605d5a41542c72626bc5b60d3accecbec..3beb2426f8a9afbe5c00240b7784ad1a2cd99113 100644 (file)
$this->fstabkey= "device";
}
}
+
+ // Prepare lists
+ $this->diskList = new sortableListing();
+ $this->diskList->setDeleteable(true);
+ $this->diskList->setEditable(true);
+ $this->diskList->setWidth("100%");
+ $this->diskList->setHeight("400px");
+ $this->diskList->setColspecs(array('200px','*'));
+ $this->diskList->setHeader(array("Name",_("Description"),_("Type"),_("Mount point"),_("Options")));
+ $this->diskList->setDefaultSortColumn(1);
+ $this->diskList->setAcl('rwcdm'); // All ACLs, we filter on our own here.
}
}
}
- /* Check all Posts if there is something usefull for us,
- * For example : Delete is posted as Delete_1
- * The number specifies the index we want to delete
- */
- foreach($_POST as $name => $value){
- if((preg_match("/RemovePartition_/",$name)) &&
- $this->acl_is_removeable() &&
- !preg_match("/freeze/i",$this->FAIstate)){
- $tmp = explode("_",$name);
- $this->removePartition($tmp[1]);
- break;
- }
- if(preg_match("/^EditPartition_/",$name)){
- $id = preg_replace("/^EditPartition_/","",$name);
- $id = preg_replace("/_.*$/","",$id);
+ // Get list actions
+ $this->diskList->save_object();
+ $action = $this->diskList->getAction();
+ if($action['action'] == 'edit'){
+ $id = $this->diskList->getKey($action['targets'][0]);
if(isset($this->partitions[$id])){
- $this->dialog = new faiPartition($this->config,$this->partitions[$id], $this,$this->FAIdiskType);
- break;
+ $this->dialog = new faiPartition($this->config,$this->partitions[$id], $this,$this->FAIdiskType);
}
- }
}
-
- /* Act on _GET edit request
- */
- if(isset($_GET['act']) && $_GET['act'] == "editPart" && isset($_GET['id'])){
- $id = $_GET['id'];
- if(isset($this->partitions[$id])){
- $this->dialog = new faiPartition($this->config,$this->partitions[$id], $this,$this->FAIdiskType);
- }
+ if($action['action'] == 'delete'){
+ $id = $this->diskList->getKey($action['targets'][0]);
+ if(isset($this->partitions[$id])){
+ $this->removePartition($id);
+ }
}
/* Create a new partition for this disk.
*/
function getPartitionList()
{
- $divlist = new divSelectBox("RaidList");
-
/* Create a list of all available disks and partitions.
* This list will then be used to display detailed info.
*/
/* This method generates the partition listing with all necessary info,
* depending on the disk type.
- * The list is of type divSelectBox.
*/
function generateParts()
{
- $divlist = new divSelectBox("DiskEntries");
+ $data = $lData = array();
foreach($this->partitions as $key => $part){
-
- // Create default table cols
- $cn =array(
- "string" => "<a href='?plug=".$_GET['plug']."&act=editPart&id={$key}'>".$part['cn']."</a>",
- "attach" => "style='width:160px;'");
- $desc =array(
- "string" => "<a href='?plug=".$_GET['plug']."&act=editPart&id={$key}'>".
- $part['description']."</a>",
- "attach" => "style='width:200px;'");
- $number =array(
- "string" => $part['FAIpartitionNr'],
- "attach" => "style='width:20px;'");
- $size =array(
- "string" => $part['FAIpartitionSize'],
- "attach" => "style='width:100px;'");
- $type =array(
- "string" => $part['FAIpartitionType'],
- "attach" => "style='width:80px;'");
+
+ $cn = $part['cn'];
+ $desc = $part['description'];
+ $number = $part['FAIpartitionNr'];
+ $size = $part['FAIpartitionSize'];
+ $type = $part['FAIpartitionType'];
// Remove encryption info from the mount point.
$mnt = $part['FAImountPoint'];
if(preg_match("/:encrypt/", $mnt)){
$mnt = preg_replace("/:encrypt/","",$mnt);
}
- $mntp =array("string" => $mnt);
// create human readable strings out of the flags.
$opt = "";
}
// Combine options to a single table col.
- $opt =array(
- "string" => "<i>".preg_replace('/, $/',"",$opt)." </i>");
-
- // Depending on the FAIstatus (freeze?) we will display different options.
- // We can't remove freezed branches -> Hide remove button.
- if(!preg_match("/freeze/", $this->FAIstate)){
- $action =array(
- "string" =>
- image('images/lists/edit.png','EditPartition_'.$key).
- image('images/lists/trash.png','RemovePartition_'.$key),
- "attach" => "style='width:40px; border-right: 0px;'");
- }else{
- $action =array(
- "string" =>
- image('images/lists/edit.png','EditPartition_'.$key),
- "attach" => "style='width:40px; border-right: 0px;'");
- }
+ $opt = "<i>".preg_replace('/, $/',"",$opt)." </i>";
// Build up info table, depending on the disk type.
- if($this->FAIdiskType == "lvm"){
- $fields = array($cn,$desc,$mntp,$opt,$size, $action);
+ $data[$key]=$key;
+ if($this->FAIdiskType == "lvm"){
+ $lData[$key]=array('data' => array($cn,$desc,"",$mnt,$opt,$size));
}elseif($this->FAIdiskType == "raid"){
- $raid_str = $part['FAIpartitionType']." (".$part['FAIpartitionSize'].")";
- $raid = array("string" => $raid_str);
- $fields = array($cn,$desc,$raid,$mntp,$opt,$action);
+ $raid = $part['FAIpartitionType']." (".$part['FAIpartitionSize'].")";
+ $lData[$key]=array('data' => array($cn,$desc,$raid,$mnt,$opt));
}else{
- $fields = array($desc,$type,$mntp,$opt,$size,$action);
+ $lData[$key]=array('data' => array("",$desc,$type,$mnt,$opt,$size));
}
- $divlist->AddEntry($fields);
}
- return($divlist->DrawList());
+ $this->diskList->setListData($data,$lData);
+ $acl = "rwcdm";
+ if(preg_match("/freeze/", $this->FAIstate)) $acl = "r";
+ $this->diskList->setAcl($acl);;
+ $this->diskList->update();
+ return($this->diskList->render());
}