From dd52e2be30df76499d6edb83453107fc70ab3efd Mon Sep 17 00:00:00 2001 From: Wayne Witzel III Date: Tue, 2 May 2017 22:30:12 -0400 Subject: [PATCH] Add migration and restore Credential logic --- awx/main/migrations/0038_v320_release.py | 65 ++++++++++++++++++++++++ awx/main/models/credential.py | 5 +- 2 files changed, 67 insertions(+), 3 deletions(-) diff --git a/awx/main/migrations/0038_v320_release.py b/awx/main/migrations/0038_v320_release.py index dfbdc83697..518b8ada4a 100644 --- a/awx/main/migrations/0038_v320_release.py +++ b/awx/main/migrations/0038_v320_release.py @@ -159,4 +159,69 @@ class Migration(migrations.Migration): name='allow_simultaneous', field=models.BooleanField(default=False), ), + + # Permission and Deprecated Field Removal + migrations.RemoveField( + model_name='permission', + name='created_by', + ), + migrations.RemoveField( + model_name='permission', + name='inventory', + ), + migrations.RemoveField( + model_name='permission', + name='modified_by', + ), + migrations.RemoveField( + model_name='permission', + name='project', + ), + migrations.RemoveField( + model_name='permission', + name='tags', + ), + migrations.RemoveField( + model_name='permission', + name='team', + ), + migrations.RemoveField( + model_name='permission', + name='user', + ), + migrations.RemoveField( + model_name='activitystream', + name='permission', + ), + migrations.RemoveField( + model_name='credential', + name='deprecated_team', + ), + migrations.RemoveField( + model_name='credential', + name='deprecated_user', + ), + migrations.RemoveField( + model_name='organization', + name='deprecated_admins', + ), + migrations.RemoveField( + model_name='organization', + name='deprecated_projects', + ), + migrations.RemoveField( + model_name='organization', + name='deprecated_users', + ), + migrations.RemoveField( + model_name='team', + name='deprecated_projects', + ), + migrations.RemoveField( + model_name='team', + name='deprecated_users', + ), + migrations.DeleteModel( + name='Permission', + ), ] diff --git a/awx/main/models/credential.py b/awx/main/models/credential.py index 32a0da5abe..7409059251 100644 --- a/awx/main/models/credential.py +++ b/awx/main/models/credential.py @@ -379,12 +379,11 @@ class Credential(PasswordFieldsModel, CommonModelNameNotUnique, ResourceMixin): return field in self.credential_type.askable_fields def save(self, *args, **kwargs): - inputs_before = {} - # If update_fields has been specified, add our field names to it, - # if hit hasn't been specified, then we're just doing a normal save. self.PASSWORD_FIELDS = self.credential_type.secret_fields if self.pk: + cred_before = Credential.objects.get(pk=self.pk) + inputs_before = cred_before.inputs # Look up the currently persisted value so that we can replace # $encrypted$ with the actual DB-backed value for field in self.PASSWORD_FIELDS: