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

This commit is contained in:
Jeremy Stretch 2020-04-07 10:17:34 -04:00
parent 225ba4cc35
commit 902b1b2c32
4 changed files with 19 additions and 29 deletions

View File

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

View File

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

View File

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

View File

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