diff --git a/awx/main/models/base.py b/awx/main/models/base.py index 3acf82e820..a58cdca78e 100644 --- a/awx/main/models/base.py +++ b/awx/main/models/base.py @@ -292,7 +292,7 @@ class PrimordialModel(CreatedModifiedModel): user = get_current_user() if user and not user.pk: user = None - if not self.pk: + if not self.pk and not self.created_by: self.created_by = user if 'created_by' not in update_fields: update_fields.append('created_by') diff --git a/awx/main/tests/projects.py b/awx/main/tests/projects.py index b6c83694fb..90e7dc6fff 100644 --- a/awx/main/tests/projects.py +++ b/awx/main/tests/projects.py @@ -478,14 +478,14 @@ class ProjectsTest(BaseTest): # can add credentials to a user (if user or org admin or super user) self.post(other_creds, data=new_credentials, expect=401) self.post(other_creds, data=new_credentials, expect=401, auth=self.get_invalid_credentials()) - self.post(other_creds, data=new_credentials, expect=201, auth=self.get_super_credentials()) + result = self.post(other_creds, data=new_credentials, expect=201, auth=self.get_super_credentials()) + cred_user = result['id'] new_credentials['name'] = 'credential2' self.post(other_creds, data=new_credentials, expect=201, auth=self.get_normal_credentials()) new_credentials['name'] = 'credential3' result = self.post(other_creds, data=new_credentials, expect=201, auth=self.get_other_credentials()) new_credentials['name'] = 'credential4' self.post(other_creds, data=new_credentials, expect=403, auth=self.get_nobody_credentials()) - cred_user = result['id'] # can add credentials to a team new_credentials['name'] = 'credential'