X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=gosa-plugins%2Fsystems%2Fadmin%2Fsystems%2Fclass_systemManagement.inc;h=6283f5c1b9976e9a7617cf58609e542304fa1ad1;hb=032e09dd7aba6b584b55daa165cc647215b6c582;hp=f56c0b574001d2e5259f207f0990d78599f92e5b;hpb=9c3af646906c3c4c5fb86d0b7c8d8163636c89f3;p=gosa.git diff --git a/gosa-plugins/systems/admin/systems/class_systemManagement.inc b/gosa-plugins/systems/admin/systems/class_systemManagement.inc index f56c0b574..6283f5c1b 100644 --- a/gosa-plugins/systems/admin/systems/class_systemManagement.inc +++ b/gosa-plugins/systems/admin/systems/class_systemManagement.inc @@ -519,6 +519,27 @@ class systems extends plugin } $events = DaemonEvent::get_event_types(SYSTEM_EVENT); $type = preg_replace("/^[a-z]*_event_/","",$s_action); + $o_queue = new gosaSupportDaemon(); + + /* Skip installation or update trigerred events, + * if this entry is currently processing. + */ + if(preg_match("/trigger_event/",$s_action) && in_array($type,array("DaemonEvent_reinstall","DaemonEvent_update"))){ + foreach($mac as $key => $mac_address){ + foreach($o_queue->get_entries_by_mac(array($mac_address)) as $entry){ + + $entry['STATUS'] = strtoupper($entry['STATUS']); + if($entry['STATUS'] == "PROCESSING" && + isset($events['QUEUED'][$entry['HEADERTAG']]) && + in_array($events['QUEUED'][$entry['HEADERTAG']],array("DaemonEvent_reinstall","DaemonEvent_update"))){ + unset($mac[$key]); + + new log("security","systems/".get_class($this),"",array(),"Skip adding 'DaemonEvent::".$type."' for mac '".$mac_address."', there is already a job in progress."); + break; + } + } + } + } /* Prepare event to be added */