Merge pull request #357 from dod-ccpo/audit-log-extra-info
Display user name and workspace name in audit log
This commit is contained in:
commit
8db53f5985
@ -18,44 +18,13 @@ class AuditEvent(Base, TimestampsMixin):
|
||||
workspace = relationship("Workspace", backref="audit_events")
|
||||
|
||||
request_id = Column(UUID(as_uuid=True), ForeignKey("requests.id"), index=True)
|
||||
request = relationship("Request", backref="audit_events")
|
||||
|
||||
resource_type = Column(String(), nullable=False)
|
||||
resource_id = Column(UUID(as_uuid=True), index=True, nullable=False)
|
||||
display_name = Column(String())
|
||||
action = Column(String(), nullable=False)
|
||||
|
||||
def __str__(self):
|
||||
|
||||
user_str = (
|
||||
"{} performed".format(self.user.full_name) if self.user else "ATAT System"
|
||||
)
|
||||
action_str = "{} on {} {}".format(
|
||||
self.action, self.resource_type, self.resource_id
|
||||
)
|
||||
display_name_str = "({})".format(self.display_name) if self.display_name else ""
|
||||
|
||||
scope_str = ""
|
||||
if self.request_id and self.resource_type != "request":
|
||||
scope_str = "for request {}".format(self.request_id)
|
||||
elif self.workspace_id and self.resource_type != "workspace":
|
||||
scope_str = "in workspace {}".format(self.workspace_id)
|
||||
|
||||
return " ".join([user_str, action_str, display_name_str, scope_str])
|
||||
|
||||
@property
|
||||
def activity_description(self):
|
||||
action_str = "{} on {} {}".format(
|
||||
self.action, self.resource_type, self.resource_id
|
||||
)
|
||||
display_name_str = "({})".format(self.display_name) if self.display_name else ""
|
||||
scope_str = ""
|
||||
if self.request_id and self.resource_type != "request":
|
||||
scope_str = "for request {}".format(self.request_id)
|
||||
elif self.workspace_id and self.resource_type != "workspace":
|
||||
scope_str = "in workspace {}".format(self.workspace_id)
|
||||
|
||||
return " ".join([action_str, display_name_str, scope_str])
|
||||
|
||||
def save(self, connection):
|
||||
attrs = inspect(self).dict
|
||||
|
||||
|
@ -38,3 +38,7 @@ class User(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
|
||||
return (
|
||||
Permissions.VIEW_WORKSPACE in self.atat_role.permissions
|
||||
) or self.workspace_roles
|
||||
|
||||
@property
|
||||
def displayname(self):
|
||||
return self.full_name
|
||||
|
@ -20,7 +20,18 @@
|
||||
<h2 class='h4 audit-log__item__name'>
|
||||
{{ event.user.full_name if event.user else "ATAT System" }}
|
||||
</h2>
|
||||
{{ event.activity_description }}
|
||||
{{ event.action }} {{ event.resource_type }} <code>{{ event.resource_id }}</code>
|
||||
{% if event.display_name %}
|
||||
({{ event.display_name }})
|
||||
{% endif %}
|
||||
|
||||
<br>
|
||||
|
||||
{% if event.workspace %}
|
||||
in Workspace <code>{{ event.workspace_id }}</code> ({{ event.workspace.name }})
|
||||
{% elif event.request %}
|
||||
on Request <code>{{ event.request_id }}</code> ({{ event.request.displayname }})
|
||||
{% endif %}
|
||||
</div>
|
||||
</article>
|
||||
</li>
|
||||
|
Loading…
x
Reference in New Issue
Block a user