X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Fclass_CopyPasteHandler.inc;h=4d6fb1ddb04928d4e27061661fa2e7dfc6607ba6;hb=c24abf1e4216c3cea0eff19346e6c7da1a346e47;hp=d9e8948c23a60a748c8e5a76f05cadb9c514c8f4;hpb=43c01a615c00ba79b96504934366bc173a074964;p=gosa.git diff --git a/gosa-core/include/class_CopyPasteHandler.inc b/gosa-core/include/class_CopyPasteHandler.inc index d9e8948c2..4d6fb1ddb 100644 --- a/gosa-core/include/class_CopyPasteHandler.inc +++ b/gosa-core/include/class_CopyPasteHandler.inc @@ -61,7 +61,7 @@ class CopyPasteHandler { * array['tab_class'] - Tab object that should be used to initialize the new object * array['tab_object'] - Tab object name used to initialize correct object Type like USERTABS */ - function add_to_queue($dn,$action,$tab_class,$tab_object,$tab_acl_category) + function add_to_queue($dn,$action,$tab_class,$tab_object,$tab_acl_category,&$parent = NULL) { if(!class_available($tab_class)){ trigger_error(sprintf("Specified class object '%s' does not exists.",$tab_class)); @@ -86,6 +86,7 @@ class CopyPasteHandler { $tmp['tab_class'] = $tab_class; $tmp['tab_object']= $tab_object; $tmp['tab_acl_category']= $tab_acl_category; + $tmp['parent'] = $parent; $this->queue[] = $tmp; $this->require_update = TRUE; } @@ -223,6 +224,7 @@ class CopyPasteHandler { $tab_c = $entry['tab_class']; $tab_o = $entry['tab_object']; $tab_a = $entry['tab_acl_category']; + $parent = $entry['parent']; if($entry['method'] == "copy"){ $entry['object'] = new $tab_c($this->config,$this->config->data['TABS'][$tab_o],"new",$tab_a); @@ -230,6 +232,9 @@ class CopyPasteHandler { $entry['object'] = new $tab_c($this->config,$this->config->data['TABS'][$tab_o],$entry['dn'],$tab_a); } + if($parent ){ + $entry['object']->parent = $parent; + } $entry['source_data'] = $this->load_attributes_from_hdd($entry['file_name']); if($entry['method'] == "copy"){ @@ -353,8 +358,11 @@ class CopyPasteHandler { /* Save edited entry and force loading new one */ - if(isset($_POST['PerformCopyPaste']) && $this->current){ + if(isset($this->current['object']) && method_exists($this->current['object'],"saveCopyDialog")) { $this->current['object']->saveCopyDialog(); + } + + if(isset($_POST['PerformCopyPaste']) && $this->current){ $msgs = $this->check(); /* Load next queue entry */