diff --git a/gosa-plugins/systems/admin/systems/class_serverService.inc b/gosa-plugins/systems/admin/systems/class_serverService.inc
index 1f1f8229c3c86e7168df8bc890139693930c9523..4bd58ed1894d29ca7ff73227e0b95b6f0595615e 100644 (file)
/* Edit a service and make a backup from all attributes,
to be able to restore old values after aborting dialog */
if($s_action == "EditSingleService"){
- $this->backup = get_object_vars($this->plugins[$s_entry]);
- $this->dialog = $this->plugins[$s_entry];
- $this->current = $s_entry;
+ if($this->plugins[$s_entry]->acl_is_readable("")){
+ $this->backup = get_object_vars($this->plugins[$s_entry]);
+ $this->dialog = $this->plugins[$s_entry];
+ $this->current = $s_entry;
+ }
}
/* There is currently a subdialog open, display this dialog */
if(is_object($this->dialog)){
$add ="";
- if(isset($this->dialog->krb_host_key) && $this->dialog->krb_host_key instanceof krb_host_keys){
+ if(isset($this->dialog->krb_host_key) && $this->dialog->krb_host_key instanceof krbHostKeys){
$add = $this->dialog->krb_host_key->save_object_by_prefix($this->dialog->krb_service_prefix);
$add = $this->dialog->krb_host_key->execute_by_prefix($this->dialog->krb_service_prefix,TRUE);
}
$tmp = $this->plugins[$name]->getListEntry();
/* Check if given action is allowed for this service */
- if($tmp[$map[$action]]){
+ if($tmp[$map[$action]] && !empty($this->plugins[$name]->StatusFlag)){
if($this->plugins[$name]->initially_was_account && $this->plugins[$name]->is_account){
$this->plugins[$name]->setStatus($action);
}
}
}
if($this->plugins[$name]->initially_was_account){
- if(isset($this->plugins[$name]->krb_host_key) && $this->plugins[$name]->krb_host_key instanceof krb_host_keys){
- $this->plugins[$name]->krb_host_key->remove_from_parent_by_prefix($this->plugins[$name]->krb_host_key);
+ if(isset($this->plugins[$name]->krb_host_key) && $this->plugins[$name]->krb_host_key instanceof krbHostKeys){
+ $this->plugins[$name]->krb_host_key->remove_from_parent_by_prefix($this->plugins[$name]->krb_service_prefix);
}
$this->plugins[$name]->remove_from_parent();
}