From 9c04e08b4dca4defcdbac0393087a0b215665072 Mon Sep 17 00:00:00 2001 From: Seth Foster Date: Tue, 22 Oct 2019 15:27:06 -0400 Subject: [PATCH] Fix secret lookup links when credentials are copied - When a credential that contains secret lookups (e.g. HashiCorp Vault Secret Lookup) is copied, the lookup fields are not properly copied - This change adds the necessary fields to FIELDS_TO_PRESERVE_AT_COPY for both Credential and CredentialInputSource classes to ensure a proper copy --- awx/main/models/credential/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/awx/main/models/credential/__init__.py b/awx/main/models/credential/__init__.py index ce3295cc69..0e0f50e5b3 100644 --- a/awx/main/models/credential/__init__.py +++ b/awx/main/models/credential/__init__.py @@ -86,6 +86,7 @@ class Credential(PasswordFieldsModel, CommonModelNameNotUnique, ResourceMixin): unique_together = (('organization', 'name', 'credential_type')) PASSWORD_FIELDS = ['inputs'] + FIELDS_TO_PRESERVE_AT_COPY = ['input_sources'] credential_type = models.ForeignKey( 'CredentialType', @@ -1162,6 +1163,8 @@ class CredentialInputSource(PrimordialModel): unique_together = (('target_credential', 'input_field_name'),) ordering = ('target_credential', 'source_credential', 'input_field_name',) + FIELDS_TO_PRESERVE_AT_COPY = ['source_credential', 'metadata', 'input_field_name'] + target_credential = models.ForeignKey( 'Credential', related_name='input_sources',