From bf053652bc5ae563c626ac39b735e957c7a9e0d3 Mon Sep 17 00:00:00 2001 From: Pavel Zuna Date: Tue, 5 Oct 2010 14:33:27 -0400 Subject: [PATCH] Generate additional positional arguments for baseldap commands from takes_args. --- ipalib/plugins/baseldap.py | 8 ++++++++ ipalib/plugins/pwpolicy.py | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py index f6b98e247..42d9017ff 100644 --- a/ipalib/plugins/baseldap.py +++ b/ipalib/plugins/baseldap.py @@ -240,6 +240,8 @@ class LDAPCreate(CallbackInterface, crud.Create): yield key if self.obj.primary_key: yield self.obj.primary_key.clone(attribute=True) + for arg in super(crud.Create, self).get_args(): + yield arg def execute(self, *keys, **options): ldap = self.obj.backend @@ -343,6 +345,8 @@ class LDAPQuery(CallbackInterface, crud.PKQuery): yield key if self.obj.primary_key: yield self.obj.primary_key.clone(attribute=True, query=True) + for arg in super(crud.PKQuery, self).get_args(): + yield arg class LDAPMultiQuery(LDAPQuery): @@ -356,6 +360,8 @@ class LDAPMultiQuery(LDAPQuery): yield self.obj.primary_key.clone( attribute=True, query=True, multivalue=True ) + for arg in super(crud.PKQuery, self).get_args(): + yield arg class LDAPRetrieve(LDAPQuery): @@ -881,6 +887,8 @@ class LDAPSearch(CallbackInterface, crud.Search): for key in self.obj.get_ancestor_primary_keys(): yield key yield Str('criteria?') + for arg in super(crud.Search, self).get_args(): + yield arg def get_options(self): for option in super(LDAPSearch, self).get_options(): diff --git a/ipalib/plugins/pwpolicy.py b/ipalib/plugins/pwpolicy.py index dbbb47135..cbfbf8019 100644 --- a/ipalib/plugins/pwpolicy.py +++ b/ipalib/plugins/pwpolicy.py @@ -300,7 +300,9 @@ class pwpolicy_del(LDAPDelete): Delete a group password policy. """ def get_args(self): - yield self.obj.primary_key.clone(attribute=True, required=True) + yield self.obj.primary_key.clone( + attribute=True, required=True, multivalue=True + ) def post_callback(self, ldap, dn, *keys, **options): try: