diff --git a/app_gateway/admin.py b/app_gateway/admin.py index 846f6b4..8b3a259 100644 --- a/app_gateway/admin.py +++ b/app_gateway/admin.py @@ -1 +1,50 @@ -# Register your models here. +from django.contrib import admin + +from app_gateway.models import ( + AccessPolicy, Application, ApplicationHost, + ApplicationPolicy, ApplicationRoute, +) + + +class ApplicationHostInline(admin.TabularInline): + model = ApplicationHost + extra = 0 + + +class ApplicationAdmin(admin.ModelAdmin): + list_display = ('name', 'display_name', 'upstream', 'allow_invalid_cert', 'created', 'updated') + search_fields = ('name', 'display_name', 'upstream') + inlines = [ApplicationHostInline] + +admin.site.register(Application, ApplicationAdmin) + + +class ApplicationHostAdmin(admin.ModelAdmin): + list_display = ('hostname', 'application', 'created', 'updated') + search_fields = ('hostname', 'application__name', 'application__display_name') + +admin.site.register(ApplicationHost, ApplicationHostAdmin) + + +class AccessPolicyAdmin(admin.ModelAdmin): + list_display = ('name', 'display_name', 'policy_type', 'created', 'updated') + search_fields = ('name', 'display_name') + list_filter = ('policy_type',) + filter_horizontal = ('groups', 'methods') + +admin.site.register(AccessPolicy, AccessPolicyAdmin) + + +class ApplicationPolicyAdmin(admin.ModelAdmin): + list_display = ('application', 'default_policy', 'created', 'updated') + search_fields = ('application__name', 'application__display_name', 'default_policy__name') + +admin.site.register(ApplicationPolicy, ApplicationPolicyAdmin) + + +class ApplicationRouteAdmin(admin.ModelAdmin): + list_display = ('name', 'display_name', 'application', 'path_prefix', 'policy', 'order', 'created', 'updated') + search_fields = ('name', 'display_name', 'path_prefix', 'application__name', 'application__display_name') + list_filter = ('application',) + +admin.site.register(ApplicationRoute, ApplicationRouteAdmin) diff --git a/gatekeeper/admin.py b/gatekeeper/admin.py index 846f6b4..7c4b58e 100644 --- a/gatekeeper/admin.py +++ b/gatekeeper/admin.py @@ -1 +1,51 @@ -# Register your models here. +from django.contrib import admin + +from gatekeeper.models import ( + AuthMethod, AuthMethodAllowedDomain, AuthMethodAllowedEmail, + GatekeeperGroup, GatekeeperIPAddress, GatekeeperUser, +) + + +class AuthMethodAdmin(admin.ModelAdmin): + list_display = ('name', 'display_name', 'auth_type', 'session_expiration_minutes', 'created', 'updated') + search_fields = ('name', 'display_name', 'auth_type') + list_filter = ('auth_type',) + +admin.site.register(AuthMethod, AuthMethodAdmin) + + +class AuthMethodAllowedDomainAdmin(admin.ModelAdmin): + list_display = ('domain', 'auth_method', 'created', 'updated') + search_fields = ('domain', 'auth_method__name', 'auth_method__display_name') + +admin.site.register(AuthMethodAllowedDomain, AuthMethodAllowedDomainAdmin) + + +class AuthMethodAllowedEmailAdmin(admin.ModelAdmin): + list_display = ('email', 'auth_method', 'created', 'updated') + search_fields = ('email', 'auth_method__name', 'auth_method__display_name') + +admin.site.register(AuthMethodAllowedEmail, AuthMethodAllowedEmailAdmin) + + +class GatekeeperUserAdmin(admin.ModelAdmin): + list_display = ('username', 'email', 'created', 'updated') + search_fields = ('username', 'email') + +admin.site.register(GatekeeperUser, GatekeeperUserAdmin) + + +class GatekeeperGroupAdmin(admin.ModelAdmin): + list_display = ('name', 'display_name', 'created', 'updated') + search_fields = ('name', 'display_name') + filter_horizontal = ('users',) + +admin.site.register(GatekeeperGroup, GatekeeperGroupAdmin) + + +class GatekeeperIPAddressAdmin(admin.ModelAdmin): + list_display = ('address', 'prefix_length', 'action', 'auth_method', 'description', 'created', 'updated') + search_fields = ('address', 'description', 'auth_method__name', 'auth_method__display_name') + list_filter = ('action',) + +admin.site.register(GatekeeperIPAddress, GatekeeperIPAddressAdmin)