mirror of
https://github.com/ansible/awx.git
synced 2026-03-13 23:17:32 -02: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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user