Move custom audit log logic into the User class

This commit is contained in:
leigh-mil
2019-08-19 09:56:43 -04:00
parent 0d6f7aa3cc
commit 2776926dea
4 changed files with 19 additions and 9 deletions

View File

@@ -54,8 +54,7 @@ class AuditableMixin(object):
@staticmethod
def audit_update(mapper, connection, target):
changes = AuditableMixin.get_changes(target)
if changes and not "last_login" in changes:
if AuditableMixin.get_changes(target):
target.create_audit_event(connection, target, ACTION_UPDATE)
def get_changes(self):

View File

@@ -7,7 +7,11 @@ from atst.models import Base, ApplicationRole, types, mixins
from atst.models.permissions import Permissions
from atst.models.portfolio_invitation import PortfolioInvitation
from atst.models.application_invitation import ApplicationInvitation
from atst.models.mixins.auditable import record_permission_sets_updates
from atst.models.mixins.auditable import (
AuditableMixin,
ACTION_UPDATE,
record_permission_sets_updates,
)
users_permission_sets = Table(
@@ -121,5 +125,11 @@ class User(
if c.name not in ["id"]
}
@staticmethod
def audit_update(mapper, connection, target):
changes = AuditableMixin.get_changes(target)
if changes and not "last_login" in changes:
target.create_audit_event(connection, target, ACTION_UPDATE)
listen(User.permission_sets, "bulk_replace", record_permission_sets_updates, raw=True)