summaryrefslogtreecommitdiffstats
path: root/ipalib/plugins/netgroup.py
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2010-10-04 17:45:40 -0400
committerSimo Sorce <ssorce@redhat.com>2010-10-28 15:15:52 -0400
commitc25d62965af9dffc655d659dfcd1f39e8d08e66c (patch)
tree7b939938c863b67fd65253f45d9d486b58b92627 /ipalib/plugins/netgroup.py
parent47629a604d7f312ccb32e6b260782cb7c5c70954 (diff)
downloadfreeipa-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.py32
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