diff --git a/atst/models/audit_event.py b/atst/models/audit_event.py index b814bb4a..53b4a45e 100644 --- a/atst/models/audit_event.py +++ b/atst/models/audit_event.py @@ -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 diff --git a/atst/models/user.py b/atst/models/user.py index 1714ba05..8729cba9 100644 --- a/atst/models/user.py +++ b/atst/models/user.py @@ -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 diff --git a/templates/audit_log.html b/templates/audit_log.html index 2ae23517..7010c0ad 100644 --- a/templates/audit_log.html +++ b/templates/audit_log.html @@ -20,7 +20,18 @@
{{ event.resource_id }}
+ {% if event.display_name %}
+ ({{ event.display_name }})
+ {% endif %}
+
+ {{ event.workspace_id }}
({{ event.workspace.name }})
+ {% elif event.request %}
+ on Request {{ event.request_id }}
({{ event.request.displayname }})
+ {% endif %}