Fix ordering for Tags

This commit is contained in:
Jeremy Stretch 2020-07-23 14:23:50 -04:00
parent 37706f1c87
commit 9bcfefa31e
4 changed files with 28 additions and 14 deletions

View File

@ -116,9 +116,9 @@ class ExportTemplateViewSet(ModelViewSet):
# #
class TagViewSet(ModelViewSet): class TagViewSet(ModelViewSet):
queryset = Tag.restricted_objects.annotate( queryset = Tag.objects.annotate(
tagged_items=Count('extras_taggeditem_items', distinct=True) tagged_items=Count('extras_taggeditem_items')
) ).order_by(*Tag._meta.ordering)
serializer_class = serializers.TagSerializer serializer_class = serializers.TagSerializer
filterset_class = filters.TagFilterSet filterset_class = filters.TagFilterSet

View File

@ -0,0 +1,17 @@
# Generated by Django 3.1rc1 on 2020-07-23 18:22
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('extras', '0046_update_jsonfield'),
]
operations = [
migrations.AlterModelOptions(
name='tag',
options={'ordering': ['name']},
),
]

View File

@ -25,6 +25,9 @@ class Tag(TagBase, ChangeLoggedModel):
csv_headers = ['name', 'slug', 'color', 'description'] csv_headers = ['name', 'slug', 'color', 'description']
class Meta:
ordering = ['name']
def slugify(self, tag, i=None): def slugify(self, tag, i=None):
# Allow Unicode in Tag slugs (avoids empty slugs for Tags with all-Unicode names) # Allow Unicode in Tag slugs (avoids empty slugs for Tags with all-Unicode names)
slug = slugify(tag, allow_unicode=True) slug = slugify(tag, allow_unicode=True)

View File

@ -33,10 +33,8 @@ from .scripts import get_scripts, run_script
class TagListView(ObjectListView): class TagListView(ObjectListView):
queryset = Tag.objects.annotate( queryset = Tag.objects.annotate(
items=Count('extras_taggeditem_items', distinct=True) items=Count('extras_taggeditem_items')
).order_by( ).order_by(*Tag._meta.ordering)
'name'
)
filterset = filters.TagFilterSet filterset = filters.TagFilterSet
filterset_form = forms.TagFilterForm filterset_form = forms.TagFilterForm
table = tables.TagTable table = tables.TagTable
@ -60,10 +58,8 @@ class TagBulkImportView(BulkImportView):
class TagBulkEditView(BulkEditView): class TagBulkEditView(BulkEditView):
queryset = Tag.objects.annotate( queryset = Tag.objects.annotate(
items=Count('extras_taggeditem_items', distinct=True) items=Count('extras_taggeditem_items')
).order_by( ).order_by(*Tag._meta.ordering)
'name'
)
table = tables.TagTable table = tables.TagTable
form = forms.TagBulkEditForm form = forms.TagBulkEditForm
@ -71,9 +67,7 @@ class TagBulkEditView(BulkEditView):
class TagBulkDeleteView(BulkDeleteView): class TagBulkDeleteView(BulkDeleteView):
queryset = Tag.objects.annotate( queryset = Tag.objects.annotate(
items=Count('extras_taggeditem_items') items=Count('extras_taggeditem_items')
).order_by( ).order_by(*Tag._meta.ordering)
'name'
)
table = tables.TagTable table = tables.TagTable