summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2011-01-10 14:21:45 -0500
committerRob Crittenden <rcritten@redhat.com>2011-01-11 10:23:31 -0500
commitc7789199f9541844bf8c36a85311ba957a1c1dcb (patch)
tree2c1886530bb4465e961796f25da39bcb6bab2ee5 /ipalib
parent06179dc105239496a7b0e55fc4a19ce576033565 (diff)
downloadfreeipa-c7789199f9541844bf8c36a85311ba957a1c1dcb.tar.gz
freeipa-c7789199f9541844bf8c36a85311ba957a1c1dcb.tar.xz
freeipa-c7789199f9541844bf8c36a85311ba957a1c1dcb.zip
Fix output of failed managedby hosts, allow a host to manage itself.
The output problem was a missing label for failed managedby. This also fixes a call to print_entry that was missing the flags argument. Add a flag to specify whether a group can be a member of itself, defaulting to False. ticket 708
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/cli.py4
-rw-r--r--ipalib/plugins/baseldap.py3
-rw-r--r--ipalib/plugins/host.py5
3 files changed, 9 insertions, 3 deletions
diff --git a/ipalib/cli.py b/ipalib/cli.py
index 892db8081..c5fea8f28 100644
--- a/ipalib/cli.py
+++ b/ipalib/cli.py
@@ -360,7 +360,7 @@ class textui(backend.Backend):
continue
self.print_indented(format % (label, ''), indent)
self.print_entry(
- value, order, labels, print_all, format,
+ value, order, labels, flags, print_all, format,
indent=indent+1
)
else:
@@ -764,7 +764,7 @@ class help(frontend.Local):
mcl = self._topics[t][2][topic][1]
commands = self._topics[t][2][topic][2]
break
-
+
m = '%s.%s' % (self._PLUGIN_BASE_MODULE, topic)
doc = (sys.modules[m].__doc__ or '').strip()
diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py
index fbe4fcece..e7ccb7724 100644
--- a/ipalib/plugins/baseldap.py
+++ b/ipalib/plugins/baseldap.py
@@ -1002,6 +1002,7 @@ class LDAPAddMember(LDAPModMember):
"""
member_param_doc = 'comma-separated list of %s to add'
member_count_out = ('%i member added.', '%i members added.')
+ allow_same = False
has_output = (
output.Entry('result'),
@@ -1039,7 +1040,7 @@ class LDAPAddMember(LDAPModMember):
if not m_dn:
continue
try:
- ldap.add_entry_to_group(m_dn, dn, attr)
+ ldap.add_entry_to_group(m_dn, dn, attr, allow_same=self.allow_same)
except errors.PublicError, e:
ldap_obj = self.api.Object[ldap_obj_name]
failed[attr][ldap_obj_name].append((
diff --git a/ipalib/plugins/host.py b/ipalib/plugins/host.py
index 2abe70a12..f5dad59a9 100644
--- a/ipalib/plugins/host.py
+++ b/ipalib/plugins/host.py
@@ -133,6 +133,10 @@ host_output_params = (
),
Str('revocation_reason?',
label=_('Revocation reason'),
+ ),
+ Str('managedby?',
+ label=_('Failed managedby'),
+ flags=['no_create', 'no_update'],
)
)
@@ -726,6 +730,7 @@ class host_add_managedby(LDAPAddMember):
"""
member_attributes = ['managedby']
has_output_params = LDAPAddMember.has_output_params + host_output_params
+ allow_same = True
api.register(host_add_managedby)