index 6a516158f0216339484ed506a0ca8b9bdd89ef5f..d540e03c27b30e0fb2ecc4f49ba777c589bf8470 100644 (file)
/* Headpage attributes */
var $departments= array();
var $deptabs= NULL;
+ var $lock_type = ""; // should be branch/freeze
+ var $lock_name = "";
+ var $lock_dn = "";
/* attribute list for save action */
- var $attributes = array(); // Attributes Managed by this plugin, none,
+ var $attributes = array("lock_type","lock_name","lock_dn"); // Attributes Managed by this plugin, none,
// because this is only an overview over all objects already defined in FAI.
var $objectclasses = array(); // ObjectClasses which the attributes are related to
var $dialog = array(); // This object contains every dialog we have currently opened
$this->dialog= NULL;
/* Terminal list has changed, reload it. */
- $this->reload ();
} else {
/* Normally this shouldn't be reached, send some extra
$baseToUse = $_SESSION['faifilter']['branch'];
}
+ $ldap->cd($this->config->current['BASE']);
+ $ldap->create_missing_trees($baseToUse);
$ldap->cd ("ou=".$name.",".$baseToUse);
$ldap->recursive_remove();
$ldap->cd ($this->config->current['BASE']);
$ldap->copy_FAI_resource_recursive($baseToUse,"ou=".$name.",".$baseToUse,"branch",true);
-
+
+ /* Postcreate */
+
+ /* Assign possible attributes */
+ $this->lock_type = "branch";
+ $this->lock_name = $name;
+ $this->lock_dn = "ou=".$name.",".$baseToUse;
+ $this->postcreate();
$this->dispNewBranch = false;
}
}
$br = $this->getBranches();
if(isset($br[$bb])){
+
+ $name = $br[$bb];
+
$ldap->cd($bb);
$ldap->recursive_remove();
$faifilter['branch'] = "main";
+
+ /* Post remove */
+
+// $this->lock_type is set from this->reload
+ $this->lock_name = $name;
+ $this->lock_dn = $bb;
+
+ $this->postremove();
}
}
$ldap->copy_FAI_resource_recursive($baseToUse,"ou=".$name.",".$baseToUse,"freeze",true);
$this->dispNewFreeze = false;
+
+ /* Postcreate */
+
+ /* Assign possible attributes */
+ $this->lock_type = "branch";
+ $this->lock_name = $name;
+ $this->lock_dn = "ou=".$name.",".$baseToUse;
+ $this->postcreate();
}
}
if((isset($_POST['base']))&&($s_action=="")){
$faifilter['base']=$_POST['base'];
}
-
- $br = $this->getBranches();
+ $base= "ou=fai,ou=configs,ou=systems,".$faifilter['base'];
+
+ $br = $this->getBranches($base);
if(!isset($br[$faifilter['branch']])){
$faifilter['branch'] = "main";
}
" <img class='center' src='images/list_seperator.png' align='middle' alt='' height='16' width='1'> ".
- _("Current base")." <select name='base' onChange='mainform.submit()' class='center'>$options</select>".
+ _("Base")." <select name='base' onChange='mainform.submit()' class='center'>$options</select>".
" <input class='center' type='image' src='images/list_submit.png' align='middle' title='"._("Submit department")."' name='submit_department' alt='"._("Submit")."'> ".
"</div>";
$smarty->assign("failist" , $divlist->DrawList());
$smarty->assign("regex" , $faifilter['regex']);
$smarty->assign("infoimage" , get_template_path('images/info.png'));
- $smarty->assign("branchimage" , get_template_path('images/action.png'));
+ $smarty->assign("branchimage" , get_template_path('images/branch.png'));
$smarty->assign("launchimage" , get_template_path('images/launch.png'));
$smarty->assign("alphabet" , generate_alphabet());
$smarty->assign("apply" , apply_filter());
function getBranches($base = false,$prefix = "")
{
- $ret = array("main"=>_("main"));
+ $ret = array("main"=>"/");
$ldap = $this->config->get_ldap_link();
$ldap->cd($this->config->current['BASE']);
if((isset($attrs['ou']))&&($attrs['dn']!=$base)){
$ret[$attrs['dn']]= $prefix.$attrs['ou'][0];
- $ret = array_merge($ret,$this->getBranches($attrs['dn'],$prefix.$attrs['ou'][0]."/"));
+ $ret = array_merge($ret,$this->getBranches($attrs['dn'],"".$prefix.$attrs['ou'][0]."/"));
}
}
return($ret);
$res= get_list($this->ui->subtreeACL, "(objectClass=organizationalUnit)",
FALSE, $base, array("cn","description","objectClass"),TRUE);
+ $str = "";
+
foreach($res as $objecttypes){
$res2 = get_list($this->ui->subtreeACL, "(&(objectClass=*)(cn=".$regex."))",
FALSE, $objecttypes['dn'], array("cn","description","objectClass","FAIclass","FAIstate"),TRUE);
if(isset($object['FAIstate'])){
$obj['FAIstate'] = $object['FAIstate'][0];
+
+ /* Append type to this string, to be able to check if the selected
+ * entry is of type 'freeze' or 'branch'
+ */
+ $str.="|".$obj['FAIstate'];
}else{
$obj['FAIstate'] ="";
}
}
}
+
+ /* Tell class what we have currently opened
+ 'main' has type ''
+ */
+ if(preg_match("/freeze/",$str)){
+ $this->lock_type = "freeze";
+ }elseif(preg_match("/branch/",$str)){
+ $this->lock_type = "branch";
+ }else{
+ $this->lock_type = "";
+ }
+
ksort($this->objects);
reset ($this->objects);