mirror of
https://github.com/ansible/awx.git
synced 2024-10-31 23:51:09 +03:00
fix a few activity stream bugs related to setting creation/update
* when a setting is created, only create *one* activity stream record for the creation, not one for create and another for update (similar to https://github.com/ansible/tower/pull/53) * add code to hide `$encrypted$` activity stream content see: https://github.com/ansible/ansible-tower/issues/7320
This commit is contained in:
parent
c8b0142929
commit
60da24d82f
@ -65,8 +65,10 @@ class Setting(CreatedModifiedModel):
|
||||
# After saving a new instance for the first time, set the encrypted
|
||||
# field and save again.
|
||||
if encrypted and new_instance:
|
||||
self.value = self._saved_value
|
||||
self.save(update_fields=['value'])
|
||||
from awx.main.signals import disable_activity_stream
|
||||
with disable_activity_stream():
|
||||
self.value = self._saved_value
|
||||
self.save(update_fields=['value'])
|
||||
|
||||
@classmethod
|
||||
def get_cache_key(self, key):
|
||||
|
@ -16,6 +16,7 @@ import urlparse
|
||||
import threading
|
||||
import contextlib
|
||||
import tempfile
|
||||
import six
|
||||
|
||||
# Decorator
|
||||
from decorator import decorator
|
||||
@ -325,7 +326,10 @@ def _convert_model_field_for_display(obj, field_name, password_fields=None):
|
||||
return '<missing {}>-{}'.format(obj._meta.verbose_name, getattr(obj, '{}_id'.format(field_name)))
|
||||
if password_fields is None:
|
||||
password_fields = set(getattr(type(obj), 'PASSWORD_FIELDS', [])) | set(['password'])
|
||||
if field_name in password_fields:
|
||||
if field_name in password_fields or (
|
||||
isinstance(field_val, six.string_types) and
|
||||
field_val.startswith('$encrypted$')
|
||||
):
|
||||
return u'hidden'
|
||||
if hasattr(obj, 'display_%s' % field_name):
|
||||
field_val = getattr(obj, 'display_%s' % field_name)()
|
||||
|
Loading…
Reference in New Issue
Block a user