diff options
author | Pavel Zuna <pzuna@redhat.com> | 2010-03-16 15:06:07 +0100 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2010-03-22 10:41:36 -0400 |
commit | 43ab2c483d91dbac72b44b489fc5cf68a9f57d98 (patch) | |
tree | 7104990a2a17a14ddf91c53eb3876bde69588f83 | |
parent | c19911845d93e4cbbf296caf18568231549a3e60 (diff) | |
download | freeipa.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.py | 4 | ||||
-rw-r--r-- | ipalib/frontend.py | 3 |
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'): """ |