Просмотр исходного кода

Use stock manager as default for Tag model

Jeremy Stretch 5 лет назад
Родитель
Сommit
a2d957ba0d

+ 1 - 1
netbox/extras/api/views.py

@@ -110,7 +110,7 @@ class ExportTemplateViewSet(ModelViewSet):
 #
 
 class TagViewSet(ModelViewSet):
-    queryset = Tag.objects.annotate(
+    queryset = Tag.restricted_objects.annotate(
         tagged_items=Count('extras_taggeditem_items', distinct=True)
     )
     serializer_class = serializers.TagSerializer

+ 2 - 2
netbox/extras/models/tags.py

@@ -1,5 +1,4 @@
 from django.db import models
-from django.urls import reverse
 from django.utils.text import slugify
 from taggit.models import TagBase, GenericTaggedItemBase
 
@@ -22,7 +21,8 @@ class Tag(TagBase, ChangeLoggedModel):
         blank=True,
     )
 
-    objects = RestrictedQuerySet.as_manager()
+    objects = models.Manager()
+    restricted_objects = RestrictedQuerySet.as_manager()
 
     csv_headers = ['name', 'slug', 'color', 'description']
 

+ 6 - 8
netbox/extras/views.py

@@ -2,12 +2,10 @@ import time
 
 from django import template
 from django.conf import settings
-from django.contrib import messages
 from django.contrib.contenttypes.models import ContentType
 from django.db.models import Count, Prefetch, Q
 from django.http import Http404, HttpResponseForbidden
 from django.shortcuts import get_object_or_404, redirect, render
-from django.utils.safestring import mark_safe
 from django.views.generic import View
 from django_tables2 import RequestConfig
 
@@ -33,7 +31,7 @@ from .scripts import get_scripts, run_script
 #
 
 class TagListView(ObjectListView):
-    queryset = Tag.objects.annotate(
+    queryset = Tag.restricted_objects.annotate(
         items=Count('extras_taggeditem_items', distinct=True)
     ).order_by(
         'name'
@@ -44,23 +42,23 @@ class TagListView(ObjectListView):
 
 
 class TagEditView(ObjectEditView):
-    queryset = Tag.objects.all()
+    queryset = Tag.restricted_objects.all()
     model_form = forms.TagForm
     template_name = 'extras/tag_edit.html'
 
 
 class TagDeleteView(ObjectDeleteView):
-    queryset = Tag.objects.all()
+    queryset = Tag.restricted_objects.all()
 
 
 class TagBulkImportView(BulkImportView):
-    queryset = Tag.objects.all()
+    queryset = Tag.restricted_objects.all()
     model_form = forms.TagCSVForm
     table = tables.TagTable
 
 
 class TagBulkEditView(BulkEditView):
-    queryset = Tag.objects.annotate(
+    queryset = Tag.restricted_objects.annotate(
         items=Count('extras_taggeditem_items', distinct=True)
     ).order_by(
         'name'
@@ -70,7 +68,7 @@ class TagBulkEditView(BulkEditView):
 
 
 class TagBulkDeleteView(BulkDeleteView):
-    queryset = Tag.objects.annotate(
+    queryset = Tag.restricted_objects.annotate(
         items=Count('extras_taggeditem_items')
     ).order_by(
         'name'

+ 1 - 1
netbox/utilities/filters.py

@@ -102,7 +102,7 @@ class TagFilter(django_filters.ModelMultipleChoiceFilter):
         kwargs.setdefault('field_name', 'tags__slug')
         kwargs.setdefault('to_field_name', 'slug')
         kwargs.setdefault('conjoined', True)
-        kwargs.setdefault('queryset', Tag.objects.unrestricted())
+        kwargs.setdefault('queryset', Tag.objects.all())
 
         super().__init__(*args, **kwargs)
 

+ 1 - 1
netbox/utilities/forms.py

@@ -596,7 +596,7 @@ class TagFilterField(forms.MultipleChoiceField):
 
     def __init__(self, model, *args, **kwargs):
         def get_choices():
-            tags = model.tags.all().unrestricted().annotate(
+            tags = model.tags.annotate(
                 count=Count('extras_taggeditem_items')
             ).order_by('name')
             return [

+ 1 - 1
netbox/utilities/utils.py

@@ -217,7 +217,7 @@ def prepare_cloned_fields(instance):
 
     # Copy tags
     if is_taggable(instance):
-        params['tags'] = ','.join([t.name for t in instance.tags.all().unrestricted()])
+        params['tags'] = ','.join([t.name for t in instance.tags.all()])
 
     # Concatenate parameters into a URL query string
     param_string = '&'.join(