diff --git a/app/admin_model.py b/app/admin_model.py index 9994acdf..a134c4b7 100644 --- a/app/admin_model.py +++ b/app/admin_model.py @@ -314,3 +314,11 @@ class PayoutAdmin(SLModelView): can_edit = True can_create = True can_delete = True + + +class AdminAuditLogAdmin(SLModelView): + column_searchable_list = ["admin_user_id"] + column_filters = ["admin_user_id"] + can_edit = False + can_create = False + can_delete = False diff --git a/app/models.py b/app/models.py index 3a52115a..9bce6f57 100644 --- a/app/models.py +++ b/app/models.py @@ -2881,8 +2881,8 @@ class AdminAuditLog(Base): admin_user_id = sa.Column(sa.ForeignKey(User.id), nullable=False) action = sa.Column(sa.Integer, nullable=False) model = sa.Column(sa.Text, nullable=False) - model_id = sa.Column(sa.Integer, nullable=False) - data = sa.Column(sa.JSON, nullable=False) + model_id = sa.Column(sa.Integer, nullable=True) + data = sa.Column(sa.JSON, nullable=True) ACTION_CREATE_OBJECT = 1 ACTION_UPDATE_OBJECT = 2 diff --git a/migrations/versions/2022_031015_b500363567e3_create_admin_audit_log.py b/migrations/versions/2022_031015_b500363567e3_create_admin_audit_log.py index d160adc7..873fb3e1 100644 --- a/migrations/versions/2022_031015_b500363567e3_create_admin_audit_log.py +++ b/migrations/versions/2022_031015_b500363567e3_create_admin_audit_log.py @@ -25,7 +25,7 @@ def upgrade(): sa.Column("admin_user_id", sa.Integer, nullable=False), sa.Column("action", sa.Integer, nullable=False), sa.Column("model", sa.String(length=256), nullable=False), - sa.Column("model_id", sa.Integer, nullable=False), + sa.Column("model_id", sa.Integer, nullable=True), sa.Column("data", postgresql.JSONB(astext_type=sa.Text()), nullable=False), sa.ForeignKeyConstraint(['admin_user_id'], ['users.id'], ondelete='cascade'), sa.PrimaryKeyConstraint("id"), diff --git a/server.py b/server.py index 3128ff2a..775427ec 100644 --- a/server.py +++ b/server.py @@ -40,6 +40,7 @@ from app.admin_model import ( PayoutAdmin, CouponAdmin, CustomDomainAdmin, + AdminAuditLogAdmin, ) from app.api.base import api_bp from app.auth.base import auth_bp @@ -96,6 +97,7 @@ from app.models import ( ManualSubscription, Payout, Coupon, + AdminAuditLog, ) from app.monitor.base import monitor_bp from app.oauth.base import oauth_bp @@ -700,6 +702,7 @@ def init_admin(app): admin.add_view(CustomDomainAdmin(CustomDomain, Session)) admin.add_view(ReferralAdmin(Referral, Session)) admin.add_view(PayoutAdmin(Payout, Session)) + admin.add_view(AdminAuditLogAdmin(AdminAuditLog, Session)) def register_custom_commands(app):