admin.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from django import forms
  2. from django.contrib import admin
  3. from django.contrib.auth.admin import UserAdmin as UserAdmin_
  4. from django.contrib.auth.models import User
  5. from netbox.admin import admin_site
  6. from .models import Token
  7. # Unregister the built-in UserAdmin so that we can use our custom admin view below
  8. admin_site.unregister(User)
  9. @admin.register(User, site=admin_site)
  10. class UserAdmin(UserAdmin_):
  11. list_display = [
  12. 'username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active'
  13. ]
  14. class TokenAdminForm(forms.ModelForm):
  15. key = forms.CharField(
  16. required=False,
  17. help_text="If no key is provided, one will be generated automatically."
  18. )
  19. class Meta:
  20. fields = [
  21. 'user', 'key', 'write_enabled', 'expires', 'description'
  22. ]
  23. model = Token
  24. @admin.register(Token, site=admin_site)
  25. class TokenAdmin(admin.ModelAdmin):
  26. form = TokenAdminForm
  27. list_display = [
  28. 'key', 'user', 'created', 'expires', 'write_enabled', 'description'
  29. ]