feat: hide legacy licensing admin models

This commit is contained in:
QiuSW
2026-07-21 18:08:19 +08:00
parent 7bd4f3f125
commit 3130da6929
6 changed files with 56 additions and 6 deletions
+11 -4
View File
@@ -334,8 +334,15 @@ class ReadOnlyLicenseAdmin(admin.ModelAdmin):
return False
class HiddenLegacyLicenseAdmin(ReadOnlyLicenseAdmin):
"""Keep legacy records addressable without advertising them in admin."""
def get_model_perms(self, request):
return {}
@admin.register(LicenseSeat)
class LicenseSeatAdmin(ReadOnlyLicenseAdmin):
class LicenseSeatAdmin(HiddenLegacyLicenseAdmin):
list_display = ("entitlement", "seat_number", "device", "bound_at", "released_at")
list_filter = ("entitlement__product_code", "bound_at", "released_at")
search_fields = (
@@ -363,7 +370,7 @@ class LegacyMigrationGrantForm(EntitlementGrantForm):
@admin.register(LegacyMigrationGrant)
class LegacyMigrationGrantAdmin(ReadOnlyLicenseAdmin):
class LegacyMigrationGrantAdmin(HiddenLegacyLicenseAdmin):
list_display = ("user", "product_code", "entitlement", "status", "actor", "created_at")
list_filter = ("product_code", "status", "created_at")
search_fields = ("user__username", "user__email", "reason")
@@ -410,7 +417,7 @@ class LegacyMigrationGrantAdmin(ReadOnlyLicenseAdmin):
@admin.register(MigrationRequest)
class MigrationRequestAdmin(ReadOnlyLicenseAdmin):
class MigrationRequestAdmin(HiddenLegacyLicenseAdmin):
list_display = ("request_id", "user", "device", "migration_grant", "status", "expires_at", "confirmed_at")
list_filter = ("status", "device__product_code", "expires_at")
search_fields = ("=request_id", "user__username", "user__email")
@@ -418,7 +425,7 @@ class MigrationRequestAdmin(ReadOnlyLicenseAdmin):
@admin.register(DeviceCredential)
class DeviceCredentialAdmin(ReadOnlyLicenseAdmin):
class DeviceCredentialAdmin(HiddenLegacyLicenseAdmin):
list_display = ("token_prefix", "user", "product_code", "device", "entitlement", "expires_at", "revoked_at")
list_filter = ("product_code", "revoked_at", "expires_at")
search_fields = ("token_prefix", "user__username", "user__email")