mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-23 07:33:27 -06:00
Retype (when cloning) Flag parameters to Bool for search commands.
Flag parameters are always autofill by definition, causing unexpected search results. This patch retypes them to Bool for search commands, so that users have to/can enter the desired value manually. Ticket #689 Ticket #701
This commit is contained in:
parent
75078c0bd4
commit
1af89d0daa
@ -210,9 +210,15 @@ class Search(Method):
|
||||
for option in self.obj.params_minus(self.args):
|
||||
if 'no_search' in option.flags:
|
||||
continue
|
||||
yield option.clone(
|
||||
attribute=True, query=True, required=False, autofill=False
|
||||
)
|
||||
if isinstance(option, parameters.Flag):
|
||||
yield option.clone_retype(
|
||||
option.name, parameters.Bool,
|
||||
attribute=True, query=True, required=False, autofill=False
|
||||
)
|
||||
else:
|
||||
yield option.clone(
|
||||
attribute=True, query=True, required=False, autofill=False
|
||||
)
|
||||
if not self.extra_options_first:
|
||||
for option in super(Search, self).get_options():
|
||||
yield option
|
||||
|
@ -585,9 +585,15 @@ class Param(ReadOnly):
|
||||
"""
|
||||
Return a new `Param` instance similar to this one, but named differently
|
||||
"""
|
||||
return self.clone_retype(name, self.__class__, **overrides)
|
||||
|
||||
def clone_retype(self, name, klass, **overrides):
|
||||
"""
|
||||
Return a new `Param` instance similar to this one, but of a different type
|
||||
"""
|
||||
kw = dict(self.__clonekw)
|
||||
kw.update(overrides)
|
||||
return self.__class__(name, *self.rules, **kw)
|
||||
return klass(name, *self.rules, **kw)
|
||||
|
||||
def normalize(self, value):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user