summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2009-01-14 14:04:05 -0700
committerJason Gerard DeRose <jderose@redhat.com>2009-01-14 14:04:05 -0700
commitcd3508bacee20c01640964470b0c623691b3c216 (patch)
tree30fa5e6a779cdbb5937a1dbfb5647aa0e45cc927 /ipalib
parent79422d048959a7f6a5fff981caf91de924788e85 (diff)
downloadfreeipa-cd3508bacee20c01640964470b0c623691b3c216.tar.gz
freeipa-cd3508bacee20c01640964470b0c623691b3c216.tar.xz
freeipa-cd3508bacee20c01640964470b0c623691b3c216.zip
New Param: added Param.query kwarg for crud operations like Retrieve and Search where criteria should not be validated
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/crud.py5
-rw-r--r--ipalib/parameters.py3
2 files changed, 6 insertions, 2 deletions
diff --git a/ipalib/crud.py b/ipalib/crud.py
index d34a7c57c..345fc2700 100644
--- a/ipalib/crud.py
+++ b/ipalib/crud.py
@@ -50,13 +50,14 @@ class Del(frontend.Method):
for option in self.takes_options:
yield option
+
class Mod(frontend.Method):
def get_args(self):
yield self.obj.primary_key
def get_options(self):
for param in self.obj.params_minus_pk():
- yield param.clone(required=False)
+ yield param.clone(required=False, query=True)
for option in self.takes_options:
yield option
@@ -67,7 +68,7 @@ class Find(frontend.Method):
def get_options(self):
for param in self.obj.params_minus_pk():
- yield param.clone(required=False)
+ yield param.clone(required=False, query=True)
for option in self.takes_options:
yield option
diff --git a/ipalib/parameters.py b/ipalib/parameters.py
index 4d46297c0..ff088ff80 100644
--- a/ipalib/parameters.py
+++ b/ipalib/parameters.py
@@ -229,6 +229,7 @@ class Param(ReadOnly):
('default_from', DefaultFrom, None),
('create_default', callable, None),
('autofill', bool, False),
+ ('query', bool, False),
('flags', frozenset, frozenset()),
# The 'default' kwarg gets appended in Param.__init__():
@@ -489,6 +490,8 @@ class Param(ReadOnly):
:param value: A proposed value for this parameter.
"""
+ if self.query:
+ return
if value is None:
if self.required:
raise RequirementError(name=self.name)