Project

General

Profile

« Previous | Next » 

Revision c6632e15

Added by Marc Dequènes almost 15 years ago

  • ID c6632e155c14333c0cdb699f96cd8dc8c2c90f95

[evol] add operational attributes in expert mode

View differences:

bin/shadowwalker
item_hdl = args[1]
begin
item = obj_klass.find(item_hdl)
item = obj_klass.find(item_hdl, :attributes => ["*", "+"])
rescue ActiveLdap::EntryNotFound
STDERR.puts "No such item '#{obj_hdl}/#{item_hdl}'"
exit 2
data/ldap_shadows/en.yml
attribute_types:
allowGlobalDirectory: "Disclose Own Contact Information in GLobal Directory"
cn: "Full Name"
createTimestamp: "Item creation time"
creatorsName: "Item Creator"
birthday: "Birthday"
birthlocation: "Birth Location"
description: "Description"
entryUUID: "Item UUID"
foundingDate: "Founding Date"
gecos: "GECOS"
gidNumber: "Primary Group (numeric)"
......
mailQuota: "Maximum Mailbox Size"
manager: "Manager(s)"
mobile: "Mobile Phone"
modifiersName: "Item Last Modifier"
modifyTimestamp: "Item Last Modification Time"
occupation: "Job / Studies"
o: "Organization(s)"
structuralObjectClass: "Item Structural Classes"
owner: "Owner(s)"
preferredLanguage: "Language Preference"
sn: "Surname"
lib/ldap_shadows/object.rb
ldap_mapping :prefix => '', :classes => ['top'], :scope => :sub
OPERATIONAL_ATTRIBUTES = ['creatorsName', 'createTimestamp', 'modifiersName', 'modifyTimestamp', 'structuralObjectClass', 'entryUUID']
# temporary method until active_ldap is fixed: return a DN object (see #23932)
def dn_obj
ActiveLdap::DistinguishedName.parse(self.dn)
......
end
taken_attr_list += objectclasses_attr_list(self.required_classes + (self.class.presentation[:optional_classes] || []))
end
taken_attr_list += OPERATIONAL_ATTRIBUTES if options[:expert]
taken_attr_list = taken_attr_list.uniq & attr_list
obj_info = fetch_attributes_data(taken_attr_list, options)
attr_list -= taken_attr_list

Also available in: Unified diff