mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Tag should use a stock manager by default
This commit is contained in:
@ -108,7 +108,7 @@ class ExportTemplateViewSet(ModelViewSet):
|
||||
#
|
||||
|
||||
class TagViewSet(ModelViewSet):
|
||||
queryset = Tag.objects.annotate(
|
||||
queryset = Tag.restricted.annotate(
|
||||
tagged_items=Count('extras_taggeditem_items', distinct=True)
|
||||
)
|
||||
serializer_class = serializers.TagSerializer
|
||||
|
@ -212,7 +212,7 @@ class ConfigContextFilterSet(BaseFilterSet):
|
||||
)
|
||||
tag = django_filters.ModelMultipleChoiceFilter(
|
||||
field_name='tags__slug',
|
||||
queryset=Tag.objects.unrestricted(),
|
||||
queryset=Tag.objects.all(),
|
||||
to_field_name='slug',
|
||||
label='Tag (slug)',
|
||||
)
|
||||
|
@ -22,7 +22,8 @@ class Tag(TagBase, ChangeLoggedModel):
|
||||
blank=True,
|
||||
)
|
||||
|
||||
objects = RestrictedQuerySet.as_manager()
|
||||
objects = models.Manager()
|
||||
restricted = RestrictedQuerySet.as_manager()
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse('extras:tag', args=[self.slug])
|
||||
|
@ -28,7 +28,7 @@ from .tables import ConfigContextTable, ObjectChangeTable, TagTable, TaggedItemT
|
||||
#
|
||||
|
||||
class TagListView(ObjectListView):
|
||||
queryset = Tag.objects.annotate(
|
||||
queryset = Tag.restricted.annotate(
|
||||
items=Count('extras_taggeditem_items', distinct=True)
|
||||
).order_by(
|
||||
'name'
|
||||
@ -40,7 +40,7 @@ class TagListView(ObjectListView):
|
||||
|
||||
|
||||
class TagView(ObjectView):
|
||||
queryset = Tag.objects.all()
|
||||
queryset = Tag.restricted.all()
|
||||
|
||||
def get(self, request, slug):
|
||||
|
||||
@ -67,19 +67,19 @@ class TagView(ObjectView):
|
||||
|
||||
|
||||
class TagEditView(ObjectEditView):
|
||||
queryset = Tag.objects.all()
|
||||
queryset = Tag.restricted.all()
|
||||
model_form = forms.TagForm
|
||||
default_return_url = 'extras:tag_list'
|
||||
template_name = 'extras/tag_edit.html'
|
||||
|
||||
|
||||
class TagDeleteView(ObjectDeleteView):
|
||||
queryset = Tag.objects.all()
|
||||
queryset = Tag.restricted.all()
|
||||
default_return_url = 'extras:tag_list'
|
||||
|
||||
|
||||
class TagBulkEditView(BulkEditView):
|
||||
queryset = Tag.objects.annotate(
|
||||
queryset = Tag.restricted.annotate(
|
||||
items=Count('extras_taggeditem_items', distinct=True)
|
||||
).order_by(
|
||||
'name'
|
||||
@ -90,7 +90,7 @@ class TagBulkEditView(BulkEditView):
|
||||
|
||||
|
||||
class TagBulkDeleteView(BulkDeleteView):
|
||||
queryset = Tag.objects.annotate(
|
||||
queryset = Tag.restricted.annotate(
|
||||
items=Count('extras_taggeditem_items')
|
||||
).order_by(
|
||||
'name'
|
||||
|
@ -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)
|
||||
|
||||
|
@ -585,7 +585,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 [
|
||||
|
@ -215,7 +215,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(
|
||||
|
Reference in New Issue
Block a user