mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
fix missing information in object metadata
Missing 'required' values in takes_params causes Web UI to treat required
fields as optional.
Regression caused by ba0a1c6b33
https://fedorahosted.org/freeipa/ticket/5258
Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
committed by
Martin Basti
parent
14a87632e5
commit
d01f18d441
@@ -923,12 +923,23 @@ class Param(ReadOnly):
|
||||
|
||||
def __json__(self):
|
||||
json_dict = {}
|
||||
for key in self.__kw:
|
||||
json_dict[key] = json_serialize(self.__kw[key])
|
||||
for (a, k, d) in self.kwargs:
|
||||
if k in (callable, DefaultFrom):
|
||||
continue
|
||||
elif isinstance(getattr(self, a), frozenset):
|
||||
json_dict[a] = [k for k in getattr(self, a, [])]
|
||||
else:
|
||||
val = getattr(self, a, '')
|
||||
if val is None:
|
||||
# ignore 'not set' because lack of their presence is
|
||||
# the information itself
|
||||
continue
|
||||
json_dict[a] = json_serialize(val)
|
||||
|
||||
json_dict['class'] = self.__class__.__name__
|
||||
json_dict['name'] = self.name
|
||||
json_dict['type'] = self.type.__name__
|
||||
json_dict['flags'] = json_serialize([f for f in self.flags])
|
||||
|
||||
return json_dict
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user