mirror of
https://github.com/ansible/awx.git
synced 2026-01-24 16:01:20 -03:30
cache dynamic input fields
Query dynamic input fields once on attribute access and then cache it for future use.
This commit is contained in:
parent
b911f8bf77
commit
e9532dea8e
@ -284,10 +284,6 @@ class Credential(PasswordFieldsModel, CommonModelNameNotUnique, ResourceMixin):
|
||||
'admin_role',
|
||||
])
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(Credential, self).__init__(*args, **kwargs)
|
||||
self.dynamic_input_fields = self._get_dynamic_input_field_names()
|
||||
|
||||
def __getattr__(self, item):
|
||||
if item != 'inputs':
|
||||
if item in V1Credential.FIELDS:
|
||||
@ -377,6 +373,14 @@ class Credential(PasswordFieldsModel, CommonModelNameNotUnique, ResourceMixin):
|
||||
needed.append('vault_password')
|
||||
return needed
|
||||
|
||||
@property
|
||||
def dynamic_input_fields(self):
|
||||
dynamic_input_fields = getattr(self, '_dynamic_input_fields', None)
|
||||
if dynamic_input_fields is None:
|
||||
self._dynamic_input_fields = self._get_dynamic_input_field_names()
|
||||
return self._dynamic_input_fields
|
||||
return dynamic_input_fields
|
||||
|
||||
def _password_field_allows_ask(self, field):
|
||||
return field in self.credential_type.askable_fields
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user