diff --git a/plugins/admin/fai/class_faiPartitionTable.inc b/plugins/admin/fai/class_faiPartitionTable.inc
index 5ace0cba5429e5f82528e969096116d8f6fbeec7..550e719991cc036a9955d983edb24279c90b7179 100644 (file)
$usedDiskNames[]= $key;
}
$this->dialog = new faiPartitionTableEntry($this->config,$this->dn,$usedDiskNames);
- $this->dialog->set_acl_base($this->acl_base_for_current_object($obj['dn']));
+ $this->dialog->set_acl_base($this->acl_base_for_current_object($this->dn));
$this->dialog->set_acl_category("fai");
$this->dialog->FAIstate = $this->FAIstate;
$this->is_dialog = true;
$usedDiskNames[]= $key;
}
}
- $this->dialog = new faiPartitionTableEntry($this->config,$this->dn,$usedDiskNames,$this->disks[$Udisk]);
- $this->dialog->set_acl_base($this->acl_base_for_current_object($obj['dn']));
- $this->dialog->set_acl_category("fai");
- $this->dialog->FAIstate = $this->FAIstate;
-
+
/* Set object info string, which will be displayed in plugin info line */
if(isset($this->disks[$Udisk]['dn'])){
$_SESSION['objectinfo'] = $this->disks[$Udisk]['dn'];
+ $dn = $this->disks[$Udisk]['dn'];
}else{
$_SESSION['objectinfo'] = "";
+ $dn = "new";
}
-
+
+ $this->dialog = new faiPartitionTableEntry($this->config,$this->dn,$usedDiskNames,$this->disks[$Udisk]);
+ $this->dialog->set_acl_base($this->acl_base_for_current_object($dn));
+ $this->dialog->set_acl_category("fai");
+ $this->dialog->FAIstate = $this->FAIstate;
+
$this->is_dialog = true;
}
$dn = $this->acl_base_for_current_object($this->dn);
$smarty->assign("sub_object_is_addable",
- preg_match("/c/",$this->ui->get_permissions($dn,"fai/faiScriptEntry")) &&
+ preg_match("/c/",$this->ui->get_permissions($dn,"fai/faiPartitionTableEntry")) &&
!preg_match("/freeze/",$this->FAIstate));
$tmp = $this->plInfo();
foreach($tmp['plProvidedAcls'] as $name => $translated){
$smarty->assign($name."ACL",$this->getacl($name));
}
-
$disks = $this->getDisks();
$smarty->assign("disks" ,$disks);
$display.= $smarty->fetch(get_template_path('faiPartitionTable.tpl', TRUE));
*/
$a_return = array();
foreach($this->disks as $key => $disk){
- if($disk['status'] != "delete"){
- $cnt=0;
- foreach($disk['partitions'] as $val){
- if($val['status']!="delete"){
- $cnt ++;
- }
- }
- if(!empty($disk['description'])){
- if($cnt == 1){
- $a_return[$key]= $disk['cn']." [".$disk['description']."], ".sprintf(_("%s partition"), $cnt);
- }else{
- $a_return[$key]= $disk['cn']." [".$disk['description']."], ".sprintf(_("%s partition(s)"), $cnt);
+
+ $dn = "new";
+ if(isset($obj['dn'])){
+ $dn = $obj['dn'];
+ }
+ $dn = $this->acl_base_for_current_object($dn);
+ $acl = $this->ui->get_permissions($dn,"fai/faiPartitionTableEntry");
+ if(preg_match("/(r|w)/",$acl)) {
+
+ if($disk['status'] != "delete"){
+ $cnt=0;
+ foreach($disk['partitions'] as $val){
+ if($val['status']!="delete"){
+ $cnt ++;
+ }
}
- }else{
- if($cnt == 1){
- $a_return[$key]= $disk['cn'].", ".sprintf(_("%s partition"), $cnt);
+ if(!empty($disk['description'])){
+ if($cnt == 1){
+ $a_return[$key]= $disk['cn']." [".$disk['description']."], ".sprintf(_("%s partition"), $cnt);
+ }else{
+ $a_return[$key]= $disk['cn']." [".$disk['description']."], ".sprintf(_("%s partition(s)"), $cnt);
+ }
}else{
- $a_return[$key]= $disk['cn'].", ".sprintf(_("%s partition(s)"), $cnt);
+ if($cnt == 1){
+ $a_return[$key]= $disk['cn'].", ".sprintf(_("%s partition"), $cnt);
+ }else{
+ $a_return[$key]= $disk['cn'].", ".sprintf(_("%s partition(s)"), $cnt);
+ }
}
}
}