diff --git a/gosa-plugins/goto/admin/systems/goto/class_selectUserToPrinterDialog.inc b/gosa-plugins/goto/admin/systems/goto/class_selectUserToPrinterDialog.inc
index 333fab3a7150b4f25b300e4a1eb3bbcfd7e9393d..246f21516c061099a248dd52bfb80962240af2a6 100644 (file)
var $baseAddition = "";
var $type = "";
var $search_cat = "";
+
+ var $dns_used = array();
- function selectUserToPrinterDialog (&$config, $dn= NULL,$type=false )
+ function selectUserToPrinterDialog (&$config, $dn= NULL,$type=false,$already_assigned )
{
plugin::plugin ($config, $dn);
$this->depselect = $this->config->current['BASE'];
}
$this->type = $type;
+ /* Collect already assigned object dns */
+ $this->dns_used = array();
+ if(isset($already_assigned[$type])){
+ foreach($already_assigned[$type] as $entry){
+ $this->dns_used[] = $entry['dn'];
+ }
+ }
}
function execute()
$res= get_list($filter,$cat,$base,$attrs);
}
foreach($res as $printer){
+
+ /* Skip already used entries */
+ if(in_array($printer['dn'],$this->dns_used)) {
+ continue;
+ }
+
if(($detailed ==true)){
if(isset($printer[$this->searchAppend])){
$a_return[$printer[$this->searchAppend][0]] = $printer;