summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Zuna <pzuna@redhat.com>2010-03-16 15:06:07 +0100
committerRob Crittenden <rcritten@redhat.com>2010-03-22 10:41:36 -0400
commit43ab2c483d91dbac72b44b489fc5cf68a9f57d98 (patch)
tree7104990a2a17a14ddf91c53eb3876bde69588f83
parentc19911845d93e4cbbf296caf18568231549a3e60 (diff)
downloadfreeipa.git-43ab2c483d91dbac72b44b489fc5cf68a9f57d98.tar.gz
freeipa.git-43ab2c483d91dbac72b44b489fc5cf68a9f57d98.tar.xz
freeipa.git-43ab2c483d91dbac72b44b489fc5cf68a9f57d98.zip
Add INTERNAL flag to frontend plugins. If set, the plugin won't show in UI.
-rw-r--r--ipalib/cli.py4
-rw-r--r--ipalib/frontend.py3
2 files changed, 6 insertions, 1 deletions
diff --git a/ipalib/cli.py b/ipalib/cli.py
index 904d34d4..db4a08e8 100644
--- a/ipalib/cli.py
+++ b/ipalib/cli.py
@@ -612,6 +612,8 @@ class help(frontend.Command):
# build help topics
for c in self.Command():
+ if c.INTERNAL:
+ continue
topic = self._get_command_module(c.module)
if topic:
self._topics.setdefault(topic, [0]).append(c)
@@ -779,7 +781,7 @@ class cli(backend.Executioner):
self.create_context()
(key, argv) = (argv[0], argv[1:])
name = from_cli(key)
- if name not in self.Command:
+ if name not in self.Command or self.Command[name].INTERNAL:
raise CommandError(name=key)
cmd = self.Command[name]
kw = self.parse(cmd, argv)
diff --git a/ipalib/frontend.py b/ipalib/frontend.py
index 3727833a..48215c5d 100644
--- a/ipalib/frontend.py
+++ b/ipalib/frontend.py
@@ -201,6 +201,9 @@ class HasParam(Plugin):
of ``api.env.context``, subclasses can override this with implementations
that consider arbitrary ``api.env`` values.
"""
+ # HasParam is the base class for most frontend plugins, that make it to users
+ # This flag should be used by UI components to make the plugin unaccessible
+ INTERNAL = False
def _get_param_iterable(self, name, verb='takes'):
"""