diff options
author | Rob Crittenden <rcritten@redhat.com> | 2010-10-04 17:45:40 -0400 |
---|---|---|
committer | Simo Sorce <ssorce@redhat.com> | 2010-10-28 15:15:52 -0400 |
commit | c25d62965af9dffc655d659dfcd1f39e8d08e66c (patch) | |
tree | 7b939938c863b67fd65253f45d9d486b58b92627 /ipalib/plugins/netgroup.py | |
parent | 47629a604d7f312ccb32e6b260782cb7c5c70954 (diff) | |
download | freeipa-c25d62965af9dffc655d659dfcd1f39e8d08e66c.tar.gz freeipa-c25d62965af9dffc655d659dfcd1f39e8d08e66c.tar.xz freeipa-c25d62965af9dffc655d659dfcd1f39e8d08e66c.zip |
Populate indirect members when showing a group object.
This is done by creating a new attribute, memberindirect, to hold this
indirect membership.
The new function get_members() can return all members or just indirect or
direct. We are only using it to retrieve indirect members currently.
This also:
* Moves all member display attributes into baseldap.py to reduce duplication
* Adds netgroup nesting
* Use a unique object name in hbacsvc and hbacsvcgroup
ticket 296
Diffstat (limited to 'ipalib/plugins/netgroup.py')
-rw-r--r-- | ipalib/plugins/netgroup.py | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/ipalib/plugins/netgroup.py b/ipalib/plugins/netgroup.py index 9edc45e55..3b714213a 100644 --- a/ipalib/plugins/netgroup.py +++ b/ipalib/plugins/netgroup.py @@ -46,23 +46,6 @@ from ipalib.plugins.baseldap import * from ipalib import _, ngettext -output_params = ( - Str('memberuser_user?', - label='Member User', - ), - Str('memberuser_group?', - label='Member Group', - ), - Str('memberhost_host?', - label=_('Member Host'), - ), - Str('memberhost_hostgroup?', - label='Member Hostgroup', - ), - Str('externalhost?', - label=_('External host'), - ), - ) class netgroup(LDAPObject): """ Netgroup object. @@ -72,13 +55,15 @@ class netgroup(LDAPObject): object_name_plural = 'netgroups' object_class = ['ipaobject', 'ipaassociation', 'ipanisnetgroup'] default_attributes = [ - 'cn', 'description', 'memberof', 'externalhost', - 'nisdomainname', 'memberuser', 'memberhost', + 'cn', 'description', 'memberof', 'externalhost', 'nisdomainname', + 'memberuser', 'memberhost','member', 'memberindirect', ] uuid_attribute = 'ipauniqueid' rdn_attribute = 'ipauniqueid' attribute_members = { + 'member': ['netgroup'], 'memberof': ['netgroup'], + 'memberindirect': ['netgroup'], 'memberuser': ['user', 'group'], 'memberhost': ['host', 'hostgroup'], } @@ -116,7 +101,6 @@ class netgroup_add(LDAPCreate): """ Add a new netgroup. """ - has_output_params = output_params def pre_callback(self, ldap, dn, entry_attrs, attrs_list, *keys, **options): entry_attrs.setdefault('nisdomainname', self.api.env.domain) return dn @@ -128,6 +112,7 @@ class netgroup_del(LDAPDelete): """ Delete a netgroup. """ + msg_summary = _('Deleted netgroup "%(value)s"') api.register(netgroup_del) @@ -136,7 +121,6 @@ class netgroup_mod(LDAPUpdate): """ Modify a netgroup. """ - has_output_params = output_params api.register(netgroup_mod) @@ -145,7 +129,6 @@ class netgroup_find(LDAPSearch): """ Search for a netgroup. """ - has_output_params = output_params api.register(netgroup_find) @@ -154,7 +137,6 @@ class netgroup_show(LDAPRetrieve): """ Display information about a netgroup. """ - has_output_params = output_params api.register(netgroup_show) @@ -163,8 +145,7 @@ class netgroup_add_member(LDAPAddMember): """ Add members to a netgroup. """ - has_output_params = LDAPAddMember.has_output_params + output_params - member_attributes = ['memberuser', 'memberhost'] + member_attributes = ['memberuser', 'memberhost', 'member'] def post_callback(self, ldap, completed, failed, dn, entry_attrs, *keys, **options): completed_external = 0 # Sift through the host failures. We assume that these are all @@ -199,7 +180,6 @@ class netgroup_remove_member(LDAPRemoveMember): """ Remove members from a netgroup. """ - has_output_params = LDAPRemoveMember.has_output_params + output_params member_attributes = ['memberuser', 'memberhost'] def post_callback(self, ldap, completed, failed, dn, entry_attrs, *keys, **options): # Run through the host failures and gracefully remove any defined as |