Browse Source

Fixes #4458: Remove custom admin site to avoid conflict with django-rq 2.3.0

Jeremy Stretch 5 years ago
parent
commit
902b1b2c32
4 changed files with 19 additions and 29 deletions
  1. 6 7
      netbox/extras/admin.py
  2. 9 16
      netbox/netbox/admin.py
  3. 1 2
      netbox/secrets/admin.py
  4. 3 4
      netbox/users/admin.py

+ 6 - 7
netbox/extras/admin.py

@@ -1,7 +1,6 @@
 from django import forms
 from django.contrib import admin
 
-from netbox.admin import admin_site
 from utilities.forms import LaxURLField
 from .models import CustomField, CustomFieldChoice, CustomLink, Graph, ExportTemplate, ReportResult, Webhook
 from .reports import get_report
@@ -35,7 +34,7 @@ class WebhookForm(forms.ModelForm):
             order_content_types(self.fields['obj_type'])
 
 
-@admin.register(Webhook, site=admin_site)
+@admin.register(Webhook)
 class WebhookAdmin(admin.ModelAdmin):
     list_display = [
         'name', 'models', 'payload_url', 'http_content_type', 'enabled', 'type_create', 'type_update', 'type_delete',
@@ -93,7 +92,7 @@ class CustomFieldChoiceAdmin(admin.TabularInline):
     extra = 5
 
 
-@admin.register(CustomField, site=admin_site)
+@admin.register(CustomField)
 class CustomFieldAdmin(admin.ModelAdmin):
     inlines = [CustomFieldChoiceAdmin]
     list_display = [
@@ -135,7 +134,7 @@ class CustomLinkForm(forms.ModelForm):
         self.fields['content_type'].choices.insert(0, ('', '---------'))
 
 
-@admin.register(CustomLink, site=admin_site)
+@admin.register(CustomLink)
 class CustomLinkAdmin(admin.ModelAdmin):
     list_display = [
         'name', 'content_type', 'group_name', 'weight',
@@ -150,7 +149,7 @@ class CustomLinkAdmin(admin.ModelAdmin):
 # Graphs
 #
 
-@admin.register(Graph, site=admin_site)
+@admin.register(Graph)
 class GraphAdmin(admin.ModelAdmin):
     list_display = [
         'name', 'type', 'weight', 'template_language', 'source',
@@ -178,7 +177,7 @@ class ExportTemplateForm(forms.ModelForm):
         self.fields['content_type'].choices.insert(0, ('', '---------'))
 
 
-@admin.register(ExportTemplate, site=admin_site)
+@admin.register(ExportTemplate)
 class ExportTemplateAdmin(admin.ModelAdmin):
     list_display = [
         'name', 'content_type', 'description', 'mime_type', 'file_extension',
@@ -193,7 +192,7 @@ class ExportTemplateAdmin(admin.ModelAdmin):
 # Reports
 #
 
-@admin.register(ReportResult, site=admin_site)
+@admin.register(ReportResult)
 class ReportResultAdmin(admin.ModelAdmin):
     list_display = [
         'report', 'active', 'created', 'user', 'passing',

+ 9 - 16
netbox/netbox/admin.py

@@ -1,20 +1,13 @@
 from django.conf import settings
-from django.contrib.admin import AdminSite
-from django.contrib.auth.admin import GroupAdmin, UserAdmin
-from django.contrib.auth.models import Group, User
+from django.contrib.admin import site as admin_site
+from taggit.models import Tag
 
 
-class NetBoxAdminSite(AdminSite):
-    """
-    Custom admin site
-    """
-    site_header = 'NetBox Administration'
-    site_title = 'NetBox'
-    site_url = '/{}'.format(settings.BASE_PATH)
+# Override default AdminSite attributes so we can avoid creating and
+# registering our own class
+admin_site.site_header = 'NetBox Administration'
+admin_site.site_title = 'NetBox'
+admin_site.site_url = '/{}'.format(settings.BASE_PATH)
 
-
-admin_site = NetBoxAdminSite(name='admin')
-
-# Register external models
-admin_site.register(Group, GroupAdmin)
-admin_site.register(User, UserAdmin)
+# Unregister the unused stock Tag model provided by django-taggit
+admin_site.unregister(Tag)

+ 1 - 2
netbox/secrets/admin.py

@@ -1,12 +1,11 @@
 from django.contrib import admin, messages
 from django.shortcuts import redirect, render
 
-from netbox.admin import admin_site
 from .forms import ActivateUserKeyForm
 from .models import UserKey
 
 
-@admin.register(UserKey, site=admin_site)
+@admin.register(UserKey)
 class UserKeyAdmin(admin.ModelAdmin):
     actions = ['activate_selected']
     list_display = ['user', 'is_filled', 'is_active', 'created']

+ 3 - 4
netbox/users/admin.py

@@ -3,14 +3,13 @@ from django.contrib import admin
 from django.contrib.auth.admin import UserAdmin as UserAdmin_
 from django.contrib.auth.models import User
 
-from netbox.admin import admin_site
 from .models import Token
 
 # Unregister the built-in UserAdmin so that we can use our custom admin view below
-admin_site.unregister(User)
+admin.site.unregister(User)
 
 
-@admin.register(User, site=admin_site)
+@admin.register(User)
 class UserAdmin(UserAdmin_):
     list_display = [
         'username', 'email', 'first_name', 'last_name', 'is_superuser', 'is_staff', 'is_active'
@@ -30,7 +29,7 @@ class TokenAdminForm(forms.ModelForm):
         model = Token
 
 
-@admin.register(Token, site=admin_site)
+@admin.register(Token)
 class TokenAdmin(admin.ModelAdmin):
     form = TokenAdminForm
     list_display = [