client: fix hiding of commands which lack server support

Rather than checking the server counterpart's NO_CLI, which may be False
even for commands supported on the server, check wheter the server
counterpart is a command defined on the server or a local placeholder.

https://fedorahosted.org/freeipa/ticket/6089

Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
This commit is contained in:
Jan Cholasta committed 2016-07-28 10:24:45 +02:00
1 parent ea62f2745d
commit f563d982f2
3 files changed
+12 -6

No files matched your search

+2 -1
View File
@@ -54,7 +54,8 @@ class _fake_automountlocation_show(Method):
class automountlocation_tofiles(MethodOverride):
@property
def NO_CLI(self):
return self.api.Command.automountlocation_show.NO_CLI
return isinstance(self.api.Command.automountlocation_show,
_fake_automountlocation_show)
def output_for_cli(self, textui, result, *keys, **options):
maps = result['result']['maps']
+2 -1
View File
@@ -76,7 +76,8 @@ class otptoken_add_yubikey(Command):
@property
def NO_CLI(self):
return self.api.Command.otptoken_add.NO_CLI
return isinstance(self.api.Command.otptoken_add,
_fake_otptoken_add)
def get_args(self):
for arg in self.api.Command.otptoken_add.args():
+8 -4
View File
@@ -204,7 +204,8 @@ class vault_add(Local):
@property
def NO_CLI(self):
return self.api.Command.vault_add_internal.NO_CLI
return isinstance(self.api.Command.vault_add_internal,
_fake_vault_add_internal)
def get_args(self):
for arg in self.api.Command.vault_add_internal.args():
@@ -401,7 +402,8 @@ class vault_mod(Local):
@property
def NO_CLI(self):
return self.api.Command.vault_mod_internal.NO_CLI
return isinstance(self.api.Command.vault_mod_internal,
_fake_vault_mod_internal)
def get_args(self):
for arg in self.api.Command.vault_mod_internal.args():
@@ -579,7 +581,8 @@ class vault_archive(Local):
@property
def NO_CLI(self):
return self.api.Command.vault_archive_internal.NO_CLI
return isinstance(self.api.Command.vault_archive_internal,
_fake_vault_archive_internal)
def get_args(self):
for arg in self.api.Command.vault_archive_internal.args():
@@ -827,7 +830,8 @@ class vault_retrieve(Local):
@property
def NO_CLI(self):
return self.api.Command.vault_retrieve_internal.NO_CLI
return isinstance(self.api.Command.vault_retrieve_internal,
_fake_vault_retrieve_internal)
def get_args(self):
for arg in self.api.Command.vault_retrieve_internal.args():