Fix errors from last commit
This commit is contained in:
parent
3b6d745955
commit
82868728ba
@ -3,8 +3,6 @@ from flask import g
|
||||
from sqlalchemy.orm import class_mapper
|
||||
from sqlalchemy.orm.attributes import get_history
|
||||
|
||||
from atst.database import db
|
||||
from atst.models.workspace_role import WorkspaceRole
|
||||
from atst.models.audit_event import AuditEvent
|
||||
from atst.utils import camel_to_snake, getattr_path
|
||||
|
||||
@ -13,38 +11,6 @@ ACTION_UPDATE = "update"
|
||||
ACTION_DELETE = "delete"
|
||||
|
||||
|
||||
class AuditableWorkspaceRole(AuditableMixin):
|
||||
target = target
|
||||
changed_state = get_changed_state()
|
||||
event_details = get_event_details()
|
||||
|
||||
@classmethod
|
||||
def get_changed_state(self, resource):
|
||||
previous_state = {}
|
||||
inspr = inspect(target)
|
||||
attrs = class_mapper(target.__class__).column_attrs
|
||||
for attr in attrs:
|
||||
history = getattr(inspr.attrs, attr.key).history
|
||||
if history.has_changes():
|
||||
previous_state[attr.key] = get_history(target, attr.key)[2].pop()
|
||||
|
||||
from_role = previous_role["role"]
|
||||
to_role = target.role_displayname
|
||||
return {"role": [from_role, to_role]}
|
||||
|
||||
@classmethod
|
||||
def get_event_details(self):
|
||||
# get user that is being updated
|
||||
# does this need to query the db?
|
||||
ws_role_id = target.auditable_request_id()
|
||||
ws_role = (
|
||||
db.session.query(WorkspaceRole)
|
||||
.filter(WorkspaceRole.id == ws_role_id)
|
||||
.first()
|
||||
)
|
||||
return {"user": ws_role.user_name}
|
||||
|
||||
|
||||
class AuditableMixin(object):
|
||||
@staticmethod
|
||||
def create_audit_event(connection, resource, action):
|
||||
@ -105,7 +71,7 @@ class AuditableMixin(object):
|
||||
return getattr_path(self, "history")
|
||||
|
||||
def auditable_event_details(self):
|
||||
return getattr_path(self, "auditable_event_details")
|
||||
return getattr_path(self, "event_details")
|
||||
|
||||
def auditable_resource_type(self):
|
||||
return camel_to_snake(type(self).__name__)
|
||||
|
@ -10,6 +10,7 @@ from atst.database import db
|
||||
from atst.models.environment_role import EnvironmentRole
|
||||
from atst.models.project import Project
|
||||
from atst.models.environment import Environment
|
||||
from atst.models.role import Role
|
||||
|
||||
|
||||
class Status(Enum):
|
||||
@ -43,14 +44,15 @@ class WorkspaceRole(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
|
||||
|
||||
@property
|
||||
def history(self):
|
||||
previous_state = AuditableMixin.get_history(self)
|
||||
from_role = previous_role["role"]
|
||||
previous_state = mixins.AuditableMixin.get_history(self)
|
||||
from_role_id = previous_state["role_id"]
|
||||
from_role = db.session.query(Role).filter(Role.id == from_role_id).one()
|
||||
to_role = self.role_displayname
|
||||
return {"role": [from_role, to_role]}
|
||||
return {"role": [from_role.display_name, to_role]}
|
||||
|
||||
@property
|
||||
def auditable_event_details(self):
|
||||
return {"updated_user": self.user_name, "updated_user_id" = self.user_id}
|
||||
def event_details(self):
|
||||
return {"updated_user": self.user_name, "updated_user_id": str(self.user_id)}
|
||||
|
||||
@property
|
||||
def latest_invitation(self):
|
||||
|
Loading…
x
Reference in New Issue
Block a user