Project

General

Profile

« Previous | Next » 

Revision 776a7c72

Added by Marc Dequènes about 15 years ago

  • ID 776a7c7289fedf6248719f64992ff88a07960ab6

[evol] try harder to find intermediate objects in tree

View differences:

lib/ldap_shadows/shadow.rb
current_dn_parts.unshift p_dn
current_dn = ActiveLdap::DistinguishedName.parse(current_dn_parts.join(","))
current_item = item_list[current_dn]
if current_item
p_item = Elements::LdapObject.raw_item_info(self, item_list[current_dn])[:name]
else
# fallback
p_item = p_dn
if current_item.nil?
current_item = ActiveLdap::Base.find(:first, :base => current_dn.to_s, :scope => :base, :attributes => [''])
item_list[current_dn] = current_item
end
p_item = Elements::LdapObject.raw_item_info(self, item_list[current_dn])[:name]
end
unless p_raw_tree.has_key?(p_dn)
......
if raw
res = {base_dn.to_s => raw_tree}
else
base_obj = ActiveLdap::Base.find(:first, :base => base_dn.to_s, :scope => :base, :attributes => [])
base_obj = ActiveLdap::Base.find(:first, :base => base_dn.to_s, :scope => :base, :attributes => [''])
res = {Elements::LdapObject.raw_item_info(self, base_obj)[:name] => tree}
end

Also available in: Unified diff