diff --git a/plugins/admin/systems/class_componentGeneric.inc b/plugins/admin/systems/class_componentGeneric.inc
index 3b1f4168b91fe3f1f2eb623e21d772bc93bab8ce..c11888fe8ec289a6ff0f87c6f46ffaee17d8f8bd 100644 (file)
var $objectclasses= array("top", "device", "ipHost", "ieee802Device");
var $netConfigDNS;
- function componentgeneric ($config, $dn= NULL)
+ function componentgeneric ($config, $dn= NULL, $parent= NULL)
{
- plugin::plugin ($config, $dn);
+ plugin::plugin ($config, $dn, $parent);
/* Set base */
if ($this->dn == "new"){
} else {
$this->base= preg_replace ("/^[^,]+,[^,]+,[^,]+,/", "", $this->dn);
}
- $this->netConfigDNS = new termDNS($this->config,$this->dn,$this->objectclasses);
+ $this->netConfigDNS = new termDNS($this->config,$this->dn,$this->objectclasses, true);
/* Save dn for later references */
$this->orig_dn= $this->dn;
}
foreach($_POST as $name => $value){
if(preg_match("/^chooseBase/",$name) && $once){
$once = false;
- $this->dialog = new baseSelectDialog($this->config);
+ $this->dialog = new baseSelectDialog($this->config,$this);
$this->dialog->setCurrentBase($this->base);
}
}
$smarty->assign("$attr", $this->$attr);
}
$smarty->assign("base_select", $this->base);
+ $smarty->assign("baseACL", chkacl($this->acl,"base"));
/* Show main page */
$smarty->assign("netconfig", $this->netConfigDNS->execute());
$ldap= $this->config->get_ldap_link();
$this->netConfigDNS->remove_from_parent();
$ldap->rmdir($this->dn);
- show_ldap_error($ldap->get_error());
+ show_ldap_error($ldap->get_error(), sprintf(_("Removing of system component/generic with dn '%s' failed."),$this->dn));
$this->handle_post_events("remove");
/* Delete references to object groups */
$message[]= _("The required field 'Component name' is not set.");
}
+ /* To check for valid ip*/
+ if($this->netConfigDNS->ipHostNumber == ""){
+ $message[]= _("The required field IP address is empty.");
+ } else {
+ if (!is_ip($this->netConfigDNS->ipHostNumber)){
+ $message[]= _("The field IP address contains an invalid address.");
+ }
+ }
+
$ui= get_userinfo();
$acl= get_permissions ($this->dn, $ui->subtreeACL);
$acl= get_module_permission($acl, "component", $this->dn);
$this->netConfigDNS->cn = $this->cn;
$this->netConfigDNS->save($this->dn);
- show_ldap_error($ldap->get_error());
+ show_ldap_error($ldap->get_error(), sprintf(_("Saving of system component/generic with dn '%s' failed."),$this->dn));
/* Optionally execute a command after we're done */
$this->postcreate();
}
+ /* Return plugin informations for acl handling */
+ function plInfo()
+ {
+ return (array(
+ "plShortName" => _("Generic"),
+ "plDescription" => _("Component generic"),
+ "plSelfModify" => FALSE,
+ "plDepends" => array(),
+ "plPriority" => 0,
+ "plSection" => array("administration"),
+ "plCategory" => array("component" => array("description" => _("Network device"),
+ "objectClass" => array("device", "ipHost", "ieee802Device"))),
+ "plProvidedAcls"=> array(
+ "cn" => _("Name"),
+ "description" => _("Description"))
+ ));
+ }
+
+
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: